func (c *Client) DownloadVolVer(name string,
	version string) (*api.VolDownloadResult, error) {
	return api.DownloadVolVer(c, name, version)
}
DownloadVolVer - get the download address of a specific version of volume

PARAMS:
- name: the request volume name
- version: the request volume version
RETURNS:
- *VolDownloadResult: the result
- error: nil if ok otherwise the specific error
package bie
import (
	"github.com/baidubce/bce-sdk-go/auth"
	"github.com/baidubce/bce-sdk-go/bce"
	"github.com/baidubce/bce-sdk-go/services/bie/api"
)
const (
	DEFAULT_SERVICE_DOMAIN = "iotedge." + bce.DEFAULT_REGION + "." + bce.DEFAULT_DOMAIN
)
type Client struct {
	*bce.BceClient
}
func NewClient(ak, sk, endpoint string) (*Client, error) {
	credentials, err := auth.NewBceCredentials(ak, sk)
	if err != nil {
		return nil, err
	}
	if len(endpoint) == 0 {
		endpoint = DEFAULT_SERVICE_DOMAIN
	}
	defaultSignOptions := &auth.SignOptions{
		HeadersToSign: auth.DEFAULT_HEADERS_TO_SIGN,
		ExpireSeconds: auth.DEFAULT_EXPIRE_SECONDS}
	defaultConf := &bce.BceClientConfiguration{
		Endpoint:                  endpoint,
		Region:                    bce.DEFAULT_REGION,
		UserAgent:                 bce.DEFAULT_USER_AGENT,
		Credentials:               credentials,
		SignOption:                defaultSignOptions,
		Retry:                     bce.DEFAULT_RETRY_POLICY,
		ConnectionTimeoutInMillis: bce.DEFAULT_CONNECTION_TIMEOUT_IN_MILLIS}
	v1Signer := &auth.BceV1Signer{}
	client := &Client{bce.NewBceClient(defaultConf, v1Signer)}
	return client, nil
}
func (c *Client) ListGroup(lgr *api.ListGroupReq) (*api.ListGroupResult, error) {
	return api.ListGroup(c, lgr)
}
func (c *Client) GetGroup(groupUuid string) (*api.Group, error) {
	return api.GetGroup(c, groupUuid)
}
func (c *Client) CreateGroup(cgr *api.CreateGroupReq) (*api.CreateGroupResult, error) {
	return api.CreateGroup(c, cgr)
}
func (c *Client) EditGroup(groupid string, egr *api.EditGroupReq) (*api.Group, error) {
	return api.EditGroup(c, groupid, egr)
}
func (c *Client) DeleteGroup(groupUuid string) error {
	return api.DeleteGroup(c, groupUuid)
}
func (c *Client) ListCore(groupUuid string) (*api.ListCoreResult, error) {
	return api.ListCore(c, groupUuid)
}
func (c *Client) GetCore(groupUuid string, coreid string) (*api.CoreResult, error) {
	return api.GetCore(c, groupUuid, coreid)
}
func (c *Client) RenewCoreAuth(coreid string) (*api.CoreInfo, error) {
	return api.RenewCoreAuth(c, coreid)
}
func (c *Client) GetCoreStatus(coreid string) (*api.CoreStatus, error) {
	return api.GetCoreStatus(c, coreid)
}
func (c *Client) ListConfig(coreid string,
	lcr *api.ListConfigReq) (*api.ListConfigResult, error) {
	return api.ListConfig(c, coreid, lcr)
}
func (c *Client) GetConfig(coreid string, ver string) (*api.CfgResult, error) {
	return api.GetConfig(c, coreid, ver)
}
func (c *Client) PubConfig(cpr *api.CoreidVersion, cpb *api.CfgPubBody) (*api.CfgResult, error) {
	return api.PubConfig(c, cpr, cpb)
}
func (c *Client) DeployConfig(coreid string, ver string) error {
	return api.DeployConfig(c, coreid, ver)
}
func (c *Client) DownloadConfig(cdr *api.CfgDownloadReq) (*api.CfgDownloadResult, error) {
	return api.DownloadConfig(c, cdr)
}
func (c *Client) CreateService(cv *api.CoreidVersion,
	sr *api.CreateServiceReq) (*api.ServiceResult, error) {
	return api.CreateService(c, cv, sr)
}
func (c *Client) GetService(ivn *api.IdVerName) (*api.ServiceResult, error) {
	return api.GetService(c, ivn)
}
func (c *Client) EditService(ivn *api.IdVerName,
	esr *api.EditServiceReq) (*api.ServiceResult, error) {
	return api.EditService(c, ivn, esr)
}
func (c *Client) DeleteService(ivn *api.IdVerName) error {
	return api.DeleteService(c, ivn)
}
func (c *Client) ReorderService(ivn *api.IdVerName, after string) error {
	return api.ReorderService(c, ivn, after)
}
func (c *Client) VolumeOp(cv *api.CoreidVersion, vor *api.VolumeOpReq) error {
	return api.VolumeOp(c, cv, vor)
}
func (c *Client) ListVolumeTpl() (*api.ListVolTemplate, error) {
	return api.ListVolumeTpl(c)
}
func (c *Client) CreateVolume(cvr *api.CreateVolReq) (*api.VolumeResult, error) {
	return api.CreateVolume(c, cvr)
}
func (c *Client) ListVolume(lvr *api.ListVolumeReq) (*api.ListVolumeResult, error) {
	return api.ListVolume(c, lvr)
}
func (c *Client) GetVolume(name string) (*api.VolumeResult, error) {
	return api.GetVolume(c, name)
}
func (c *Client) EditVolume(name string, evr *api.EditVolumeReq) (*api.VolumeResult, error) {
	return api.EditVolume(c, name, evr)
}
func (c *Client) DeleteVolume(name string) error {
	return api.DeleteVolume(c, name)
}
func (c *Client) ListVolumeVer(nv *api.NameVersion) (*api.ListVolumeVerResult, error) {
	return api.ListVolumeVer(c, nv)
}
func (c *Client) PubVolumeVer(name string) (*api.VolumeResult, error) {
	return api.PubVolumeVer(c, name)
}