Documentation
¶
Index ¶
- Constants
- func NewZecCloudManager(CLOUDAK string, CLOUDSK string, drivertype string) (*zecCloudManager, error)
- func WaitFor(f func() (bool, error)) error
- func WaitForSpecific(f func() bool, timeout time.Duration, waitInterval time.Duration) error
- func WaitForSpecificOrError(f func() (bool, error), timeout time.Duration, waitInterval time.Duration) error
- type CloudManager
- type SnapshotManager
- type TimeoutError
- type UtilManager
- type VolumeManager
- type ZecVm
- type ZecVolume
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 WaitForSpecific ¶
WaitForSpecific wait a function return true.
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 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)
Click to show internal directories.
Click to hide internal directories.