Documentation
¶
Index ¶
Constants ¶
View Source
const (
AppName = "Host"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeleteHostRequest ¶
type DeleteHostRequest struct {
Id string
}
func NewDeleteHostRequest ¶
func NewDeleteHostRequest(id string) *DeleteHostRequest
type Describe ¶
type Describe struct {
CPU int `json:"cpu" validate:"required"` // 核数
Memory int `json:"memory" validate:"required"` // 内存
GPUAmount int `json:"gpu_amount"` // GPU数量
GPUSpec string `json:"gpu_spec"` // GPU类型
OSType string `json:"os_type"` // 操作系统类型,分为Windows和Linux
OSName string `json:"os_name"` // 操作系统名称
SerialNumber string `json:"serial_number"` // 序列号
}
type DescribeHostRequest ¶
type DescribeHostRequest struct {
Id string
}
DescribeHostRequest 查询主机详情的时候,我们可以通过主键进行关联查询,后面我们会详细说明
func NewDescribeHostRequestWithId ¶
func NewDescribeHostRequestWithId(id string) *DescribeHostRequest
type HostSet ¶
func NewHostSet ¶
func NewHostSet() *HostSet
type QueryHostRequest ¶
type QueryHostRequest struct {
PageSize int `json:"page_size"`
PageNumber int `json:"page_number"`
Keywords string `json:"kws"`
}
QueryHostRequest 入参结果体 由于Query是在前端发出的请求,假设我们查到了1万条数据,不能全部都返回给前端,这里要做一个分页操作
func NewQueryHostFromHTTP ¶
func NewQueryHostFromHTTP(r *http.Request) *QueryHostRequest
func NewQueryHostRequest ¶
func NewQueryHostRequest() *QueryHostRequest
func (*QueryHostRequest) GetPageSize ¶
func (req *QueryHostRequest) GetPageSize() uint
func (*QueryHostRequest) OffSet ¶
func (req *QueryHostRequest) OffSet() int64
type Resource ¶
type Resource struct {
Id string `json:"id" validate:"required"` // 全局唯一Id
Vendor Vendor `json:"vendor"` // 厂商
Region string `json:"region" validate:"required"` // 地域
CreateAt int64 `json:"create_at"` // 创建时间
ExpireAt int64 `json:"expire_at"` // 过期时间
Type string `json:"type" validate:"required"` // 规格
Name string `json:"name" validate:"required"` // 名称
Description string `json:"description"` // 描述
Status string `json:"status"` // 服务商中的状态
// Tags map[string]string `json:"tags"` // 标签
UpdateAt int64 `json:"update_at"` // 更新时间
SyncAt int64 `json:"sync_at"` // 同步时间
Account string `json:"account"` // 资源的所属账号
PublicIP string `json:"public_ip"` // 公网IP
PrivateIP string `json:"private_ip"` // 内网IP
}
type Service ¶
type Service interface {
// CreateHost 录入主机
CreateHost(context.Context, *Host) (*Host, error)
// QueryHost 查询主机列表
QueryHost(context.Context, *QueryHostRequest) (*HostSet, error)
// DescribeHost 查询主机详情
DescribeHost(context.Context, *DescribeHostRequest) (*Host, error)
// UpdateHost 主机更新
UpdateHost(context.Context, *UpdateHostRequest) (*Host, error)
// DeleteHost 主机删除, 比如前端需要 打印当前删除主机的Ip或者其他信息
DeleteHost(context.Context, *DeleteHostRequest) (*Host, error)
}
Service host app service 的接口定义
type UPDATE_MODE ¶
type UPDATE_MODE string
UPDATE_MODE 这里的Update分为全量更新或者部分更新
const ( // UPDATE_MODE_PUT 全量更新 UPDATE_MODE_PUT UPDATE_MODE = "put" // UPDATE_MODE_PATCH 局部更新 UPDATE_MODE_PATCH UPDATE_MODE = "patch" )
type UpdateHostRequest ¶
type UpdateHostRequest struct {
UpdateMode UPDATE_MODE `json:"update_mode"`
*Host
}
func NewPatchUpdateHostRequest ¶
func NewPatchUpdateHostRequest(id string) *UpdateHostRequest
func NewPutUpdateHostRequest ¶
func NewPutUpdateHostRequest(id string) *UpdateHostRequest
Click to show internal directories.
Click to hide internal directories.