host

package
v0.0.0-...-9a03492 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2022 License: MIT Imports: 3 Imported by: 0

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
}

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 {
}

type Host

type Host struct {
	// 资源共有属性部分 做资源搜索
	*Resource
	// 资源独有属性部分
	*Describe
}

Host 模型定义

func NewHost

func NewHost() *Host

Host构造函数

func (*Host) InjectDefault

func (h *Host) InjectDefault()

初始化默认值

func (*Host) Validate

func (h *Host) Validate() error

数据校验(根据实体中validate进行反射)

type HostSet

type HostSet struct {
	// 主机列表
	Items []*Host `json:"items"`
	// 主机总数量
	Total int `json:"total"`
}

type QueryHostRequest

type QueryHostRequest struct {
}

type Resource

type Resource struct {
	Id          string `json:"id"  validate:"required"`     // 全局唯一Id
	Vendor      Vendor `json:"vendor"`                      // 厂商
	Region      string `json:"region"  validate:"required"` // 地域
	CreateAt    string `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"`                      // 服务商中的状态
	UpdateAt    int64  `json:"update_at"`                   // 更新时间
	SyncAt      int64  `json:"sync_at"`                     // 同步时间
	Account     string `json:"accout"`                      // 资源的所属账号
	PublicIP    string `json:"public_ip"`                   // 公网IP
	PrivateIP   string `json:"private_ip"`                  // 内网IP
}

共有资源模型

type Service

type Service interface {
	CreateHost(context.Context, *Host) (*Host, error)
	// 查询主机列表
	QueryHost(context.Context, *QueryHostRequest) (*HostSet, error)
	// 查询主机详情
	DescribeHost(context.Context, *DescribeHostRequest) (*Host, error)
	// 主机更新
	UpdateHost(context.Context, *UpdateHostRequest) (*Host, error)
	// 主机删除
	DeleteHost(context.Context, *DeleteHostRequest) (*Host, error)
}

host app 接口定义

type UpdateHostRequest

type UpdateHostRequest struct {
	*Describe
}

type Vendor

type Vendor int
const (
	PrivateIDC Vendor = iota
	Tencent
	AliYun
	HuaWei
)

枚举混合云厂商

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL