host

package
v0.0.0-...-14ee9cd Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2022 License: MIT Imports: 7 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 DescirbeHostRequest

type DescirbeHostRequest struct {
	Id string
}

func NewDescribeHostWithId

func NewDescribeHostWithId(id string) *DescirbeHostRequest

type Describe

type Describe struct {
	CPU          int    `json:"cpu" validate:"required"`
	Memory       int    `json:"memory" validate:"required"`
	GPUAmount    int    `json:"gpu_amount"`
	GPUSpec      string `json:"gpu_spec"`
	OSType       string `json:"os_type"`
	OSName       string `json:"os_name"`
	SerialNumber string `json:"serial_number"`
}

type Host

type Host struct {
	//资源共有属性
	*Resource
	//私有属性
	*Describe
}

Host 模型的定义

func NewHost

func NewHost() *Host

func (*Host) InjectDefault

func (h *Host) InjectDefault()

func (*Host) Patch

func (h *Host) Patch(obj *Host) error

func (*Host) Put

func (h *Host) Put(obj *Host) error

对象的全量更新

func (*Host) Validate

func (h *Host) Validate() error

type HostSet

type HostSet struct {
	Total int
	Items []*Host
}

func NewHostSet

func NewHostSet() *HostSet

func (*HostSet) Add

func (s *HostSet) Add(item *Host)

type QueryHostRequest

type QueryHostRequest struct {
	PageSize   int    `json:"page_size"`
	PageNumber int    `json:"page_number"`
	Keywords   string `json:"kws"`
}

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"`
	Zone     string `json:"zone"`
	CreateAt int64  `json:"create_at"`
	ExpireAt int64  `json:"expire_at"`
	Category string `json:"category"`
	Type     string `json:"type" validate:"required"`
	//InstanceID  string `json:"instance_id"`
	Name        string `json:"name" validate:"required"`
	Description string `json:"description"`
	Status      string `json:"status"` //服务商中的状态
	Tags        string `json:"tags"`
	UpdateAt    int64  `json:"update_at"`
	SyncAt      int64  `json:"sync_at"`
	Account     string `json:"account"` //资源所属账号
	PublicIP    string `json:"public_ip"`
	PrivateIP   string `json:"private_ip"`
	PayType     string `json:"pay_type"`
}

type Service

type Service interface {
	// CreateHost 录入主机
	CreateHost(context.Context, *Host) (*Host, error)
	// QueryHost 查询主机
	QueryHost(context.Context, *QueryHostRequest) (*HostSet, error)
	// DescribeHost 查询主机详情
	DescribeHost(context.Context, *DescirbeHostRequest) (*Host, error)
	// UpdateHost 主机更新
	UpdateHost(context.Context, *UpdateHostRequest) (*Host, error)
	// DeleteHost 主机删除, 比如前端需要打印当前删除主机的ip或者其他的信息
	DeleteHost(context.Context, *DeleteHostRequest) (*Host, error)
}

type UPDATE_MODE

type UPDATE_MODE string
const (
	UPDATE_MODE_PUT UPDATE_MODE = "put"

	UPDATE_MODE_PATCH UPDATE_MODE = "patch"
)

type UpdateHostRequest

type UpdateHostRequest struct {
	//Id         string      `json:"id"`
	UpdateMode UPDATE_MODE `json:"update_mode"`
	*Host
}

func NewPatchUpdateHostRequest

func NewPatchUpdateHostRequest(id string) *UpdateHostRequest

func NewPutUpdateHostRequest

func NewPutUpdateHostRequest(id string) *UpdateHostRequest

type Vendor

type Vendor int
const (
	Private_IDC Vendor = iota
	ALIYUN
	TXYUN
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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