cloud

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	INTERNAL_SERVER_ERROR                     string = "INTERNAL_SERVER_ERROR"                     //服务端内部错误。
	SERVICE_TEMPORARY_UNAVAILABLE             string = "SERVICE_TEMPORARY_UNAVAILABLE"             //服务端暂时不可用,请稍后操作。
	REQUEST_TIMED_OUT                         string = "REQUEST_TIMED_OUT"                         //请求超时。
	AUTHFAILURE_INVALID_AUTHORIZATION         string = "AUTHFAILURE_INVALID_AUTHORIZATION"         //请求头部的 Authorization 不符合Zenalyer Cloud标准。
	AUTHFAILURE_SIGNATURE_FAILURE             string = "AUTHFAILURE_SIGNATURE_FAILURE"             //签名计算错误。请对照调用方式中的签名方法文档检查签名计算过程。
	AUTHFAILURE_UNAUTHORIZED_OPERATION        string = "AUTHFAILURE_UNAUTHORIZED_OPERATION"        //请求未授权,请确认接口存在或者有授予了访问权限。
	AUTHFAILURE_SIGNATURE_EXPIRED             string = "AUTHFAILURE_SIGNATURE_EXPIRED"             //签名过期。Timestamp和服务器时间不得相差超过五分钟。
	MISSING_PARAMETER                         string = "MISSING_PARAMETER"                         //缺少必须的参数。
	INVALID_PARAMETER_TYPE                    string = "INVALID_PARAMETER_TYPE"                    //参数类型不合法。
	INVALID_PARAMETER_EXCEED_MAXIMUM          string = "INVALID_PARAMETER_EXCEED_MAXIMUM"          //参数值大小超过了限制。
	INVALID_PARAMETER_LESS_MINIMUM            string = "INVALID_PARAMETER_LESS_MINIMUM"            //参数值小于了最低限制。
	INVALID_PARAMETER_EXCEED_LENGTH           string = "INVALID_PARAMETER_EXCEED_LENGTH"           //参数值数量超过了允许的最大长度。快照名或者云盘名超出zec长度限制。
	INVALID_PARAMETER_LESS_LENGTH             string = "INVALID_PARAMETER_LESS_LENGTH"             //参数值数量小于了最低要求的长度。
	INVALID_PARAMETER_PATTERN_ERROR           string = "INVALID_PARAMETER_PATTERN_ERROR"           //参数值所要求的格式不匹配。
	INVALID_PARAMETER_DATE_FORMAT_ERROR       string = "INVALID_PARAMETER_DATE_FORMAT_ERROR"       //参数值的日期格式不正确。
	INVALID_PARAMETER_VALUE                   string = "INVALID_PARAMETER_VALUE"                   //参数值没在规定的值里面。
	OPERATION_FAILED_FOR_RECYCLE_RESOURCE     string = "OPERATION_FAILED_FOR_RECYCLE_RESOURCE"     //对于回收中的资源进行操作是不被允许的。
	OPERATION_FAILED_RESOURCE_GROUP_NOT_FOUND string = "OPERATION_FAILED_RESOURCE_GROUP_NOT_FOUND" //对于指定操作的资源组不存在。
	OPERATION_FAILED_RESOURCE_NOT_FOUND       string = "OPERATION_FAILED_RESOURCE_NOT_FOUND"       //指定的资源不存在导致操作失败。
	INVALID_DISK_SNAPSHOT_NOT_FOUND           string = "INVALID_DISK_SNAPSHOT_NOT_FOUND"           //快照不存在
	INVALID_DISK_SNAPSHOT_SIZE_MISMATCH       string = "INVALID_DISK_SNAPSHOT_SIZE_MISMATCH"       //用快照创建的云盘大小小于快照大小
)
View Source
const (
	DiskStatusInUse     string = "IN_USE"
	DiskStatusAvailable string = "AVAILABLE"
	DiskStatusDeleted   string = "DELETED"
	DiskStatusStable    string = "STABLE"
)

Volume Status(v0.2.23) CREATING 创建中。 IN_USE 挂载使用中。 AVAILABLE 未挂载。 CHANGING 变更大小中。 ATTACHING 云盘挂载实例中。 DETACHING 云盘解绑实例中。 DELETING 销毁中。 RECYCLED 处于回收状态,等待销毁。 RECYCLING 回收中。 FAILED 创建失败。 SNAPSHOT_CREATING 快照创建过程中。 ROLLING_BACK 云盘使用快照回滚过程中。 DELETED csi定义状态 已经删除 STABLE csi定义状态 稳定状态available或者in_use

View Source
const (
	SnapStatusAvailable string = "AVAILABLE"
	SnapStatusDeleted   string = "DELETED"
)

Snapshot Status(v0.2.23) CREATING 创建中。 AVAILABLE 创建成功。 FAILED 创建失败。 ROLLING_BACK 回滚到此快照中。 DELETING 释放中。 DELETED csi定义状态 已经删除

View Source
const (
	VmStatusRunning string = "RUNNING"
)

Instance Status(v0.2.23) DEPLOYING 创建部署中。 REBUILDING 重装系统中。 REBOOT 系统重启中。 RUNNING 运行开机。 STOPPED 已关机状态。 BOOTING 系统启动中。 RELEASING 实例释放中。 STOPPING 系统关机中。 RECYCLE 实例处于回收站。 RECYCLING 实例回收中。 CREATE_FAILED 创建失败。 IMAGING 镜像制作中。 RESIZING 变更规格大小中。

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.2.23):

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 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: find snap info by id
	*/
	FindSnapshot(snapshotId string) (snapinfo *ZecVolumeSnap, err error)

	/*
		action: find snap info by name
	*/
	FindSnapshotByName(snapshotName string, srcVolId string, zoneId string, ResourceGroupId string) (snapinfo *ZecVolumeSnap, err error)

	/*
		action: create snapshot from src volume
	*/
	CreateSnapshot(snapshotName string, resourceId string) (snapshotId string, err error)

	/*
		action: delete snapshot
	*/
	DeleteSnapshot(snapshotId string) (err error)

	/*
		action: create disk from exist snapshot
	*/
	CreateVolumeFromSnapshot(volName string, volSize int, volCategory string, zoneId string, resourceGroupID string, snapshotId string, burstEnable bool) (volId string, 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, burstEnable bool) (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, ResourceGroupId 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
}

vm info

func NewZecVm

func NewZecVm() *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
	ZecVolume_Portable        bool   //support detach
	ZecVolume_SnapshotAbility bool   //support create snap
	ZecVolume_ResourceGroupId string
}

disk info

func NewZecVolume

func NewZecVolume() *ZecVolume

func (ZecVolume) Check

func (zv ZecVolume) Check() bool

type ZecVolumeSnap added in v1.1.0

type ZecVolumeSnap struct {
	ZecVolumeSnap_Id              string
	ZecVolumeSnap_Name            string
	ZecVolumeSnap_status          string //快照状态
	ZecVolumeSnap_SrcDiskId       string //快照属于哪个disk
	ZecVolumeSnap_DiskAbility     bool   //是否具有创建disk的能力
	ZecVolumeSnap_ZoneId          string
	ZecVolumeSnap_ResourceGroupId string
	ZecVolumeSnap_CreateTime      string
}

snap info

func NewZecVolumeSnap added in v1.1.0

func NewZecVolumeSnap() *ZecVolumeSnap

Jump to

Keyboard shortcuts

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