cloud

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	INTERNAL_SERVER_ERROR                     string = "INTERNAL_SERVER_ERROR"                     //= 500 //服务端内部错误。
	SERVICE_TEMPORARY_UNAVAILABLE             string = "SERVICE_TEMPORARY_UNAVAILABLE"             //= 503 //服务端暂时不可用,请稍后操作。
	REQUEST_TIMED_OUT                         string = "REQUEST_TIMED_OUT"                         //= 503 //请求超时。
	AUTHFAILURE_INVALID_AUTHORIZATION         string = "AUTHFAILURE_INVALID_AUTHORIZATION"         //= 401 //请求头部的 Authorization 不符合Zenalyer Cloud标准。
	AUTHFAILURE_SIGNATURE_FAILURE             string = "AUTHFAILURE_SIGNATURE_FAILURE"             //= 401 //签名计算错误。请对照调用方式中的签名方法文档检查签名计算过程。
	AUTHFAILURE_UNAUTHORIZED_OPERATION        string = "AUTHFAILURE_UNAUTHORIZED_OPERATION"        //= 401 //请求未授权,请确认接口存在或者有授予了访问权限。
	AUTHFAILURE_SIGNATURE_EXPIRED             string = "AUTHFAILURE_SIGNATURE_EXPIRED"             //= 401 //签名过期。Timestamp和服务器时间不得相差超过五分钟。
	MISSING_PARAMETER                         string = "MISSING_PARAMETER"                         //= 400 //缺少必须的参数。
	INVALID_PARAMETER_TYPE                    string = "INVALID_PARAMETER_TYPE"                    //= 400 //参数类型不合法。
	INVALID_PARAMETER_EXCEED_MAXIMUM          string = "INVALID_PARAMETER_EXCEED_MAXIMUM"          //= 400 //参数值大小超过了限制。
	INVALID_PARAMETER_LESS_MINIMUM            string = "INVALID_PARAMETER_LESS_MINIMUM"            //= 400 //参数值小于了最低限制。
	INVALID_PARAMETER_EXCEED_LENGTH           string = "INVALID_PARAMETER_EXCEED_LENGTH"           //= 400 //参数值数量超过了允许的最大长度。
	INVALID_PARAMETER_LESS_LENGTH             string = "INVALID_PARAMETER_LESS_LENGTH"             //= 400 //参数值数量小于了最低要求的长度。
	INVALID_PARAMETER_PATTERN_ERROR           string = "INVALID_PARAMETER_PATTERN_ERROR"           //= 400 //参数值所要求的格式不匹配。
	INVALID_PARAMETER_DATE_FORMAT_ERROR       string = "INVALID_PARAMETER_DATE_FORMAT_ERROR"       //= 400 //参数值的日期格式不正确。
	INVALID_PARAMETER_VALUE                   string = "INVALID_PARAMETER_VALUE"                   //= 400 //参数值没在规定的值里面。
	OPERATION_FAILED_FOR_RECYCLE_RESOURCE     string = "OPERATION_FAILED_FOR_RECYCLE_RESOURCE"     //= 403 //对于回收中的资源进行操作是不被允许的。
	OPERATION_FAILED_RESOURCE_GROUP_NOT_FOUND string = "OPERATION_FAILED_RESOURCE_GROUP_NOT_FOUND" //= 404 //对于指定操作的资源组不存在。
	OPERATION_FAILED_RESOURCE_NOT_FOUND       string = "OPERATION_FAILED_RESOURCE_NOT_FOUND"       //= 404 //指定的资源不存在导致操作失败。
)
View Source
const (
	VmStatusRunning      string = "RUNNING"
	VmStatusStopped      string = "STOPPED"
	VmStatusRecycle      string = "RECYCLE"
	VmStatusStopping     string = "STOPPING"
	VmStatusBooting      string = "BOOTING"
	VmStatusReleasing    string = "RELEASING"
	VmStatusReboot       string = "REBOOT"
	VmStatusDeploying    string = "DEPLOYING"
	VmStatusRebuilding   string = "REBUILDING"
	VmStatusRecycling    string = "RECYCLING"
	VmStatusResizing     string = "RESIZING"
	VmStatusImaging      string = "IMAGING"
	VmStatusCreateFailed string = "CREATE_FAILED"
)

Instance Status(v0.1.27)

RUNNING			开机
STOPPED			关机
RECYCLE			已回收
STOPPING		关机中
BOOTING			开机中
RELEASING		释放中
REBOOT			重启中
DEPLOYING		部署中
REBUILDING		重装系统中
RECYCLING		回收中
RESIZING		变更规格中
IMAGING 		制作镜像中
CREATE_FAILED 	创建(重装)失败
View Source
const (
	DiskStatusCreating  string = "CREATING"
	DiskStatusInUse     string = "IN_USE"
	DiskStatusAvaliable string = "AVAILABLE"
	DiskStatusChanging  string = "CHANGING"
	DiskStatusAttaching string = "ATTACHING"
	DiskStatusDetaching string = "DETACHING"
	DiskStatusDeleting  string = "DELETING"
	DiskStatusRecycled  string = "RECYCLED"
	DiskStatusFailed    string = "FAILED"
	DiskStatusDeleted   string = "DELETED"
	DiskStatusStable    string = "STABLE"
)

Volume Status(v0.1.27)

CREATING 	创建中
IN_USE  	挂载实例的
AVAILABLE 	可用,未挂载实例的
CHANGING  	扩所容中
ATTACHING 	挂载中
DETACHING 	卸载中
DELETING 	删除中
RECYCLED 	处于回收状态
FAILED 		创建失败
DELETED		csi状态 已经删除
STABLE		csi状态 稳定状态available或者in_use

