Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ObjectPatch ¶
func ObjectPatch(old, new interface{}) error
patch JSON {a: 1, b: 2}, {b:20} ===> {a:1, b:20}
Types ¶
type Base ¶
type Base struct { Id string `json:"id"` // 全局唯一Id SyncAt int64 `json:"sync_at"` // 同步时间 Vendor Vendor `json:"vendor"` // 厂商 Region string `json:"region"` // 地域 Zone string `json:"zone"` // 区域 CreateAt int64 `json:"create_at"` // 创建时间 InstanceId string `json:"instance_id"` // 实例ID ResourceHash string `json:"resource_hash"` // 基础数据Hash DescribeHash string `json:"describe_hash"` // 描述数据Hash }
type DeleteHostRequest ¶
type DeleteHostRequest struct {
Id string `json:"id" validate:"required"`
}
func NewDeleteHostRequestWithID ¶
func NewDeleteHostRequestWithID(id string) *DeleteHostRequest
type Describe ¶
type Describe struct { ResourceId string `json:"resource_id"` // 关联Resource CPU int `json:"cpu"` // 核数 Memory int `json:"memory"` // 内存 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"` // 序列号 ImageID string `json:"image_id"` // 镜像ID InternetMaxBandwidthOut int `json:"internet_max_bandwidth_out"` // 公网出带宽最大值,单位为 Mbps InternetMaxBandwidthIn int `json:"internet_max_bandwidth_in"` // 公网入带宽最大值,单位为 Mbps KeyPairName string `json:"key_pair_name,omitempty"` // 秘钥对名称 SecurityGroups string `json:"security_groups"` // 安全组 采用逗号分隔 }
type DescribeHostRequest ¶
type DescribeHostRequest struct {
Id string `json:"id" validate:"required"`
}
func NewDescribeHostRequestWithID ¶
func NewDescribeHostRequestWithID(id string) *DescribeHostRequest
type Host ¶
func NewDefaultHost ¶
func NewDefaultHost() *Host
func (*Host) Patch ¶
func (h *Host) Patch(req *UpdateHostData) error
func (*Host) Put ¶
func (h *Host) Put(req *UpdateHostData)
type HostSet ¶
func NewHostSet ¶
func NewHostSet() *HostSet
type QueryHostRequest ¶
type QueryHostRequest struct { PageSize uint64 `json:"page_size,omitempty"` PageNumber uint64 `json:"page_number,omitempty"` Keywords string `json:"keywords"` }
func NewQueryHostRequestFromHTTP ¶
func NewQueryHostRequestFromHTTP(r *http.Request) *QueryHostRequest
func (*QueryHostRequest) OffSet ¶
func (req *QueryHostRequest) OffSet() int64
type Resource ¶
type Resource struct { ExpireAt int64 `json:"expire_at"` // 过期时间 Category string `json:"category"` // 种类 Type string `json:"type"` // 规格 Name string `json:"name"` // 名称 Description string `json:"description"` // 描述 Status string `json:"status"` // 服务商中的状态 Tags map[string]string `json:"tags"` // 标签 UpdateAt int64 `json:"update_at"` // 更新时间 SyncAccount string `json:"sync_accout"` // 同步的账号 PublicIP string `json:"public_ip"` // 公网IP PrivateIP string `json:"private_ip"` // 内网IP PayType string `json:"pay_type"` // 实例付费方式 }
type Service ¶
type Service interface { SaveHost(context.Context, *Host) (*Host, error) QueryHost(context.Context, *QueryHostRequest) (*HostSet, error) UpdateHost(context.Context, *UpdateHostRequest) (*Host, error) DescribeHost(context.Context, *DescribeHostRequest) (*Host, error) DeleteHost(context.Context, *DeleteHostRequest) (*Host, error) }
type UpdateHostData ¶
type UpdateHostRequest ¶
type UpdateHostRequest struct { Id string `json:"id" validate:"required"` UpdateMode UpdateMode `json:"update_mode"` UpdateHostData *UpdateHostData `json:"data" validate:"required"` }
func NewUpdateHostRequest ¶
func NewUpdateHostRequest(id string) *UpdateHostRequest
func (*UpdateHostRequest) Validate ¶
func (req *UpdateHostRequest) Validate() error
Click to show internal directories.
Click to hide internal directories.