AI开发平台MODELARTS-切换Lite Server服务器操作系统:使用BMS Go SDK的方式切换操作系统

时间:2024-08-27 10:01:24

使用BMS Go SDK的方式切换操作系统

以下为BMS使用Go语言通过SDK方式切换操作系统的示例代码。

package main

import (
	"fmt"
        "os"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
	bms "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1/model"
	region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/bms/v1/region"
)

func main() {
	// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
	// 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
	ak := os.Getenv("HUAWEICLOUD_SDK_AK")
	sk := os.Getenv("HUAWEICLOUD_SDK_SK")

	auth := basic.NewCredentialsBuilder().
		WithAk(ak).
		WithSk(sk).
		Build()

	client := bms.NewBmsClient(
		bms.BmsClientBuilder().
			WithRegion(region.ValueOf("cn-north-4")).
			WithCredential(auth).
			Build())
	keyname := "KeyPair-name"
	userdata := "aGVsbG8gd29ybGQsIHdlbGNvbWUgdG8gam9pbiB0aGUgY29uZmVyZW5jZQ=="
	request := &model.ChangeBaremetalServerOsRequest{
		ServerId: "****input your bms instance id****",
		Body: &model.OsChangeReq{
			OsChange: &model.OsChange{
				Keyname: &keyname,
				Imageid: "****input your ims image id****",
				Metadata: &model.MetadataInstall{
					UserData: &userdata,
				},
			},
		},
	}

	response, err := client.ChangeBaremetalServerOs(request)
	if err == nil {
		fmt.Printf("%+v\n", response)
	} else {
		fmt.Println(err)
	}
}
support.huaweicloud.com/usermanual-server-modelarts/usermanual-server-0020.html