Variables

This section is empty.

Functions

func NewZecCloudManager

func NewZecCloudManager(CLOUDAK string, CLOUDSK string, drivertype string) (*zecCloudManager, error)

Action: Base request conf zenlayer sdk describe(v0.1.27):

type Config struct {
	AutoRetry     bool `default:"false"`
	MaxRetryTime  int  `default:"3"`
	RetryDuration time.Duration
	HttpTransport *http.Transport   `default:""`
	Transport     http.RoundTripper `default:""`
	Proxy         string            `default:""`
	Scheme        string            `default:"HTTPS"`
	Domain        string            `default:""`
	// timeout in seconds
	Timeout int `default:"300"`
	Debug   *bool
}

type BaseRequest struct {
	httpMethod  string
	scheme      string
	domain      string
	params      map[string]string
	formParams  map[string]string
	headers     map[string]string
	contentType string
	body        []byte
	path        string

	action      string
	serviceName string
	apiVersion  string
	autoRetries bool `default:"false"`
	maxAttempts int  `default:"0"`
}

BaseRequest: SetMaxAttempts(int)/SetAutoRetries(bool)/GetApiVersion()(string)/GetMaxAttempts()(int)/GetAutoRetries()(bool)

func WaitFor

func WaitFor(f func() (bool, error)) error

WaitFor wait a function return true.

func WaitForSpecific

func WaitForSpecific(f func() bool, timeout time.Duration, waitInterval time.Duration) error

WaitForSpecific wait a function return true.

func WaitForSpecificOrError

func WaitForSpecificOrError(f func() (bool, error), timeout time.Duration, waitInterval time.Duration) error

WaitForSpecificOrError wait a function return true or error.

Types

type CloudManager

type CloudManager interface {
	VolumeManager
	UtilManager
	SnapshotManager
}

type SnapshotManager

type SnapshotManager interface {
	/*
		action: not support
	*/
	FindSnapshot() (err error)

	/*
		action: not support
	*/
	FindSnapshotByName() (err error)

	/*
		action: not support
	*/
	CreateSnapshot() (err error)

	/*
		action: not support
	*/
	DeleteSnapshot() (err error)

	/*
		action: not support
	*/
	CreateVolumeFromSnapshot() (err error)
}

type TimeoutError

type TimeoutError struct {
	// contains filtered or unexported fields
}

func NewTimeoutError

func NewTimeoutError(timeout time.Duration) *TimeoutError

func (*TimeoutError) Error

func (e *TimeoutError) Error() string

func (*TimeoutError) Timeout

func (e *TimeoutError) Timeout() time.Duration

type UtilManager

type UtilManager interface {
	/*
		action: Get Vm info by vmid
	*/
	FindInstance(vmId string) (zecVmInfo *ZecVm, err error)

	/*
		action: Get Zone Info
	*/
	GetZone(zoneId string) error

	/*
		action: List support cloud disk zones
	*/
	GetZoneList() (zoneNameList []string, err error)

	/*
		action: Judgment driver type
	*/
	IsController() bool

	/*
		action: probe check zenlayer cloud connection
	*/
	Probe() error

	/*
		action: Check Vm status by vmid
	*/
	GetVmStatus(vmId string) (exist bool, status string, err error)

	/*
		action: not support
	*/
	FindTag() (err error)

	/*
		action: not support
	*/
	IsValidTags() bool

	/*
		action: not support
	*/
	AttachTags() (err error)
}

type VolumeManager

type VolumeManager interface {
	/*
		action: Create a zec cloud disk
	*/
	CreateVolume(volName string, volSize int, volCategory string, zoneId string, resouceGroupID string) (volId string, err error)

	/*
		action: Delete a zec cloud disk
	*/
	DeleteVolume(volId string) (err error)

	/*
		action: Attach a zec cloud disk to Vm
	*/
	AttachVolume(volId string, vmId string) (err error)

	/*
		action: Detach a zec cloud disk from Vm, remove block device
	*/
	DetachVolume(volId string) (err error)

	/*
		action: Resize a zec cloud disk, expand
	*/
	ResizeVolume(volId string, requestSize int) (err error)

	/*
		action: Get disk info by volid
	*/
	FindVolume(volId string) (zecVolInfo *ZecVolume, err error)

	/*
		action: Get disk info by volname
	*/
	FindVolumeByName(volName string, zoneID string, sizeGB int, diskType string) (zecVolInfo *ZecVolume, err error)

	/*
		action: not support
	*/
	CloneVolume() (err error)
}

type ZecVm

type ZecVm struct {
	ZecVm_Id     string
	ZecVm_Status string
	ZecVm_Type   int
	ZecVm_Zone   string
}

func NewZecVm

func NewZecVm() (zecVmInfo *ZecVm)

type ZecVolume

type ZecVolume struct {
	ZecVolume_Id         string
	ZecVolume_Name       string
	ZecVolume_Size       int
	ZecVolume_Type       int    //basic or standard
	ZecVolume_Status     string //DiskStatusAvaliable ...
	ZecVolume_Zone       string //zone
	ZecVolume_Serial     string //disk serial
	ZecVolume_InstanceId string //has been attached vmid
}

func NewZecVolume

func NewZecVolume() (zecVolInfo *ZecVolume)

func (ZecVolume) Check

func (zv ZecVolume) Check() bool

Jump to

Keyboard shortcuts

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