Documentation
¶
Index ¶
- Variables
- func NewAppStatusFromExport(app *ExportAppStruct) *dbmodel.AppStatus
- func NewAppStatusFromImport(app *ImportAppStruct) *dbmodel.AppStatus
- type APIManager
- type AddDependencyStruct
- type AddEndpiontsReq
- type AddEnvStruct
- type AddHTTPRuleStruct
- type AddNodeLabelStruct
- type AddOrUpdRuleConfigReq
- type AddProbeStruct
- type AddRuleConfigReq
- type AddServiceLabelStruct
- type AddServicePort
- type AddTCPRuleStruct
- type AddTenantServiceEnvVar
- type AddTenantStruct
- type AddVolumeDependencyStruct
- type AddVolumeStruct
- type Addition
- type AllPluginBuildVersionStruct
- type Attr
- type AutoscalerRuleReq
- type AutoscalerRuleResp
- type BaseEnv
- type BasePort
- type BaseService
- type BeatchOperationRequestStruct
- type Body
- type BuildCodeInfo
- type BuildImageInfo
- type BuildInfoRequestStruct
- type BuildListRespVO
- type BuildPluginStruct
- type BuildServiceStruct
- type BuildSlugInfo
- type BuildVersion
- type CheckCodeStruct
- type CommandResponse
- type ComposerStruct
- type ConfigEnvs
- type CreatePluginStruct
- type CreateServiceStruct
- type DataLog
- type DelEndpiontsReq
- type DelRuleConfigReq
- type DelTenantServiceEnvVar
- type DeleteDefineSourcesStruct
- type DeleteENVstruct
- type DeleteHTTPRuleStruct
- type DeletePluginSetStruct
- type DeletePluginStruct
- type DeleteProbeStruct
- type DeleteServicePort
- type DeleteTCPRuleStruct
- type DeleteVolumeDependencyStruct
- type DeleteVolumeStruct
- type DependService
- type ENVStruct
- type EndpointResp
- type Endpoints
- type EtcdCleanReq
- type ExportAppStruct
- type GetNetDownStreamRuleStruct
- type GetPluginEnvStruct
- type GetPluginSetStruct
- type GetPluginsStruct
- type GetServiceCheckInfoStruct
- type GetSingleServiceInfoStruct
- type GetSupportProtocols
- type GetTokenInfo
- type GetUserToken
- type GetVersionEnvStruct
- type HeaderRules
- type HistoryLogFile
- type HorizontalServiceStruct
- type ImageShare
- type ImportAppStruct
- type Item
- type LabelStruct
- type Labels
- type LabelsStruct
- type LanguageSet
- type LastLinesStruct
- type LicenseInfo
- type LogByLevelStruct
- type LogData
- type LogFileStruct
- type LogSocketStruct
- type Login
- type MQBody
- type MessageData
- type Model
- type MontiorData
- type MsgStruct
- type NetDownStreamRules
- type NetRulesDownStreamBody
- type NetUpStreamRules
- type PagedTenantResList
- type PluginBuildVersionStruct
- type PluginDefaultENV
- type PluginSetStruct
- type PodContainer
- type PodDetail
- type PodEvent
- type PodStatus
- type PodsList
- type PodsStructStruct
- type PublicShare
- type ResourceSpec
- type RestoreDep
- type RestoreDepVol
- type RestoreDepVolsReq
- type RestoreDepsReq
- type RestoreEnv
- type RestoreEnvsReq
- type RestorePlugin
- type RestorePluginsReq
- type RestorePort
- type RestorePortsReq
- type RestoreVolume
- type RestoreVolumesReq
- type Rewrite
- type RollBackStruct
- type RollbackInfoRequestStruct
- type RollbackStruct
- type RuleConfigReq
- type RuleExtensionStruct
- type ServiceCheckStruct
- type ServiceGetCommon
- type ServiceImage
- type ServiceLBPortChange
- type ServicePortInnerOrOuter
- type ServicePorts
- type ServiceProbe
- type ServiceShare
- type ServiceSlug
- type ServiceStruct
- type ServicesInfoStruct
- type ServicesResources
- type SetDefineSourcesStruct
- type SetHeader
- type SetLanguageStruct
- type SetNetDownStreamRuleStruct
- type SetVersionEnv
- type ShareConfItems
- type SlugShare
- type SourceSpec
- type SoureBody
- type StartOrStopInfoRequestStruct
- type StartServiceStruct
- type StartStopStruct
- type StatsInfo
- type StatusList
- type StatusServiceListStruct
- type StatusServiceStruct
- type TenantAndResource
- type TenantList
- type TenantLogByLevelStruct
- type TenantResList
- type TenantResource
- type TenantResources
- type TenantServiceVolume
- type TenantServiceVolumeStruct
- type TenantServicesPort
- type ThridPartyServiceProbe
- type TokenInfo
- type TotalStatsInfo
- type TransPlugins
- type UpdCertificateReq
- type UpdEndpiontsReq
- type UpdRuleConfigReq
- type UpdVolumeReq
- type UpdateDefineSourcesStruct
- type UpdateHTTPRuleStruct
- type UpdateNetDownStreamRuleStruct
- type UpdatePluginStruct
- type UpdateServiceStruct
- type UpdateTCPRuleStruct
- type UpdateTenantStruct
- type UpdateToken
- type UpgradeInfoRequestStruct
- type UpgradeServiceStruct
- type V1BuildServiceStruct
- type V2AddVolumeDependencyStruct
- type V2AddVolumeStruct
- type V2DelVolumeDependencyStruct
- type V2DelVolumeStruct
- type VersionEnv
- type VerticalServiceStruct
- type VolumeTypePageStruct
- type VolumeTypeStruct
- type VolumeWithStatusResp
- type VolumeWithStatusStruct
Constants ¶
This section is empty.
Variables ¶
var FromCodeBuildKing = "build_from_source_code"
FromCodeBuildKing build from code
var FromImageBuildKing = "build_from_image"
FromImageBuildKing build from image
var FromMarketImageBuildKing = "build_from_market_image"
FromMarketImageBuildKing build from market image
var FromMarketSlugBuildKing = "build_from_market_slug"
FromMarketSlugBuildKing build from market slug
Functions ¶
func NewAppStatusFromExport ¶
func NewAppStatusFromExport(app *ExportAppStruct) *dbmodel.AppStatus
NewAppStatusFromExport -
func NewAppStatusFromImport ¶
func NewAppStatusFromImport(app *ImportAppStruct) *dbmodel.AppStatus
NewAppStatusFromImport -
Types ¶
type APIManager ¶
type APIManager struct {
//in: body
Body struct {
//api级别
//in: body
//required: true
ClassLevel string `json:"class_level" validate:"class_level|reqired"`
//uri前部
//in: body
//required: true
Prefix string `json:"prefix" validate:"prefix|required"`
//完整uri
//in: body
//required: false
URI string `json:"uri" validate:"uri"`
//别称
//in: body
//required: false
Alias string `json:"alias" validate:"alias"`
//补充信息
//in:body
//required: false
Remark string `json:"remark" validate:"remark"`
}
}
APIManager APIManager
type AddDependencyStruct ¶
type AddDependencyStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 被依赖的应用id
// in: body
// required: true
DepServiceID string `json:"dep_service_id"`
// 被依赖的应用类型,添加时需要传值, 删除时不需要传值
// in: body
// required: false
DepServiceType string `json:"dep_service_type"`
// 不明,默认传 1, 可以不传
// in: body
// required: false
DepOrder string `json:"dep_order"`
}
}
AddDependencyStruct AddDependencyStruct
type AddEndpiontsReq ¶
type AddEndpiontsReq struct {
Address string `json:"address" validate:"address|required"`
IsOnline bool `json:"is_online" validate:"required"`
}
AddEndpiontsReq is one of the Endpoints in the request to add the endpints.
type AddEnvStruct ¶
type AddEnvStruct 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: false
ContainerPort int `json:"container_port"`
// name
// in: body
// required: false
Name string `json:"name"`
// 变量名称
// in: body
// required: true
AttrName string `json:"env_name"`
// 变量值, 增加时需要传值, 删除时可以不传
// in: body
// required: false
AttrValue string `json:"env_value"`
// 是否可以修改
// in: body
// required: false
IsChange bool `json:"is_change"`
// 应用范围: inner or outer or both
// in: body
// required: false
Scope string `json:"scope"`
}
}
AddEnvStruct AddEnvStruct
type AddHTTPRuleStruct ¶
type AddHTTPRuleStruct struct {
HTTPRuleID string `json:"http_rule_id" validate:"http_rule_id|required"`
ServiceID string `json:"service_id" validate:"service_id|required"`
ContainerPort int `json:"container_port" validate:"container_port|required"`
Domain string `json:"domain" validate:"domain|required"`
Path string `json:"path"`
Header string `json:"header"`
Cookie string `json:"cookie"`
Weight int `json:"weight"`
IP string `json:"ip"`
CertificateID string `json:"certificate_id"`
Certificate string `json:"certificate"`
PrivateKey string `json:"private_key"`
RuleExtensions []*RuleExtensionStruct `json:"rule_extensions"`
}
AddHTTPRuleStruct is used to add http rule, certificate and rule extensions
type AddNodeLabelStruct ¶
type AddNodeLabelStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 标签值,格式为"[v1, v2, v3]"
// in: body
// required: true
LabelValues []string `json:"label_values" validate:"label_values|required"`
}
}
AddNodeLabelStruct AddNodeLabelStruct
type AddOrUpdRuleConfigReq ¶
type AddOrUpdRuleConfigReq struct {
Configs []*AddRuleConfigReq `json:"configs"`
}
AddOrUpdRuleConfigReq -
type AddProbeStruct ¶
type AddProbeStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 探针id
// in: body
// required: true
ProbeID string `json:"probe_id"`
// mode
// in: body
// required: false
Mode string `json:"mode"`
// mode
// in: body
// required: false
Scheme string `json:"scheme"`
// path
// in: body
// required: false
Path string `json:"path"`
// 端口, 默认为80
// in: body
// required: false
Port int `json:"port"`
// 运行命令
// in: body
// required: false
Cmd string `json:"cmd"`
// http请求头,key=value,key2=value2
// in: body
// required: false
HTTPHeader string `json:"http_header"`
// 初始化等候时间, 默认为1
// in: body
// required: false
InitialDelaySecond int `json:"initial_delay_second"`
// 检测间隔时间, 默认为3
// in: body
// required: false
PeriodSecond int `json:"period_second"`
// 检测超时时间, 默认为30
// in: body
// required: false
TimeoutSecond int `json:"timeout_second"`
// 是否启用
// in: body
// required: false
IsUsed int `json:"is_used"`
// 标志为失败的检测次数
// in: body
// required: false
FailureThreshold int `json:"failure_threshold"`
// 标志为成功的检测次数
// in: body
// required: false
SuccessThreshold int `json:"success_threshold"`
}
}
AddProbeStruct AddProbeStruct
type AddRuleConfigReq ¶
type AddRuleConfigReq struct {
ConfigID string `json:"config_id" validate:"config_id|required"`
RuleID string `json:"rule_id" validate:"rule_id|required"`
Key string `json:"key" validate:"key|required"`
Value string `json:"value" validate:"value|required"`
}
AddRuleConfigReq -
type AddServiceLabelStruct ¶
type AddServiceLabelStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 标签值,格式为"v1"
// in: bod
// required: true
LabelValues string `json:"label_values"`
}
}
AddServiceLabelStruct AddServiceLabelStruct
type AddServicePort ¶
type AddServicePort 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
ServicePorts
}
}
AddServicePort service port swagger:parameters addPort updatePort
type AddTCPRuleStruct ¶
type AddTCPRuleStruct struct {
TCPRuleID string `json:"tcp_rule_id" validate:"tcp_rule_id|required"`
ServiceID string `json:"service_id" validate:"service_id|required"`
ContainerPort int `json:"container_port"`
IP string `json:"ip"`
Port int `json:"port" validate:"service_id|required"`
RuleExtensions []*RuleExtensionStruct `json:"rule_extensions"`
}
AddTCPRuleStruct is used to add tcp rule and rule extensions
type AddTenantServiceEnvVar ¶
type AddTenantServiceEnvVar struct {
Model
TenantID string `validate:"tenant_id|between:30,33" json:"tenant_id"`
ServiceID string `validate:"service_id|between:30,33" json:"service_id"`
ContainerPort int `validate:"container_port|numeric_between:1,65535" json:"container_port"`
Name string `validate:"name" json:"name"`
AttrName string `validate:"env_name|required" json:"env_name"`
AttrValue string `validate:"env_value|required" json:"env_value"`
IsChange bool `validate:"is_change|bool" json:"is_change"`
Scope string `validate:"scope|in:outer,inner,both,build" json:"scope"`
}
AddTenantServiceEnvVar 应用环境变量
type AddTenantStruct ¶
type AddTenantStruct struct {
//in: body
Body struct {
// the tenant id
// in: body
// required: false
TenantID string `json:"tenant_id" validate:"tenant_id"`
// the tenant name
// in: body
// required: false
TenantName string `json:"tenant_name" validate:"tenant_name"`
// the eid
// in : body
// required: false
Eid string `json:"eid" validata:"eid"`
Token string `json:"token" validate:"token"`
LimitMemory int `json:"limit_memory" validate:"limit_memory"`
}
}
AddTenantStruct AddTenantStruct swagger:parameters addTenant
type AddVolumeDependencyStruct ¶
type AddVolumeDependencyStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 依赖的服务id
// in: body
// required: true
DependServiceID string `json:"depend_service_id" validate:"depend_service_id|required"`
// 容器挂载目录
// in: body
// required: true
VolumePath string `json:"volume_path" validate:"volume_path|required|regex:^/"`
// 依赖存储名称
// in: body
// required: true
VolumeName string `json:"volume_name" validate:"volume_name|required|max:50"`
VolumeType string `json:"volume_type" validate:"volume_type|required|in:share-file,config-file"`
}
}
AddVolumeDependencyStruct AddVolumeDependencyStruct
type AddVolumeStruct ¶
type AddVolumeStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 类型 "application;app_publish"
// in: body
// required: true
Category string `json:"category"`
// 容器挂载目录
// in: body
// required: true
VolumePath string `json:"volume_path" validate:"volume_path|required|regex:^/"`
//存储类型(share,local,tmpfs)
// in: body
// required: true
VolumeType string `json:"volume_type" validate:"volume_type|required"`
// 存储名称(同一个应用唯一)
// in: body
// required: true
VolumeName string `json:"volume_name" validate:"volume_name|required|max:50"`
FileContent string `json:"file_content"`
// 存储驱动别名(StorageClass别名)
VolumeProviderName string `json:"volume_provider_name"`
IsReadOnly bool `json:"is_read_only"`
// VolumeCapacity 存储大小
VolumeCapacity int64 `json:"volume_capacity"` // 单位: Mi
// AccessMode 读写模式(Important! A volume can only be mounted using one access mode at a time, even if it supports many. For example, a GCEPersistentDisk can be mounted as ReadWriteOnce by a single node or ReadOnlyMany by many nodes, but not at the same time. #https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
AccessMode string `json:"access_mode"`
// SharePolicy 共享模式
SharePolicy string `json:"share_policy"`
// BackupPolicy 备份策略
BackupPolicy string `json:"backup_policy"`
// ReclaimPolicy 回收策略
ReclaimPolicy string `json:"reclaim_policy"`
// AllowExpansion 是否支持扩展
AllowExpansion bool `json:"allow_expansion"`
}
}
AddVolumeStruct AddVolumeStruct
type Addition ¶
type Addition struct {
Desc string `json:"desc" validate:"desc"`
Items []*Item `json:"items" validate:"items"`
}
Addition 存储附加信息
type AllPluginBuildVersionStruct ¶
type AllPluginBuildVersionStruct struct {
//in: path
//required: true
TenantName string `json:"tenant_name" validate:"tenant_name"`
//in: path
//required: true
PluginID string `json:"plugin_id" validate:"plugin_id"`
}
AllPluginBuildVersionStruct AllPluginBuildVersionStruct
type Attr ¶
type Attr struct {
Action string `json:"action"`
TenantID string `json:"tenant_id"`
ServiceID string `json:"service_id"`
AttrName string `json:"env_name"`
AttrValue string `json:"env_value"`
}
Attr attr
type AutoscalerRuleReq ¶
type AutoscalerRuleReq struct {
RuleID string `json:"rule_id" validate:"rule_id|required"`
ServiceID string
Enable bool `json:"enable" validate:"enable|required"`
XPAType string `json:"xpa_type" validate:"xpa_type|required"`
MinReplicas int `json:"min_replicas" validate:"min_replicas|required"`
MaxReplicas int `json:"max_replicas" validate:"min_replicas|required"`
Metrics []struct {
MetricsType string `json:"metric_type"`
MetricsName string `json:"metric_name"`
MetricTargetType string `json:"metric_target_type"`
MetricTargetValue int `json:"metric_target_value"`
} `json:"metrics"`
}
AutoscalerRuleReq -
type AutoscalerRuleResp ¶
type AutoscalerRuleResp struct {
RuleID string `json:"rule_id"`
ServiceID string `json:"service_id"`
Enable bool `json:"enable"`
XPAType string `json:"xpa_type"`
MinReplicas int `json:"min_replicas"`
MaxReplicas int `json:"max_replicas"`
Metrics []struct {
MetricsType string `json:"metric_type"`
MetricsName string `json:"metric_name"`
MetricTargetType string `json:"metric_target_type"`
MetricTargetValue int `json:"metric_target_value"`
} `json:"metrics"`
}
AutoscalerRuleResp -
type BaseEnv ¶
type BaseEnv struct {
Options map[string]interface{} `json:"options"`
}
BaseEnv 无平台定义类型,普通kv
type BasePort ¶
type BasePort struct {
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"`
}
BasePort base of current app ports
type 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"`
}
BaseService 基于依赖应用及端口结构
type BeatchOperationRequestStruct ¶
type BeatchOperationRequestStruct struct {
Operator string `json:"operator"`
TenantName string `json:"tenant_name"`
Body struct {
Operation string `json:"operation" validate:"operation|required|in:start,stop,build,upgrade"`
BuildInfos []BuildInfoRequestStruct `json:"build_infos,omitempty"`
StartInfos []StartOrStopInfoRequestStruct `json:"start_infos,omitempty"`
StopInfos []StartOrStopInfoRequestStruct `json:"stop_infos,omitempty"`
UpgradeInfos []UpgradeInfoRequestStruct `json:"upgrade_infos,omitempty"`
}
}
BeatchOperationRequestStruct beatch operation request body
type Body ¶
type Body struct {
ProxyConnectTimeout int `json:"proxy_connect_timeout,omitempty" validate:"proxy_connect_timeout|required"`
ProxySendTimeout int `json:"proxy_send_timeout,omitempty" validate:"proxy_send_timeout|required"`
ProxyReadTimeout int `json:"proxy_read_timeout,omitempty" validate:"proxy_read_timeout|required"`
ProxyBodySize int `json:"proxy_body_size,omitempty" validate:"proxy_body_size|required"`
SetHeaders []*SetHeader `json:"set_headers,omitempty" `
Rewrites []*Rewrite `json:"rewrite,omitempty"`
}
Body is a embedded sturct of RuleConfigReq.
type BuildCodeInfo ¶
type BuildCodeInfo struct {
// git地址
// in: body
// required: false
RepoURL string `json:"repo_url" validate:"repo_url"`
// branch 分支信息
// in: body
// required: false
Branch string `json:"branch" validate:"branch"`
// 操作人员
// in: body
// required: false
Lang string `json:"lang" validate:"lang"`
// 代码服务器类型
// in: body
// required: false
ServerType string `json:"server_type" validate:"server_type"`
Runtime string `json:"runtime"`
User string `json:"user" validate:"user"`
Password string `json:"password" validate:"password"`
//for .netcore source type, need cmd
Cmd string `json:"cmd"`
}
BuildCodeInfo -
type BuildImageInfo ¶
type BuildImageInfo struct {
// 镜像地址
// in: body
// required: false
ImageURL string `json:"image_url" validate:"image_url"`
User string `json:"user" validate:"user"`
Password string `json:"password" validate:"password"`
Cmd string `json:"cmd"`
}
BuildImageInfo -
type BuildInfoRequestStruct ¶
type BuildInfoRequestStruct struct {
// 变量
// in: body
// required: false
BuildENVs map[string]string `json:"envs" validate:"envs"`
// 应用构建类型
// in: body
// required: true
Kind string `json:"kind" validate:"kind|required"`
// 后续动作, 根据该值进行一键部署,如果不传值,则默认只进行构建
// in: body
// required: false
Action string `json:"action" validate:"action"`
//Event trace ID
EventID string `json:"event_id"`
// Deployed version number, The version is generated by the API
// in: body
DeployVersion string `json:"deploy_version" validate:"deploy_version"`
// Build task initiator
//in: body
Operator string `json:"operator" validate:"operator"`
//build form image
ImageInfo BuildImageInfo `json:"image_info,omitempty"`
//build from code
CodeInfo BuildCodeInfo `json:"code_info,omitempty"`
//用于云市代码包创建
SlugInfo BuildSlugInfo `json:"slug_info,omitempty"`
//tenantName
TenantName string `json:"-"`
ServiceID string `json:"service_id"`
Configs map[string]string `json:"configs"`
}
BuildInfoRequestStruct -
type BuildListRespVO ¶
type BuildListRespVO struct {
DeployVersion string `json:"deploy_version"`
List interface{} `json:"list"`
}
BuildListRespVO is the response value object for build-list api.
type BuildPluginStruct ¶
type BuildPluginStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name" validate:"tenant_name"`
// in: path
// required: true
PluginID string `json:"plugin_id" validate:"plugin_id"`
//in: body
Body struct {
// the event id
// in: body
// required: false
EventID string `json:"event_id" validate:"event_id"`
// 插件CPU权重, 默认125
// in: body
// required: true
PluginCPU int `json:"plugin_cpu" validate:"plugin_cpu|required"`
// 插件最大内存, 默认50
// in: body
// required: true
PluginMemory int `json:"plugin_memory" validate:"plugin_memory|required"`
// 插件cmd, 默认50
// in: body
// required: false
PluginCMD string `json:"plugin_cmd" validate:"plugin_cmd"`
// 插件的版本号
// in: body
// required: true
BuildVersion string `json:"build_version" validate:"build_version|required"`
// 插件构建版本号
// in: body
// required: true
DeployVersion string `json:"deploy_version" validate:"deploy_version"`
// git地址分支信息,默认为master
// in: body
// required: false
RepoURL string `json:"repo_url" validate:"repo_url"`
// 版本信息, 协助选择插件版本
// in:body
// required: true
Info string `json:"info" validate:"info"`
// 操作人
// in: body
// required: false
Operator string `json:"operator" validate:"operator"`
//租户id
// in: body
// required: true
TenantID string `json:"tenant_id" validate:"tenant_id"`
// 镜像地址
// in: body
// required: false
BuildImage string `json:"build_image" validate:"build_image"`
//ImageInfo
ImageInfo struct {
HubURL string `json:"hub_url"`
HubUser string `json:"hub_user"`
HubPassword string `json:"hub_password"`
Namespace string `json:"namespace"`
IsTrust bool `json:"is_trust,omitempty"`
} `json:"ImageInfo" validate:"ImageInfo"`
}
}
BuildPluginStruct BuildPluginStruct
type BuildServiceStruct ¶
type BuildServiceStruct 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: body
Body struct {
// the event id
// in: body
// required: false
EventID string `json:"event_id" validate:"event_id"`
// 变量
// in: body
// required: false
ENVS map[string]string `json:"envs" validate:"envs"`
// 应用构建类型
// in: body
// required: true
Kind string `json:"kind" validate:"kind|required"`
// 后续动作, 根据该值进行一键部署,如果不传值,则默认只进行构建
// in: body
// required: false
Action string `json:"action" validate:"action"`
// 镜像地址
// in: body
// required: false
ImageURL string `json:"image_url" validate:"image_url"`
// 部署的版本号
// in: body
// required: true
DeployVersion string `json:"deploy_version" validate:"deploy_version|required"`
// git地址
// in: body
// required: false
RepoURL string `json:"repo_url" validate:"repo_url"`
// branch 分支信息
// in: body
// required: false
Branch string `json:"branch" validate:"branch"`
// 操作人员
// in: body
// required: false
Lang string `json:"lang" validate:"lang"`
// 代码服务器类型
// in: body
// required: false
ServerType string `json:"server_type" validate:"server_type"`
Runtime string `json:"runtime" validate:"runtime"`
ServiceType string `json:"service_type" validate:"service_type"`
User string `json:"user" validate:"user"`
Password string `json:"password" validate:"password"`
Operator string `json:"operator" validate:"operator"`
TenantName string `json:"tenant_name"`
ServiceAlias string `json:"service_alias"`
Cmd string `json:"cmd"`
//用于云市代码包创建
SlugInfo struct {
SlugPath string `json:"slug_path"`
FTPHost string `json:"ftp_host"`
FTPPort string `json:"ftp_port"`
FTPUser string `json:"ftp_username"`
FTPPassword string `json:"ftp_password"`
} `json:"slug_info"`
}
}
BuildServiceStruct BuildServiceStruct
type BuildSlugInfo ¶
type BuildSlugInfo struct {
SlugPath string `json:"slug_path"`
FTPHost string `json:"ftp_host"`
FTPPort string `json:"ftp_port"`
FTPUser string `json:"ftp_username"`
FTPPassword string `json:"ftp_password"`
}
BuildSlugInfo -
type BuildVersion ¶
type BuildVersion struct {
BuildVersion string `json:"build_version"` //唯一
EventID string `json:"event_id"`
ServiceID string `json:"service_id"`
Kind string `json:"kind"` //kind
//DeliveredType app version delivered type
//image: this is a docker image
//slug: this is a source code tar file
DeliveredType string `json:"delivered_type"` //kind
DeliveredPath string `json:"delivered_path"` //交付物path
Cmd string `json:"cmd"` //启动命令
RepoURL string `json:"repo_url"` // source image name or source code url
CodeBranch string `json:"code_branch"`
CodeVersion string `json:"code_version"`
CommitMsg string `json:"code_commit_msg"`
Author string `json:"code_commit_author"`
ImageName string `json:"image_name"` // runtime image name
ImageRepo string `json:"image_repo"`
ImageDomain string `json:"image_domain"`
ImageTag string `json:"image_tag"`
//FinalStatus app version status
//success: version available
//failure: build failure
//lost: there is no delivered
CreateTime string `json:"create_time"`
FinalStatus string `json:"final_status"`
FinishTime time.Time `json:"finish_time"`
}
BuildVersion -
type CheckCodeStruct ¶
type CheckCodeStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: body
Body struct {
// git分支详情
// in: body
// required: true
GitURL string `json:"git_url" validate:"git_url|required"`
// git地址
// in: body
// required: true
URLRepos string `json:"url_repos" validate:"url_repos|required"`
// 检测类型, "first_check"
// in: body
// required: true
CheckType string `json:"check_type" validate:"check_type|required"`
// 代码分支
// in: body
// required: true
CodeVersion string `json:"code_version" validate:"code_version|required"`
// git project id, 0
// in: body
// required: true
GitProjectID int `json:"git_project_id" validate:"git_project_id|required"`
// git源, "gitlab_manual"
// in: body
// required: true
CodeFrom string `json:"code_from" validate:"code_from|required"`
// 租户id
// in: body
// required: false
TenantID string `json:"tenant_id" validate:"tenant_id"`
Action string `json:"action"`
// 应用id
// in: body
// required: true
ServiceID string `json:"service_id"`
}
}
CheckCodeStruct CheckCodeStruct
type CommandResponse ¶
type CommandResponse struct {
// in: body
Body struct {
//参数验证错误信息
ValidationError url.Values `json:"validation_error,omitempty"`
//API错误信息
Msg string `json:"msg,omitempty"`
//单资源实体
Bean interface{} `json:"bean,omitempty"`
//资源列表
List interface{} `json:"list,omitempty"`
//数据集总数
ListAllNumber int `json:"number,omitempty"`
//当前页码数
Page int `json:"page,omitempty"`
}
}
CommandResponse api统一返回结构 swagger:response commandResponse
type ComposerStruct ¶
type ComposerStruct struct {
// in : body
Body struct {
Lang string `json:"default_runtime" validate:"default_runtime"`
Data struct {
JSON struct {
PlatForm struct {
PHP string `json:"php" validate:"php"`
}
}
Packages []string `json:"packages" validate:"packages"`
Lock struct {
PlatForm struct {
PHP string `json:"php" validate:"php"`
}
}
}
}
}
ComposerStruct ComposerStruct swagger:parameters resolve
type ConfigEnvs ¶
type ConfigEnvs struct {
NormalEnvs []*VersionEnv `json:"normal_envs" validate:"normal_envs"`
ComplexEnvs *ResourceSpec `json:"complex_envs" validate:"complex_envs"`
}
ConfigEnvs Config
type CreatePluginStruct ¶
type CreatePluginStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: body
Body struct {
//插件id
//in: body
//required: true
PluginID string `json:"plugin_id" validate:"plugin_id|required"`
//in: body
//required: true
PluginName string `json:"plugin_name" validate:"plugin_name|required"`
//插件用途描述
//in: body
//required: false
PluginInfo string `json:"plugin_info" validate:"plugin_info"`
// 插件docker地址
// in:body
// required: false
ImageURL string `json:"image_url" validate:"image_url"`
//git地址
//in: body
//required: false
GitURL string `json:"git_url" validate:"git_url"`
//构建模式
//in: body
//required: false
BuildModel string `json:"build_model" validate:"build_model"`
//插件模式
//in: body
//required: false
PluginModel string `json:"plugin_model" validate:"plugin_model"`
//租户id
//in: body
//required: false
TenantID string `json:"tenant_id" validate:"tenant_id"`
}
}
CreatePluginStruct CreatePluginStruct
type CreateServiceStruct ¶
type CreateServiceStruct struct {
// in: path
// required: true
TenantName string `gorm:"column:tenant_name;size:32" json:"tenant_name" validate:"tenant_name"`
// in:body
Body struct {
// 租户id
// in: body
// required: false
TenantID string `gorm:"column:tenant_id;size:32" json:"tenant_id" validate:"tenant_id"`
// 应用id
// in: body
// required: false
ServiceID string `gorm:"column:service_id;size:32" json:"service_id" validate:"service_id"`
// 操作人
// in: body
// required: false
Operator string `json:"operator" validate:"operator"`
// 应用标签,value
// in: body
// required: false
ServiceLabel string `json:"service_label" validate:"service_label"`
// 节点标签,格式: v1,v2
// in: body
// required: false
NodeLabel string `json:"node_label" validate:"node_label"`
// 依赖id, 格式: []struct TenantServiceRelation
// in: body
// required: false
DependIDs []dbmodel.TenantServiceRelation `json:"depend_ids" validate:"depend_ids"`
// 持久化目录信息, 格式: []struct TenantServiceVolume
// in: body
// required: false
VolumesInfo []dbmodel.TenantServiceVolume `json:"volumes_info" validate:"volumes_info"`
// 环境变量信息, 格式: []struct TenantServiceEnvVar
// in: body
// required: false
EnvsInfo []dbmodel.TenantServiceEnvVar `json:"envs_info" validate:"envs_info"`
// 端口信息, 格式: []struct TenantServicesPort
// in: body
// required: false
PortsInfo []dbmodel.TenantServicesPort `json:"ports_info" validate:"ports_info"`
// 服务key
// in: body
// required: false
ServiceKey string `gorm:"column:service_key;size:32" json:"service_key" validate:"service_key"`
// 服务别名
// in: body
// required: true
ServiceAlias string `gorm:"column:service_alias;size:30" json:"service_alias" validate:"service_alias"`
// 服务描述
// in: body
// required: false
Comment string `gorm:"column:comment" json:"comment" validate:"comment"`
// 服务版本
// in: body
// required: false
ServiceVersion string `gorm:"column:service_version;size:32" json:"service_version" validate:"service_version"`
// 镜像名称
// in: body
// required: false
ImageName string `gorm:"column:image_name;size:100" json:"image_name" validate:"image_name"`
// 容器CPU权重
// in: body
// required: false
ContainerCPU int `gorm:"column:container_cpu;default:500" json:"container_cpu" validate:"container_cpu"`
// 容器最大内存
// in: body
// required: false
ContainerMemory int `gorm:"column:container_memory;default:128" json:"container_memory" validate:"container_memory"`
// 容器启动命令
// in: body
// required: false
ContainerCMD string `gorm:"column:container_cmd;size:2048" json:"container_cmd" validate:"container_cmd"`
// 容器环境变量
// in: body
// required: false
ContainerEnv string `gorm:"column:container_env;size:255" json:"container_env" validate:"container_env"`
// 卷名字
// in: body
// required: false
VolumePath string `gorm:"column:volume_path" json:"volume_path" validate:"volume_path"`
// 容器挂载目录
// in: body
// required: false
VolumeMountPath string `gorm:"column:volume_mount_path" json:"volume_mount_path" validate:"volume_mount_path"`
// 宿主机目录
// in: body
// required: false
HostPath string `gorm:"column:host_path" json:"host_path" validate:"host_path"`
// 扩容方式;0:无状态;1:有状态;2:分区
// in: body
// required: false
ExtendMethod string `gorm:"column:extend_method;default:'stateless';" json:"extend_method" validate:"extend_method"`
// 节点数
// in: body
// required: false
Replicas int `gorm:"column:replicas;default:1" json:"replicas" validate:"replicas"`
// 部署版本
// in: body
// required: false
DeployVersion string `gorm:"column:deploy_version" json:"deploy_version" validate:"deploy_version"`
// 服务分类:application,cache,store
// in: body
// required: false
Category string `gorm:"column:category" json:"category" validate:"category"`
// 最新操作ID
// in: body
// required: false
EventID string `gorm:"column:event_id" json:"event_id" validate:"event_id"`
// 服务类型
// in: body
// required: false
ServiceType string `gorm:"column:service_type" json:"service_type" validate:"service_type"`
// 镜像来源
// in: body
// required: false
Namespace string `gorm:"column:namespace" json:"namespace" validate:"namespace"`
// 共享类型shared、exclusive
// in: body
// required: false
VolumeType string `gorm:"column:volume_type;default:'shared'" json:"volume_type" validate:"volume_type"`
// 端口类型,one_outer;dif_protocol;multi_outer
// in: body
// required: false
PortType string `gorm:"column:port_type;default:'multi_outer'" json:"port_type" validate:"port_type"`
// 更新时间
// in: body
// required: false
UpdateTime time.Time `gorm:"column:update_time" json:"update_time" validate:"update_time"`
// 服务创建类型cloud云市服务,assistant云帮服务
// in: body
// required: false
ServiceOrigin string `gorm:"column:service_origin;default:'assistant'" json:"service_origin" validate:"service_origin"`
// 代码来源:gitlab,github
// in: body
// required: false
CodeFrom string `gorm:"column:code_from" json:"code_from" validate:"code_from"`
}
}
CreateServiceStruct serviceCreate struct swagger:parameters createService
type DataLog ¶
type DataLog struct {
Status string
Data eventdb.MessageDataList
}
DataLog 获取指定操作的操作日志
type DelEndpiontsReq ¶
type DelEndpiontsReq struct {
EpID string `json:"ep_id" validate:"required|len:32"`
}
DelEndpiontsReq is one of the Endpoints in the request to update the endpints.
type DelRuleConfigReq ¶
type DelRuleConfigReq struct {
ConfigID string `json:"config_id" validate:"config_id|required"`
}
DelRuleConfigReq -
type DelTenantServiceEnvVar ¶
type DelTenantServiceEnvVar struct {
Model
TenantID string `validate:"tenant_id|between:30,33" json:"tenant_id"`
ServiceID string `validate:"service_id|between:30,33" json:"service_id"`
ContainerPort int `validate:"container_port|numeric_between:1,65535" json:"container_port"`
Name string `validate:"name" json:"name"`
AttrName string `validate:"env_name|required" json:"env_name"`
AttrValue string `validate:"env_value" json:"env_value"`
IsChange bool `validate:"is_change|bool" json:"is_change"`
Scope string `validate:"scope|in:outer,inner,both,build" json:"scope"`
}
DelTenantServiceEnvVar 应用环境变量
type DeleteDefineSourcesStruct ¶
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"`
}
DeleteDefineSourcesStruct DeleteDefineSourcesStruct
type DeleteENVstruct ¶
type DeleteENVstruct struct {
// 租户名称
// in: path
// required: true
TenantName string `json:"tenant_name" validate:"tenant_name|required"`
// 插件id
// in: path
// required: true
PluginID string `json:"plugin_id" validate:"plugin_id|required"`
// 构建版本
// in: path
// required; true
VersionID string `json:"version_id" validate:"version_id|required"`
//配置项名称
//in: path
//required: true
ENVName string `json:"env_name" validate:"env_name|required"`
}
DeleteENVstruct DeleteENVstruct
type DeleteHTTPRuleStruct ¶
type DeleteHTTPRuleStruct struct {
HTTPRuleID string `json:"http_rule_id" validate:"http_rule_id|required"`
}
DeleteHTTPRuleStruct contains the id of http rule that will be deleted
type DeletePluginSetStruct ¶
type DeletePluginSetStruct struct {
//in: path
//required: true
TenantName string `json:"tenant_name"`
//in: path
//required: true
ServiceAlias string `json:"service_alias"`
//插件id
//in: path
//required: true
PluginID string `json:"plugin_id"`
}
DeletePluginSetStruct DeletePluginSetStruct
type DeletePluginStruct ¶
type DeletePluginStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name" validate:"tenant_name|required"`
// in: path
// required: true
PluginID string `json:"plugin_id" validate:"plugin_id|required"`
}
DeletePluginStruct deletePluginStruct
type DeleteProbeStruct ¶
type DeleteProbeStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 探针id
// in: body
// required: true
ProbeID string `json:"probe_id"`
}
}
DeleteProbeStruct DeleteProbeStruct
type DeleteServicePort ¶
type DeleteServicePort struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// 容器端口
// in: path
// required: true
Port int `json:"port"`
}
DeleteServicePort service port swagger:parameters deletePort
type DeleteTCPRuleStruct ¶
type DeleteTCPRuleStruct struct {
TCPRuleID string `json:"tcp_rule_id" validate:"tcp_rule_id|required"`
}
DeleteTCPRuleStruct is used to delete tcp rule and rule extensions
type DeleteVolumeDependencyStruct ¶
type DeleteVolumeDependencyStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 依赖的服务id
// in: body
// required: true
DependServiceID string `json:"depend_service_id" validate:"depend_service_id|required|max:32"`
// 依赖存储名称
// in: body
// required: true
VolumeName string `json:"volume_name" validate:"volume_name|required|max:50"`
}
}
DeleteVolumeDependencyStruct DeleteVolumeDependencyStruct
type DeleteVolumeStruct ¶
type DeleteVolumeStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// 存储名称
// in: path
// required: true
VolumeName string `json:"volume_name"`
}
DeleteVolumeStruct DeleteVolumeStruct
type DependService ¶
type DependService struct {
TenantID string `json:"tenant_id"`
ServiceID string `json:"service_id"`
DepServiceID string `json:"dep_service_id"`
DepServiceType string `json:"dep_service_type"`
Action string `json:"action"`
}
DependService struct for depend service
type ENVStruct ¶
type ENVStruct struct {
// 租户名称
// in: path
// required: true
TenantName string `json:"tenant_name" validate:"tenant_name"`
// 插件id
// in: path
// required: true
PluginID string `json:"plugin_id" validate:"plugin_id"`
// 构建版本
// in: path
// required; true
VersionID string `json:"version_id" validate:"version_id"`
//in : body
Body struct {
//in: body
//required: true
EVNInfo []*PluginDefaultENV
}
}
ENVStruct ENVStruct
type EndpointResp ¶
type EndpointResp struct {
EpID string `json:"ep_id"`
Address string `json:"address"`
Status string `json:"status"`
IsOnline bool `json:"is_online"`
IsStatic bool `json:"is_static"`
}
EndpointResp is one of the Endpoints list in the response to list, add, update or delete the endpints.
type Endpoints ¶
type Endpoints struct {
Static string `json:"static" validate:"static"`
Discovery string `json:"discovery" validate:"discovery"`
}
Endpoints holds third-party service endpoints or configuraion to get endpoints.
type EtcdCleanReq ¶
type EtcdCleanReq struct {
Keys []string `json:"etcd_keys"`
}
EtcdCleanReq etcd clean request struct
type ExportAppStruct ¶
type ExportAppStruct struct {
SourceDir string `json:"source_dir"`
Body struct {
EventID string `json:"event_id"`
GroupKey string `json:"group_key"` // TODO 考虑去掉
Version string `json:"version"` // TODO 考虑去掉
Format string `json:"format"` // only rainbond-app/docker-compose
GroupMetadata string `json:"group_metadata"`
}
}
ExportAppStruct -
type 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"`
}
GetNetDownStreamRuleStruct GetNetDownStreamRuleStruct
type GetPluginEnvStruct ¶
type GetPluginEnvStruct struct {
//租户名称
//in: path
//required: true
TenantName string `json:"tenant_name"`
// 插件id
// in: path
// required: true
PluginID string `json:"plugin_id"`
// 构建版本id
// in: path
// required: true
VersionID string `json:"version_id"`
}
GetPluginEnvStruct GetPluginEnvStruct
type GetPluginSetStruct ¶
type GetPluginSetStruct struct {
//in: path
//required: true
TenantName string `json:"tenant_name"`
//in: path
//required: true
ServiceAlias string `json:"service_alias"`
}
GetPluginSetStruct GetPluginSetStruct
type GetPluginsStruct ¶
type GetPluginsStruct struct {
//in: path
//required: true
TenantName string `json:"tenant_name"`
}
GetPluginsStruct GetPluginsStruct
type GetServiceCheckInfoStruct ¶
type GetServiceCheckInfoStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
UUID string `json:"uuid"`
}
GetServiceCheckInfoStruct 获取应用检测信息
type GetSingleServiceInfoStruct ¶
type GetSingleServiceInfoStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
}
GetSingleServiceInfoStruct GetSingleServiceInfoStruct
type GetSupportProtocols ¶
type GetSupportProtocols struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
}
GetSupportProtocols GetSupportProtocols swagger:parameters getSupportProtocols
type GetTokenInfo ¶
type GetTokenInfo struct {
// in: path
// required: true
EID string `json:"eid" validate:"eid|required"`
}
GetTokenInfo GetTokenInfo
type GetUserToken ¶
type GetUserToken struct {
// in: body
Body struct {
// eid
// in: body
// required: true
EID string `json:"eid" validate:"eid|required"`
// 可控范围:all_power|node_manager|server_source
// in: body
// required: false
Range string `json:"range" validate:"range"`
// 有效期
// in: body
// required: true
ValidityPeriod int `json:"validity_period" validate:"validity_period|required"` //1549812345
// 数据中心标识
// in: body
// required: false
RegionTag string `json:"region_tag" validate:"region_tag"`
BeforeTime int `json:"before_time"`
}
}
GetUserToken GetUserToken
type GetVersionEnvStruct ¶
type GetVersionEnvStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// 插件id
// in: path
// required: true
PluginID string `json:"plugin_id"`
}
GetVersionEnvStruct GetVersionEnvStruct
type HeaderRules ¶
HeaderRules HeaderRules
type HistoryLogFile ¶
type HistoryLogFile struct {
Filename string `json:"filename"`
RelativePath string `json:"relative_path"`
}
HistoryLogFile represents a history log file for service
type HorizontalServiceStruct ¶
type HorizontalServiceStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
//in: body
Body struct {
// the event id
// in: body
// required: false
EventID string `json:"event_id"`
// 伸缩数量
// in: body
// required: false
NodeNUM int `json:"node_num"`
}
}
HorizontalServiceStruct HorizontalServiceStruct
type ImportAppStruct ¶
type ImportAppStruct struct {
EventID string `json:"event_id"`
SourceDir string `json:"source_dir"`
Apps []string `json:"apps"`
Format string `json:"format"`
ServiceImage ServiceImage `json:"service_image"`
ServiceSlug ServiceSlug `json:"service_slug"`
}
ImportAppStruct -
type Item ¶
type Item struct {
Key string `json:"key" validate:"key"`
Value interface{} `json:"value" validate:"value"`
}
Item source值,键值对形式
type LabelStruct ¶
type LabelStruct struct {
LabelKey string `json:"label_key" validate:"label_key|required"`
LabelValue string `json:"label_value" validate:"label_value|required"`
}
LabelStruct holds info for adding, updating or deleting label
type Labels ¶
type Labels struct {
// in: path
// required: true
NodeID string `json:"node"`
// in: body
Body struct {
// label值列表
// in: body
// required: true
Labels []string `json:"labels"`
}
}
Labels LabelsStruct
type LabelsStruct ¶
type LabelsStruct struct {
Labels []LabelStruct `json:"labels"`
}
LabelsStruct blabla
type LanguageSet ¶
LanguageSet set language
type LastLinesStruct ¶
type LastLinesStruct 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: body
Body struct {
// 行数
// in: body
// required: true
Lines int `json:"lines" validate:"lines"`
}
}
LastLinesStruct LastLinesStruct
type LicenseInfo ¶
type LicenseInfo struct {
Code string `json:"code"`
Company string `json:"company"`
Node int `json:"node"`
CPU int `json:"cpu"`
MEM int `json:"memory"`
Tenant int `json:"tenant"`
EndTime string `json:"end_time"`
StartTime string `json:"start_time"`
DataCenter int `json:"data_center"`
ModuleList []string `json:"module_list"`
}
LicenseInfo license info
type LogByLevelStruct ¶
type LogByLevelStruct 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: body
Body struct {
// 日志级别info/debug/error
// in: body
// required: true
Level string `json:"level" validate:"level|required"`
// eventID
// in: body
// required: true
EventID string `json:"event_id" validate:"event_id|required"`
}
}
LogByLevelStruct GetLogByLevelStruct
type LogFileStruct ¶
type LogFileStruct 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
FileName string `json:"file_name" validate:"file_name"`
}
LogFileStruct LogFileStruct
type LogSocketStruct ¶
type LogSocketStruct 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"`
}
LogSocketStruct LogSocketStruct
type Login ¶
type Login struct {
// in: body
Body struct {
// ip:端口
// in: body
// required: true
HostPort string `json:"hostport"`
// 登录类型
// in: body
// required: true
LoginType bool `json:"type"`
// 节点类型
// in: body
// required: true
HostType string `json:"hosttype"`
// root密码
// in: body
// required: false
RootPwd string `json:"pwd,omitempty"`
}
}
Login SSHLoginStruct
type MQBody ¶
type MQBody struct {
EventID string `json:"event_id"`
GroupKey string `json:"group_key"`
Version string `json:"version"`
Format string `json:"format"` // only rainbond-app/docker-compose
SourceDir string `json:"source_dir"`
}
MQBody -
type MessageData ¶
type MessageData struct {
Message string `json:"message"`
Time string `json:"time"`
Unixtime int64 `json:"utime"`
}
MessageData message data 获取指定操作的操作日志
type MontiorData ¶
type MontiorData struct {
//in: body
Body struct {
// in: body
// required: true
Start string `json:"start" validate:"start"`
// in: body
// required: true
Queries string `json:"queries" validate:"queries"`
}
}
MontiorData opentsdb data swagger:parameters oentsdbquery
type MsgStruct ¶
type MsgStruct struct {
EventID string `json:"event_id"`
Step string `json:"step"`
Message string `json:"message"`
Level string `json:"level"`
Time string `json:"time"`
}
MsgStruct msg struct in eventlog_message
type 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"`
}
NetDownStreamRules NetDownStreamRules
type 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"`
}
NetRulesDownStreamBody NetRulesDownStreamBody
type NetUpStreamRules ¶
type NetUpStreamRules struct {
NetDownStreamRules
SourcePort int32 `json:"source_port"`
MapPort int32 `json:"map_port"`
}
NetUpStreamRules NetUpStreamRules
type PagedTenantResList ¶
type PagedTenantResList struct {
List []*TenantResource `json:"list"`
Length int `json:"length"`
}
PagedTenantResList PagedTenantResList
type PluginBuildVersionStruct ¶
type PluginBuildVersionStruct struct {
//in: path
//required: true
TenantName string `json:"tenant_name" validate:"tenant_name"`
//in: path
//required: true
PluginID string `json:"plugin_id" validate:"plugin_id"`
//in: path
//required: true
VersionID string `json:"version_id" validate:"version_id"`
}
PluginBuildVersionStruct PluginBuildVersionStruct
type PluginDefaultENV ¶
type PluginDefaultENV struct {
//对应插件id
//in: body
//required: true
PluginID string `json:"plugin_id" validate:"plugin_id"`
//构建版本id
//in: body
//required: true
VersionID string `json:"version_id" validate:"version_id"`
//配置项名称
//in: body
//required: true
ENVName string `json:"env_name" validate:"env_name"`
//配置项值
//in: body
//required: true
ENVValue string `json:"env_value" validate:"env_value"`
//是否可以被使用者修改
//in :body
//required: false
IsChange bool `json:"is_change" validate:"is_change|bool"`
}
PluginDefaultENV 插件默认环境变量
type PluginSetStruct ¶
type PluginSetStruct struct {
//in: path
//required: true
TenantName string `json:"tenant_name"`
//in: path
//required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
//plugin id
//in: body
//required: true
PluginID string `json:"plugin_id" validate:"plugin_id"`
// plugin version
//in: body
//required: true
VersionID string `json:"version_id" validate:"version_id"`
// plugin is uesd
//in: body
//required: false
Switch bool `json:"switch" validate:"switch|bool"`
// plugin cpu size default 125
// in: body
// required: false
PluginCPU int `json:"plugin_cpu" validate:"plugin_cpu"`
// plugin memory size default 64
// in: body
// required: false
PluginMemory int `json:"plugin_memory" validate:"plugin_memory"`
// app plugin config
// in: body
// required: true
ConfigEnvs ConfigEnvs `json:"config_envs" validate:"config_envs"`
}
}
PluginSetStruct PluginSetStruct
type PodContainer ¶
type PodContainer struct {
Image string `json:"image,omitempty"`
State string `json:"state,omitempty"`
Reason string `json:"reason,omitempty"`
Started string `json:"started,omitempty"`
LimitMemory string `json:"limit_memory,omitempty"`
LimitCPU string `json:"limit_cpu,omitempty"`
}
PodContainer -
type PodDetail ¶
type PodDetail struct {
Name string `json:"name,omitempty"`
Node string `json:"node,omitempty"`
StartTime string `json:"start_time,omitempty"`
Status *PodStatus `json:"status,omitempty"`
IP string `json:"ip,omitempty"`
InitContainers []*PodContainer `json:"init_containers,omitempty"`
Containers []*PodContainer `json:"containers,omitempty"`
Events []*PodEvent `json:"events,omitempty"`
}
PodDetail -
type PodEvent ¶
type PodEvent struct {
Type string `json:"type,omitempty"`
Reason string `json:"reason,omitempty"`
Age string `json:"age,omitempty"`
Message string `json:"message,omitempty"`
}
PodEvent -
type PodStatus ¶
type PodStatus struct {
Type int `json:"type,omitempty"`
TypeStr string `json:"type_str,omitempty"`
Reason string `json:"reason,omitempty"`
Message string `json:"message,omitempty"`
Advice string `json:"advice,omitempty"`
}
PodStatus -
type PodsList ¶
type PodsList struct {
PodIP string `json:"pod_ip"`
Phase string `json:"phase"`
PodName string `json:"pod_name"`
NodeName string `json:"node_name"`
}
PodsList pod list
type PodsStructStruct ¶
type PodsStructStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
}
PodsStructStruct PodsStructStruct
type ResourceSpec ¶
type ResourceSpec struct {
BasePorts []*BasePort `json:"base_ports"`
BaseServices []*BaseService `json:"base_services"`
BaseNormal BaseEnv `json:"base_normal"`
}
ResourceSpec 资源结构体
type RestoreDep ¶
type RestoreDep struct {
DepServiceID string `validata:"dep_service_id|required" json:"dep_service_id"`
DepServiceType string `validata:"dep_service_type|required" json:"dep_service_type"`
}
RestoreDep holds infomations of service dependency.
type RestoreDepVol ¶
type RestoreDepVol struct {
DepServiceID string `json:"dep_service_id" validate:"dep_service_id|required"`
VolumePath string `json:"volume_path" validate:"volume_path|required|regex:^/"`
VolumeName string `json:"volume_name" validate:"volume_name|required|max:50"`
}
RestoreDepVol holds information of service dependent volume.
type RestoreDepVolsReq ¶
type RestoreDepVolsReq struct {
DepVols []*RestoreDepVol `validate:"dep_vols|required" json:"dep_vols"`
}
RestoreDepVolsReq defines a struct to receive the request body to restore service dependent volumes.
type RestoreDepsReq ¶
type RestoreDepsReq struct {
Deps []*RestoreDep `validate:"deps|required" json:"deps"`
}
RestoreDepsReq defines a struct to receive the request body to restore service dependencies.
type RestoreEnv ¶
type RestoreEnv struct {
ContainerPort int `validate:"container_port|numeric_between:1,65535" json:"container_port"`
Name string `validate:"name" json:"name"`
AttrName string `validate:"env_name|required" json:"env_name"`
AttrValue string `validate:"env_value|required" json:"env_value"`
IsChange bool `validate:"is_change|bool" json:"is_change"`
Scope string `validate:"scope|in:outer,inner,both,build" json:"scope"`
}
RestoreEnv holds infomations of every enviroment variables.
type RestoreEnvsReq ¶
type RestoreEnvsReq struct {
Scope string `validate:"scope|required|in:outer,inner,both,build"`
Envs []*RestoreEnv `validate:"envs|required" json:"envs"`
}
RestoreEnvsReq defines a struct to receive the request body to restore enviroment variables
type RestorePlugin ¶
type RestorePlugin struct {
PluginID string `json:"plugin_id" validate:"plugin_id"`
VersionID string `json:"version_id" validate:"version_id"`
Switch bool `json:"switch" validate:"switch|bool"`
}
RestorePlugin holds infomations of service dependenct volume.
type RestorePluginsReq ¶
type RestorePluginsReq struct {
Plugins []*RestorePlugin `validate:"plugins|required" json:"plugins"`
}
RestorePluginsReq defines a struct to receive the request body to restore service dependent volumes.
type RestorePort ¶
type RestorePort struct {
ContainerPort int `gorm:"column:container_port" validate:"container_port|required|numeric_between:1,65535" json:"container_port"`
MappingPort int `gorm:"column:mapping_port" validate:"mapping_port|required|numeric_between:1,65535" json:"mapping_port"`
Protocol string `gorm:"column:protocol" validate:"protocol|required|in:http,https,stream,grpc" json:"protocol"`
PortAlias string `gorm:"column:port_alias" validate:"port_alias|required|alpha_dash" json:"port_alias"`
IsInnerService bool `gorm:"column:is_inner_service" validate:"is_inner_service|bool" json:"is_inner_service"`
IsOuterService bool `gorm:"column:is_outer_service" validate:"is_outer_service|bool" json:"is_outer_service"`
}
RestorePort holds information of port.
type RestorePortsReq ¶
type RestorePortsReq struct {
Ports []*RestorePort `validate:"ports|required" json:"ports"`
}
RestorePortsReq defines a struct to receive the request body to restore service ports
type RestoreVolume ¶
type RestoreVolume struct {
Category string `json:"category"`
VolumeName string `json:"volume_name" validate:"volume_name|required|max:50"`
VolumePath string `json:"volume_path" validate:"volume_path|required|regex:^/"`
VolumeType string `json:"volume_type" validate:"volume_type|required|in:share-file,config-file"`
FileContent string `json:"file_content"`
HostPath string `json:"host_path"`
IsReadOnly bool `json:"is_read_only"`
}
RestoreVolume holds infomations of port.
type RestoreVolumesReq ¶
type RestoreVolumesReq struct {
Volumes []*RestoreVolume `validate:"volumes|required" json:"volumes"`
}
RestoreVolumesReq defines a struct to receive the request body to restore service volumes
type Rewrite ¶
type Rewrite struct {
Regex string `json:"regex"`
Replacement string `json:"replacement"`
Flag string `json:"flag" validate:"flag|in:last,break,redirect,permanent"`
}
Rewrite is a embeded sturct of Body.
type RollBackStruct ¶
type RollBackStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// event_id
// in: body
// required: false
EventID string `json:"event_id"`
// 回滚到的版本号
// in: body
// required: true
DeployVersion string `json:"deploy_version"`
// 操作人
// in: body
// required: false
Operator string `json:"operator"`
}
}
RollBackStruct RollBackStruct
type RollbackInfoRequestStruct ¶
type RollbackInfoRequestStruct struct {
//RollBackVersion The target version of the rollback
RollBackVersion string `json:"upgrade_version"`
//Event trace ID
EventID string `json:"event_id"`
ServiceID string `json:"service_id"`
Configs map[string]string `json:"configs"`
}
RollbackInfoRequestStruct -
type RollbackStruct ¶
type RollbackStruct struct {
TenantID string `json:"tenant_id"`
ServiceID string `json:"service_id"`
EventID string `json:"event_id;default:system"`
Operator string `json:"operator"`
DeployVersion string `json:"deploy_version"`
}
RollbackStruct struct
type RuleConfigReq ¶
type RuleConfigReq struct {
RuleID string `json:"rule_id,omitempty" validate:"rule_id|required"`
ServiceID string
EventID string
Body Body `json:"body" validate:"body|required"`
}
RuleConfigReq -
type RuleExtensionStruct ¶
RuleExtensionStruct represents rule extensions for http rule or tcp rule
type ServiceCheckStruct ¶
type ServiceCheckStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: body
Body struct {
//uuid
// in: body
CheckUUID string `json:"uuid"`
//检测来源类型
// in: body
// required: true
SourceType string `json:"source_type" validate:"source_type|required|in:docker-run,docker-compose,sourcecode,third-party-service"`
CheckOS string `json:"check_os"`
// 检测来源定义,
// 代码: https://github.com/goodrain/rainbond.git master
// docker-run: docker run --name xxx nginx:latest nginx
// docker-compose: compose全文
// in: body
// required: true
SourceBody string `json:"source_body"`
TenantID string
Username string `json:"username"`
Password string `json:"password"`
EventID string `json:"event_id"`
}
}
ServiceCheckStruct 应用检测,支持源码检测,镜像检测,dockerrun检测
type ServiceGetCommon ¶
type ServiceGetCommon struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
}
ServiceGetCommon path参数
type ServiceImage ¶
type ServiceImage struct {
HubUrl string `json:"hub_url"`
HubUser string `json:"hub_user"`
HubPassword string `json:"hub_password"`
NameSpace string `json:"namespace"`
}
ServiceImage -
type ServiceLBPortChange ¶
type ServiceLBPortChange struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: path
// required: true
Port int `json:"port"`
//in: body
Body struct {
// in: body
// required: true
ChangePort int `json:"change_port" validate:"change_port|required"`
}
}
ServiceLBPortChange change lb port swagger:parameters changelbport
type ServicePortInnerOrOuter ¶
type ServicePortInnerOrOuter struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: path
// required: true
Port int `json:"port"`
//in: body
Body struct {
// 操作值 `close` or `open`
// in: body
// required: true
Operation string `json:"operation" validate:"operation|required|in:open,close"`
IfCreateExPort bool `json:"if_create_ex_port"`
}
}
ServicePortInnerOrOuter service port swagger:parameters PortInnerController PortOuterController
type ServicePorts ¶
type ServicePorts struct {
Port []*TenantServicesPort
}
ServicePorts service ports
type ServiceProbe ¶
type ServiceProbe struct {
Model
ServiceID string `gorm:"column:service_id;size:32" json:"service_id" validate:"service_id|between:30,33"`
ProbeID string `gorm:"column:probe_id;size:32" json:"probe_id" validate:"probe_id|required|between:30,33"`
Mode string `gorm:"column:mode;default:'liveness'" json:"mode" validate:"mode"`
Scheme string `gorm:"column:scheme;default:'scheme'" json:"scheme" validate:"scheme"`
Path string `gorm:"column:path" json:"path" validate:"path"`
Port int `gorm:"column:port;size:5;default:80" json:"port" validate:"port|numeric_between:1,65535"`
Cmd string `gorm:"column:cmd;size:150" json:"cmd" validate:"cmd"`
//http请求头,key=value,key2=value2
HTTPHeader string `gorm:"column:http_header;size:300" json:"http_header" validate:"http_header"`
//初始化等候时间
InitialDelaySecond int `gorm:"column:initial_delay_second;size:2;default:1" json:"initial_delay_second" validate:"initial_delay_second"`
//检测间隔时间
PeriodSecond int `gorm:"column:period_second;size:2;default:3" json:"period_second" validate:"period_second"`
//检测超时时间
TimeoutSecond int `gorm:"column:timeout_second;size:3;default:30" json:"timeout_second" validate:"timeout_second"`
//是否启用
IsUsed int `gorm:"column:is_used;size:1;default:0" json:"is_used" validate:"is_used|in:0,1"`
//标志为失败的检测次数
FailureThreshold int `gorm:"column:failure_threshold;size:2;default:3" json:"failure_threshold" validate:"failure_threshold"`
//标志为成功的检测次数
SuccessThreshold int `gorm:"column:success_threshold;size:2;default:1" json:"success_threshold" validate:"success_threshold"`
FailureAction string `json:"failure_action" validate:"failure_action"`
}
ServiceProbe 应用探针信息
type ServiceShare ¶
type ServiceShare struct {
// required: true
TenantName string `json:"tenant_name"`
// required: true
ServiceAlias string `json:"service_alias"`
Body struct {
//in: body
//应用分享Key
ServiceKey string `json:"service_key" validate:"service_key|required"`
AppVersion string `json:"app_version" validate:"app_version|required"`
EventID string `json:"event_id"`
ShareUser string `json:"share_user"`
ShareScope string `json:"share_scope"`
ImageInfo struct {
HubURL string `json:"hub_url"`
HubUser string `json:"hub_user"`
HubPassword string `json:"hub_password"`
Namespace string `json:"namespace"`
IsTrust bool `json:"is_trust,omitempty" validate:"is_trust"`
} `json:"image_info,omitempty"`
SlugInfo struct {
Namespace string `json:"namespace"`
FTPHost string `json:"ftp_host"`
FTPPort string `json:"ftp_port"`
FTPUser string `json:"ftp_username"`
FTPPassword string `json:"ftp_password"`
} `json:"slug_info,omitempty"`
}
}
ServiceShare service share swagger:parameters shareService
type ServiceSlug ¶
type ServiceSlug struct {
FtpHost string `json:"ftp_host"`
FtpPort string `json:"ftp_port"`
FtpUsername string `json:"ftp_username"`
FtpPassword string `json:"ftp_password"`
NameSpace string `json:"namespace"`
}
ServiceSlug -
type ServiceStruct ¶
type ServiceStruct struct {
TenantID string `json:"tenant_id" validate:"tenant_id"`
// in: path
// required: true
ServiceID string `json:"service_id" validate:"service_id"`
// 服务名称,用于有状态服务DNS
// in: body
// required: false
ServiceName string `json:"service_name" validate:"service_name"`
// 服务别名
// in: body
// required: true
ServiceAlias string `json:"service_alias" validate:"service_alias"`
// 组件类型
// in: body
// required: true
ServiceType string `json:"service_type" validate:"service_type"`
// 服务描述
// in: body
// required: false
Comment string `json:"comment" validate:"comment"`
// 服务版本
// in: body
// required: false
ServiceVersion string `json:"service_version" validate:"service_version"`
// 镜像名称
// in: body
// required: false
ImageName string `json:"image_name" validate:"image_name"`
// 容器CPU权重
// in: body
// required: false
ContainerCPU int `json:"container_cpu" validate:"container_cpu"`
// 容器最大内存
// in: body
// required: false
ContainerMemory int `json:"container_memory" validate:"container_memory"`
// 容器启动命令
// in: body
// required: false
ContainerCMD string `json:"container_cmd" validate:"container_cmd"`
// 容器环境变量
// in: body
// required: false
ContainerEnv string `json:"container_env" validate:"container_env"`
// 扩容方式;0:无状态;1:有状态;2:分区(v5.2用于接收组件的类型)
// in: body
// required: false
ExtendMethod string `json:"extend_method" validate:"extend_method"`
// 节点数
// in: body
// required: false
Replicas int `json:"replicas" validate:"replicas"`
// 部署版本
// in: body
// required: false
DeployVersion string `json:"deploy_version" validate:"deploy_version"`
// 服务分类:application,cache,store
// in: body
// required: false
Category string `json:"category" validate:"category"`
// 服务当前状态:undeploy,running,closed,unusual,starting,checking,stoping
// in: body
// required: false
CurStatus string `json:"cur_status" validate:"cur_status"`
// 最新操作ID
// in: body
// required: false
EventID string `json:"event_id" validate:"event_id"`
// 镜像来源
// in: body
// required: false
Namespace string `json:"namespace" validate:"namespace"`
// 更新时间
// in: body
// required: false
UpdateTime time.Time `json:"update_time" validate:"update_time"`
// 服务创建类型cloud云市服务,assistant云帮服务
// in: body
// required: false
ServiceOrigin string `json:"service_origin" validate:"service_origin"`
Kind string `json:"kind" validate:"kind|in:internal,third_party"`
EtcdKey string `json:"etcd_key" validate:"etcd_key"`
//OSType runtime os type
// in: body
// required: false
OSType string `json:"os_type" validate:"os_type|in:windows,linux"`
ServiceLabel string `json:"service_label" validate:"service_label|in:StatelessServiceType,StatefulServiceType"`
NodeLabel string `json:"node_label" validate:"node_label"`
Operator string `json:"operator" validate:"operator"`
RepoURL string `json:"repo_url" validate:"repo_url"`
DependIDs []dbmodel.TenantServiceRelation `json:"depend_ids" validate:"depend_ids"`
VolumesInfo []TenantServiceVolumeStruct `json:"volumes_info" validate:"volumes_info"`
DepVolumesInfo []dbmodel.TenantServiceMountRelation `json:"dep_volumes_info" validate:"dep_volumes_info"`
EnvsInfo []dbmodel.TenantServiceEnvVar `json:"envs_info" validate:"envs_info"`
PortsInfo []dbmodel.TenantServicesPort `json:"ports_info" validate:"ports_info"`
Endpoints *Endpoints `json:"endpoints" validate:"endpoints"`
}
ServiceStruct service struct
type ServicesInfoStruct ¶
type ServicesInfoStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
}
ServicesInfoStruct ServicesInfoStruct swagger:parameters getServiceInfo
type ServicesResources ¶
type ServicesResources struct {
// in: body
Body struct {
// in: body
// required: true
ServiceIDs []string `json:"service_ids" validate:"service_ids"`
}
}
ServicesResources ServicesResources swagger:parameters serviceResources
type SetDefineSourcesStruct ¶
type SetDefineSourcesStruct 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: body
Body struct {
//in: body
//required: true
SourceSpec *SourceSpec `json:"source_spec" validate:"source_spec"`
}
}
SetDefineSourcesStruct SetDefineSourcesStruct
type SetLanguageStruct ¶
type SetLanguageStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
//in: body
Body struct {
// the tenant id
// in: body
// required: true
EventID string `json:"event_id"`
// the language
// in: body
// required: true
Language string `json:"language"`
}
}
SetLanguageStruct SetLanguageStruct swagger:parameters setLanguage
type 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"`
}
}
SetNetDownStreamRuleStruct SetNetDownStreamRuleStruct
type SetVersionEnv ¶
type SetVersionEnv struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// 插件id
// in: path
// required: true
PluginID string `json:"plugin_id"`
//in: body
Body struct {
TenantID string `json:"tenant_id"`
ServiceID string `json:"service_id"`
// 环境变量
// in: body
// required: true
ConfigEnvs ConfigEnvs `json:"config_envs" validate:"config_envs"`
}
}
SetVersionEnv SetVersionEnv
type 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"`
}
SourceSpec SourceSpec
type SoureBody ¶
type SoureBody struct {
EnvName string `json:"env_name" validate:"env_name"`
EnvVal interface{} `json:"env_value" validate:"env_value"`
}
SoureBody SoureBody
type StartOrStopInfoRequestStruct ¶
type StartOrStopInfoRequestStruct struct {
//Event trace ID
EventID string `json:"event_id"`
ServiceID string `json:"service_id"`
Configs map[string]string `json:"configs"`
// When determining the startup sequence of services, you need to know the services they depend on
DepServiceIDInBootSeq []string `json:"dep_service_ids_in_boot_seq"`
}
StartOrStopInfoRequestStruct -
type StartServiceStruct ¶
type StartServiceStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
//in: body
Body struct {
// the tenant id
// in: body
// required: false
EventID string `json:"event_id"`
}
}
StartServiceStruct StartServiceStruct
type StartStopStruct ¶
type StartStopStruct struct {
ServiceID string
TenantID string
DeployVersion string
EventID string
TaskType string
}
StartStopStruct start struct
type StatusList ¶
type StatusList struct {
TenantID string `json:"tenant_id"`
ServiceID string `json:"service_id"`
ServiceAlias string `json:"service_alias"`
DeployVersion string `json:"deploy_version"`
Replicas int `json:"replicas"`
ContainerMem int `json:"container_memory"`
CurStatus string `json:"cur_status"`
ContainerCPU int `json:"container_cpu"`
StatusCN string `json:"status_cn"`
StartTime string `json:"start_time"`
PodList []PodsList `json:"pod_list"`
}
StatusList status list
type StatusServiceListStruct ¶
type StatusServiceListStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: body
// required: true
Body struct {
// 需要获取状态的服务ID列表,若不指定,返回租户所有应用的状态
// in: body
// required: true
ServiceIDs []string `json:"service_ids" validate:"service_ids|required"`
}
}
StatusServiceListStruct StatusServiceListStruct
type StatusServiceStruct ¶
type StatusServiceStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
}
StatusServiceStruct StatusServiceStruct
type TenantAndResource ¶
type TenantAndResource struct {
dbmodel.Tenants
CPURequest int64 `json:"cpu_request"`
CPULimit int64 `json:"cpu_limit"`
MemoryRequest int64 `json:"memory_request"`
MemoryLimit int64 `json:"memory_limit"`
UnscdCPUReq int64 `json:"unscd_cpu_req"`
UnscdCPULimit int64 `json:"unscd_cpu_limit"`
UnscdMemoryReq int64 `json:"unscd_memory_req"`
UnscdMemoryLimit int64 `json:"unscd_memory_limit"`
RunningAppNum int64 `json:"running_app_num"`
RunningAppInternalNum int64 `json:"running_app_internal_num"`
RunningAppThirdNum int64 `json:"running_app_third_num"`
}
TenantAndResource tenant and resource strcut
type TenantList ¶
type TenantList []*TenantAndResource
TenantList Tenant list struct
func (TenantList) Len ¶
func (list TenantList) Len() int
func (TenantList) Less ¶
func (list TenantList) Less(i, j int) bool
func (TenantList) Paging ¶
func (list TenantList) Paging(page, pageSize int) map[string]interface{}
Paging paging
func (TenantList) Swap ¶
func (list TenantList) Swap(i, j int)
type TenantLogByLevelStruct ¶
type TenantLogByLevelStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name" validate:"tenant_name"`
// in: body
Body struct {
// 日志级别info/debug/error
// in: body
// required: true
Level string `json:"level" validate:"level|required"`
// eventID
// in: body
// required: true
EventID string `json:"event_id" validate:"event_id|required"`
}
}
TenantLogByLevelStruct GetTenantLogByLevelStruct
type TenantResList ¶
type TenantResList []*TenantResource
TenantResList TenantResList
func (TenantResList) Len ¶
func (list TenantResList) Len() int
func (TenantResList) Less ¶
func (list TenantResList) Less(i, j int) bool
func (TenantResList) Swap ¶
func (list TenantResList) Swap(i, j int)
type TenantResource ¶
type TenantResource struct {
//without plugin
AllocatedCPU int `json:"alloc_cpu"`
//without plugin
AllocatedMEM int `json:"alloc_memory"`
//with plugin
UsedCPU int `json:"used_cpu"`
//with plugin
UsedMEM int `json:"used_memory"`
UsedDisk float64 `json:"used_disk"`
Name string `json:"name"`
UUID string `json:"uuid"`
EID string `json:"eid"`
}
TenantResource abandoned
type TenantResources ¶
type TenantResources struct {
// in: body
Body struct {
// in: body
// required: true
TenantNames []string `json:"tenant_name" validate:"tenant_name"`
}
}
TenantResources TenantResources swagger:parameters tenantResources
type TenantServiceVolume ¶
type TenantServiceVolume struct {
Model
ServiceID string `gorm:"column:service_id;size:32" json:"service_id" validate:"service_id"`
//服务类型
Category string `gorm:"column:category;size:50" json:"category" validate:"category|required"`
HostPath string `gorm:"column:host_path" json:"host_path" validate:"host_path|required"`
VolumePath string `gorm:"column:volume_path" json:"volume_path" validate:"volume_path|required"`
IsReadOnly bool `gorm:"column:is_read_only;default:false" json:"is_read_only" validate:"is_read_only|bool"`
}
TenantServiceVolume 应用持久化记录
type TenantServiceVolumeStruct ¶
type TenantServiceVolumeStruct struct {
Model
ServiceID string ` json:"service_id"`
//服务类型
Category string `json:"category"`
//存储类型(share,local,tmpfs)
VolumeType string `json:"volume_type"`
//存储名称
VolumeName string `json:"volume_name"`
//主机地址
HostPath string `json:"host_path"`
//挂载地址
VolumePath string `json:"volume_path"`
//是否只读
IsReadOnly bool `json:"is_read_only"`
FileContent string `json:"file_content"`
}
TenantServiceVolumeStruct -
type TenantServicesPort ¶
type TenantServicesPort struct {
Model
TenantID string `gorm:"column:tenant_id;size:32" validate:"tenant_id|between:30,33" json:"tenant_id"`
ServiceID string `gorm:"column:service_id;size:32" validate:"service_id|between:30,33" json:"service_id"`
ContainerPort int `gorm:"column:container_port" validate:"container_port|required|numeric_between:1,65535" json:"container_port"`
MappingPort int `gorm:"column:mapping_port" validate:"mapping_port|required|numeric_between:1,65535" json:"mapping_port"`
Protocol string `gorm:"column:protocol" validate:"protocol|required|in:http,https,stream,grpc" json:"protocol"`
PortAlias string `gorm:"column:port_alias" validate:"port_alias|required|alpha_dash" json:"port_alias"`
IsInnerService bool `gorm:"column:is_inner_service" validate:"is_inner_service|bool" json:"is_inner_service"`
IsOuterService bool `gorm:"column:is_outer_service" validate:"is_outer_service|bool" json:"is_outer_service"`
}
TenantServicesPort 应用端口信息
type ThridPartyServiceProbe ¶
type ThridPartyServiceProbe struct {
Scheme string `json:"scheme;"`
Path string `json:"path"`
Port int `json:"port"`
TimeInterval int `json:"time_interval"`
MaxErrorNum int `json:"max_error_num"`
Action string `json:"action"`
}
ThridPartyServiceProbe is the json obejct in the request to update or fetch the ThridPartyServiceProbe.
type TokenInfo ¶
type TokenInfo struct {
EID string `json:"eid"`
Token string `json:"token"`
CA string `json:"ca"`
Key string `json:"key"`
}
TokenInfo TokenInfo
type TotalStatsInfo ¶
type TotalStatsInfo struct {
Data []*StatsInfo `json:"data"`
}
TotalStatsInfo total stats info
type TransPlugins ¶
type TransPlugins struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
//in: body
Body struct {
// 从该租户安装
// in: body
// required: true
FromTenantName string `json:"from_tenant_name" validate:"from_tenant_name"`
// 插件id
// in: body
// required: true
PluginsID []string `json:"plugins_id" validate:"plugins_id"`
}
}
TransPlugins TransPlugins
type UpdCertificateReq ¶
type UpdCertificateReq struct {
CertificateID string `json:"certificate_id"`
CertificateName string `json:"certificate_name"`
Certificate string `json:"certificate"`
PrivateKey string `json:"private_key"`
}
UpdCertificateReq -
type UpdEndpiontsReq ¶
type UpdEndpiontsReq struct {
EpID string `json:"ep_id" validate:"required|len:32"`
Address string `json:"address"`
IsOnline bool `json:"is_online" validate:"required"`
}
UpdEndpiontsReq is one of the Endpoints in the request to update the endpints.
type UpdRuleConfigReq ¶
type UpdRuleConfigReq struct {
ConfigID string `json:"config_id" validate:"config_id|required"`
Key string `json:"key"`
Value string `json:"value"`
}
UpdRuleConfigReq -
type UpdVolumeReq ¶
type UpdVolumeReq struct {
VolumeName string `json:"volume_name" validate:"required"`
VolumeType string `json:"volume_type" validate:"volume_type|required"`
FileContent string `json:"file_content"`
VolumePath string `json:"volume_path" validate:"volume_path|required"`
}
UpdVolumeReq is a value struct holding request for updating volume.
type UpdateDefineSourcesStruct ¶
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"`
// in: body
Body struct {
//in: body
//required: true
SourceSpec *SourceSpec `json:"source_spec" validate:"source_spec"`
}
}
UpdateDefineSourcesStruct UpdateDefineSourcesStruct
type UpdateHTTPRuleStruct ¶
type UpdateHTTPRuleStruct struct {
HTTPRuleID string `json:"http_rule_id" validate:"http_rule_id|required"`
ServiceID string `json:"service_id"`
ContainerPort int `json:"container_port"`
Domain string `json:"domain"`
Path string `json:"path"`
Header string `json:"header"`
Cookie string `json:"cookie"`
Weight int `json:"weight"`
IP string `json:"ip"`
CertificateID string `json:"certificate_id"`
Certificate string `json:"certificate"`
PrivateKey string `json:"private_key"`
RuleExtensions []*RuleExtensionStruct `json:"rule_extensions"`
}
UpdateHTTPRuleStruct is used to update http rule, certificate and rule extensions
type 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"`
}
}
UpdateNetDownStreamRuleStruct UpdateNetDownStreamRuleStruct
type UpdatePluginStruct ¶
type UpdatePluginStruct struct {
// 租户名称
// in: path
// required: true
TenantName string `json:"tenant_name" validate:"tenant_name|required"`
// 插件id
// in: path
// required: true
PluginID string `json:"plugin_id" validate:"tenant_name|required"`
// in: body
Body struct {
//插件名称
//in: body
//required: false
PluginName string `json:"plugin_name" validate:"plugin_name"`
//插件用途描述
//in: body
//required: false
PluginInfo string `json:"plugin_info" validate:"plugin_info"`
//插件docker地址
//in: body
//required: false
ImageURL string `json:"image_url" validate:"image_url"`
//git地址
//in: body
//required: false
GitURL string `json:"git_url" validate:"git_url"`
//构建模式
//in: body
//required: false
BuildModel string `json:"build_model" validate:"build_model"`
//插件模式
//in: body
//required: false
PluginModel string `json:"plugin_model" validate:"plugin_model"`
}
}
UpdatePluginStruct UpdatePluginStruct
type UpdateServiceStruct ¶
type UpdateServiceStruct 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: false
ContainerCMD string `gorm:"column:container_cmd;size:2048" json:"container_cmd" validate:"container_cmd"`
// 镜像名称
// in: body
// required: false
ImageName string `gorm:"column:image_name;size:100" json:"image_name" validate:"image_name"`
// 容器最大内存
// in: body
// required: false
ContainerMemory int `gorm:"column:container_memory;default:128" json:"container_memory" validate:"container_memory"`
}
}
UpdateServiceStruct service update swagger:parameters updateService
type UpdateTCPRuleStruct ¶
type UpdateTCPRuleStruct struct {
TCPRuleID string `json:"tcp_rule_id" validate:"tcp_rule_id|required"`
ServiceID string `json:"service_id"`
ContainerPort int `json:"container_port"`
IP string `json:"ip"`
Port int `json:"port"`
RuleExtensions []*RuleExtensionStruct `json:"rule_extensions"`
}
UpdateTCPRuleStruct is used to update tcp rule and rule extensions
type UpdateTenantStruct ¶
type UpdateTenantStruct struct {
//in: body
Body struct {
// the eid
// in : body
// required: false
LimitMemory int `json:"limit_memory" validate:"limit_memory"`
}
}
UpdateTenantStruct UpdateTenantStruct swagger:parameters updateTenant
type UpdateToken ¶
type UpdateToken struct {
// in: path
// required: true
EID string `json:"eid" validate:"eid|required"`
//in: body
Body struct {
// 有效期
// in: body
// required: true
ValidityPeriod int `json:"validity_period" validate:"validity_period|required"` //1549812345
}
}
UpdateToken UpdateToken
type UpgradeInfoRequestStruct ¶
type UpgradeInfoRequestStruct struct {
//UpgradeVersion The target version of the upgrade
//If empty, the same version is upgraded
UpgradeVersion string `json:"upgrade_version"`
//Event trace ID
EventID string `json:"event_id"`
ServiceID string `json:"service_id"`
Configs map[string]string `json:"configs"`
}
UpgradeInfoRequestStruct -
type UpgradeServiceStruct ¶
type UpgradeServiceStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
//in: body
Body struct {
// the event id
// in: body
// required: false
EventID string `json:"event_id"`
// 版本号
// in: body
// required: true
DeployVersion int `json:"deploy_version"`
// 操作人员
// in: body
// required: false
Operator int `json:"operator"`
}
}
UpgradeServiceStruct UpgradeServiceStruct
type V1BuildServiceStruct ¶
type V1BuildServiceStruct struct {
// in: path
// required: true
ServiceID string `json:"service_id" validate:"service_id"`
Body struct {
ServiceID string `json:"service_id" validate:"service_id"`
EventID string `json:"event_id" validate:"event_id"`
ENVS string `json:"envs" validate:"envs"`
Kind string `json:"kind" validate:"kind"`
Action string `json:"action" validate:"action"`
ImageURL string `json:"image_url" validate:"image_url"`
DeployVersion string `json:"deploy_version" validate:"deploy_version|required"`
RepoURL string `json:"repo_url" validate:"repo_url"`
GitURL string `json:"gitUrl" validate:"gitUrl"`
Operator string `json:"operator" validate:"operator"`
}
}
V1BuildServiceStruct V1BuildServiceStruct
type V2AddVolumeDependencyStruct ¶
type V2AddVolumeDependencyStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 依赖的服务id
// in: body
// required: true
DependServiceID string `json:"depend_service_id" validate:"depend_service_id|required"`
// 挂载目录
// in: body
// required: true
MntDir string `json:"mnt_dir" validate:"mnt_dir|required"`
// 挂载容器内目录名称
// in: body
// required: true
MntName string `json:"mnt_name" validate:"mnt_name|required"`
}
}
V2AddVolumeDependencyStruct AddVolumeDependencyStruct
type V2AddVolumeStruct ¶
type V2AddVolumeStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 类型 "application;app_publish"
// in: body
// required: true
Category string `json:"category"`
// 容器挂载目录
// in: body
// required: true
VolumePath string `json:"volume_path" validate:"volume_path|required|regex:^/"`
// 宿主机挂载目录
// in: body
// required: true
HostPath string `json:"host_path" validate:"volume_path|required|regex:^/"`
//存储驱动名称
VolumeProviderName string `json:"volume_provider_name"`
// 存储大小
VolumeCapacity int64 `json:"volume_capacity" validate:"volume_capacity|required|min:1"` // 单位Mi
// AccessMode 读写模式(Important! A volume can only be mounted using one access mode at a
AccessMode string `gorm:"column:access_mode" json:"access_mode"`
// SharePolicy 共享模式
SharePolicy string `gorm:"column:share_policy" json:"share_policy"`
// BackupPolicy 备份策略
BackupPolicy string `gorm:"column:backup_policy" json:"backup_policy"`
// ReclaimPolicy 回收策略
ReclaimPolicy string `json:"reclaim_policy"`
// AllowExpansion 是否支持扩展
AllowExpansion bool `gorm:"column:allow_expansion" json:"allow_expansion"`
}
}
V2AddVolumeStruct AddVolumeStruct
type V2DelVolumeDependencyStruct ¶
type V2DelVolumeDependencyStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 依赖的服务id
// in: body
// required: true
DependServiceID string `json:"depend_service_id" validate:"depend_service_id|required"`
}
}
V2DelVolumeDependencyStruct V2DelVolumeDependencyStruct
type V2DelVolumeStruct ¶
type V2DelVolumeStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
// in: body
Body struct {
// 类型 "application;app_publish"
// in: body
// required: true
Category string `json:"category"`
// 容器挂载目录
// in: body
// required: true
VolumePath string `json:"volume_path" validate:"volume_path|required|regex:^/"`
}
}
V2DelVolumeStruct AddVolumeStruct
type VersionEnv ¶
type VersionEnv struct {
//变量名
//in:body
//required: true
EnvName string `json:"env_name" validate:"env_name"`
//变量值
//in:body
//required: true
EnvValue string `json:"env_value" validate:"env_value"`
}
VersionEnv VersionEnv
type VerticalServiceStruct ¶
type VerticalServiceStruct struct {
// in: path
// required: true
TenantName string `json:"tenant_name"`
// in: path
// required: true
ServiceAlias string `json:"service_alias"`
//in: body
Body struct {
// the event id
// in: body
// required: false
EventID string `json:"event_id"`
// cpu数量
// in: body
// required: false
ContainerCPU int `json:"container_cpu"`
// 内存大小
// in: body
// required: false
ContainerMemory int `json:"container_memory"`
}
}
VerticalServiceStruct VerticalServiceStruct
type VolumeTypePageStruct ¶
type VolumeTypePageStruct struct {
// contains filtered or unexported fields
}
VolumeTypePageStruct volume option struct with page
type VolumeTypeStruct ¶
type VolumeTypeStruct struct {
VolumeType string `json:"volume_type" validate:"volume_type|required"`
NameShow string `json:"name_show"`
CapacityValidation map[string]interface{} `json:"capacity_validation"`
Description string `json:"description"`
AccessMode []string `json:"access_mode"` // 读写模式(Important! A volume can only be mounted using one access mode at a time, even if it supports many. For example, a GCEPersistentDisk can be mounted as ReadWriteOnce by a single node or ReadOnlyMany by many nodes, but not at the same time. #https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
BackupPolicy []string `json:"backup_policy"` // 备份策略
ReclaimPolicy string `json:"reclaim_policy"` // 回收策略,delete, retain, recyle
Provisioner string `json:"provisioner"` //存储提供方
StorageClassDetail map[string]interface{} `json:"storage_class_detail" validate:"storage_class_detail|required"`
Sort int `json:"sort"` // 排序
Enable bool `json:"enable"` // 是否生效
}
VolumeTypeStruct volume option struct
type VolumeWithStatusResp ¶
type VolumeWithStatusResp struct {
ServiceID string `json:"service_id"`
//存储名称
Status map[string]string `json:"status"`
}
VolumeWithStatusResp volume status
type VolumeWithStatusStruct ¶
type VolumeWithStatusStruct struct {
ServiceID string `json:"service_id"`
//服务类型
Category string `json:"category"`
//存储类型(share,local,tmpfs)
VolumeType string `json:"volume_type"`
//存储名称
VolumeName string `json:"volume_name"`
//主机地址
HostPath string `json:"host_path"`
//挂载地址
VolumePath string `json:"volume_path"`
//是否只读
IsReadOnly bool `json:"is_read_only"`
// VolumeCapacity 存储大小
VolumeCapacity int64 `json:"volume_capacity"`
// AccessMode 读写模式(Important! A volume can only be mounted using one access mode at a time, even if it supports many. For example, a GCEPersistentDisk can be mounted as ReadWriteOnce by a single node or ReadOnlyMany by many nodes, but not at the same time. #https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)
AccessMode string `json:"access_mode"`
SharePolicy string `json:"share_policy"`
// BackupPolicy 备份策略
BackupPolicy string `json:"backup_policy"`
// ReclaimPolicy 回收策略
ReclaimPolicy string `json:"reclaim_policy"`
// AllowExpansion 是否支持扩展
AllowExpansion bool `json:"allow_expansion"`
// VolumeProviderName 使用的存储驱动别名
VolumeProviderName string `json:"volume_provider_name"`
Status string `json:"status"`
}
VolumeWithStatusStruct volume with status struct