From ba65905bbf365a12f2adc22cf9fef2cd14c79dbb Mon Sep 17 00:00:00 2001 From: "mingsheng.su" Date: Thu, 27 Jun 2019 10:31:31 +0800 Subject: [PATCH] add isolation group (#67) --- internal/utest/functions.go | 4 +- services/uhost/create_isolation_group.go | 59 + services/uhost/create_uhost_instance.go | 3 + services/uhost/delete_isolation_group.go | 56 + services/uhost/describe_isolation_group.go | 62 + services/uhost/leave_isolation_group.go | 62 + services/uhost/types_isolation_group.go | 22 + services/uhost/types_spread_info.go | 16 + tests/set_1622_test.go | 4 +- tests/set_2729_test.go | 1774 ++++++++++++++++++++ ucloud/version/version.go | 2 +- 11 files changed, 2059 insertions(+), 5 deletions(-) create mode 100644 services/uhost/create_isolation_group.go create mode 100644 services/uhost/delete_isolation_group.go create mode 100644 services/uhost/describe_isolation_group.go create mode 100644 services/uhost/leave_isolation_group.go create mode 100644 services/uhost/types_isolation_group.go create mode 100644 services/uhost/types_spread_info.go create mode 100644 tests/set_2729_test.go diff --git a/internal/utest/functions.go b/internal/utest/functions.go index fa6bbf54..19b5ebf8 100644 --- a/internal/utest/functions.go +++ b/internal/utest/functions.go @@ -86,8 +86,8 @@ func GetRegionImage(input interface{}) (string, error) { } var udpnResource = map[string]string{ - "cn-sh2": "cn-bj2", - "cn-bj2": "cn-sh2", + "cn-gd": "cn-bj2", + "cn-bj2": "cn-gd", } // GetUDPNRegionResource the vpc id for udpn peer destinition diff --git a/services/uhost/create_isolation_group.go b/services/uhost/create_isolation_group.go new file mode 100644 index 00000000..1c64bf7b --- /dev/null +++ b/services/uhost/create_isolation_group.go @@ -0,0 +1,59 @@ +//Code is generated by ucloud code generator, don't modify it by hand, it will cause undefined behaviors. +//go:generate ucloud-gen-go-api UHost CreateIsolationGroup + +package uhost + +import ( + "github.com/ucloud/ucloud-sdk-go/ucloud/request" + "github.com/ucloud/ucloud-sdk-go/ucloud/response" +) + +// CreateIsolationGroupRequest is request schema for CreateIsolationGroup action +type CreateIsolationGroupRequest struct { + request.CommonBase + + // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // Region *string `required:"true"` + + // [公共参数] 项目id + // ProjectId *string `required:"false"` + + // 硬件隔离组名称。请遵照[[api:uhost-api:specification|字段规范]]设定隔离组名称。 + GroupName *string `required:"true"` + + // 备注。请遵照[[api:uhost-api:specification|字段规范]]设定隔离组备注。 + Remark *string `required:"false"` +} + +// CreateIsolationGroupResponse is response schema for CreateIsolationGroup action +type CreateIsolationGroupResponse struct { + response.CommonBase + + // 硬件隔离组id + GroupId string +} + +// NewCreateIsolationGroupRequest will create request of CreateIsolationGroup action. +func (c *UHostClient) NewCreateIsolationGroupRequest() *CreateIsolationGroupRequest { + req := &CreateIsolationGroupRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(false) + return req +} + +// CreateIsolationGroup - 创建硬件隔离组,组内机器严格隔离在不同宿主机上。 +func (c *UHostClient) CreateIsolationGroup(req *CreateIsolationGroupRequest) (*CreateIsolationGroupResponse, error) { + var err error + var res CreateIsolationGroupResponse + + err = c.Client.InvokeAction("CreateIsolationGroup", req, &res) + if err != nil { + return &res, err + } + + return &res, nil +} diff --git a/services/uhost/create_uhost_instance.go b/services/uhost/create_uhost_instance.go index 80521172..690eb985 100644 --- a/services/uhost/create_uhost_instance.go +++ b/services/uhost/create_uhost_instance.go @@ -90,6 +90,9 @@ type CreateUHostInstanceRequest struct { // 防火墙Id,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 [DescribeSecurityGroup](../unet-api/describe_security_group.html) SecurityGroupId *string `required:"false"` + // 硬件隔离组id。可通过DescribeIsolationGroup获取。 + IsolationGroup *string `required:"false"` + // 【暂不支持】cloudinit方式下,用户初始化脚本 UserDataScript *string `required:"false"` diff --git a/services/uhost/delete_isolation_group.go b/services/uhost/delete_isolation_group.go new file mode 100644 index 00000000..64f7510c --- /dev/null +++ b/services/uhost/delete_isolation_group.go @@ -0,0 +1,56 @@ +//Code is generated by ucloud code generator, don't modify it by hand, it will cause undefined behaviors. +//go:generate ucloud-gen-go-api UHost DeleteIsolationGroup + +package uhost + +import ( + "github.com/ucloud/ucloud-sdk-go/ucloud/request" + "github.com/ucloud/ucloud-sdk-go/ucloud/response" +) + +// DeleteIsolationGroupRequest is request schema for DeleteIsolationGroup action +type DeleteIsolationGroupRequest struct { + request.CommonBase + + // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // Region *string `required:"true"` + + // [公共参数] 项目id + // ProjectId *string `required:"false"` + + // 硬件隔离组id + GroupId *string `required:"true"` +} + +// DeleteIsolationGroupResponse is response schema for DeleteIsolationGroup action +type DeleteIsolationGroupResponse struct { + response.CommonBase + + // 硬件隔离组id + GroupId string +} + +// NewDeleteIsolationGroupRequest will create request of DeleteIsolationGroup action. +func (c *UHostClient) NewDeleteIsolationGroupRequest() *DeleteIsolationGroupRequest { + req := &DeleteIsolationGroupRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +// DeleteIsolationGroup - 删除硬件隔离组。 +func (c *UHostClient) DeleteIsolationGroup(req *DeleteIsolationGroupRequest) (*DeleteIsolationGroupResponse, error) { + var err error + var res DeleteIsolationGroupResponse + + err = c.Client.InvokeAction("DeleteIsolationGroup", req, &res) + if err != nil { + return &res, err + } + + return &res, nil +} diff --git a/services/uhost/describe_isolation_group.go b/services/uhost/describe_isolation_group.go new file mode 100644 index 00000000..7be4f904 --- /dev/null +++ b/services/uhost/describe_isolation_group.go @@ -0,0 +1,62 @@ +//Code is generated by ucloud code generator, don't modify it by hand, it will cause undefined behaviors. +//go:generate ucloud-gen-go-api UHost DescribeIsolationGroup + +package uhost + +import ( + "github.com/ucloud/ucloud-sdk-go/ucloud/request" + "github.com/ucloud/ucloud-sdk-go/ucloud/response" +) + +// DescribeIsolationGroupRequest is request schema for DescribeIsolationGroup action +type DescribeIsolationGroupRequest struct { + request.CommonBase + + // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // Region *string `required:"true"` + + // [公共参数] 项目id + // ProjectId *string `required:"false"` + + // 待查的硬件隔离组id + GroupId *string `required:"false"` + + // 列表起始位置偏移量,默认为0 + Offset *int `required:"false"` + + // 返回数据长度,默认为20,最大100 + Limit *int `required:"false"` +} + +// DescribeIsolationGroupResponse is response schema for DescribeIsolationGroup action +type DescribeIsolationGroupResponse struct { + response.CommonBase + + // 硬件隔离组集合。参见数据结构IsolationGroup。 + IsolationGroupSet []IsolationGroup +} + +// NewDescribeIsolationGroupRequest will create request of DescribeIsolationGroup action. +func (c *UHostClient) NewDescribeIsolationGroupRequest() *DescribeIsolationGroupRequest { + req := &DescribeIsolationGroupRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +// DescribeIsolationGroup - 查询硬件隔离组列表。 +func (c *UHostClient) DescribeIsolationGroup(req *DescribeIsolationGroupRequest) (*DescribeIsolationGroupResponse, error) { + var err error + var res DescribeIsolationGroupResponse + + err = c.Client.InvokeAction("DescribeIsolationGroup", req, &res) + if err != nil { + return &res, err + } + + return &res, nil +} diff --git a/services/uhost/leave_isolation_group.go b/services/uhost/leave_isolation_group.go new file mode 100644 index 00000000..4b0b683c --- /dev/null +++ b/services/uhost/leave_isolation_group.go @@ -0,0 +1,62 @@ +//Code is generated by ucloud code generator, don't modify it by hand, it will cause undefined behaviors. +//go:generate ucloud-gen-go-api UHost LeaveIsolationGroup + +package uhost + +import ( + "github.com/ucloud/ucloud-sdk-go/ucloud/request" + "github.com/ucloud/ucloud-sdk-go/ucloud/response" +) + +// LeaveIsolationGroupRequest is request schema for LeaveIsolationGroup action +type LeaveIsolationGroupRequest struct { + request.CommonBase + + // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // Region *string `required:"true"` + + // [公共参数] 可用区信息 + // Zone *string `required:"false"` + + // [公共参数] 项目id + // ProjectId *string `required:"false"` + + // 硬件隔离组id + GroupId *string `required:"true"` + + // 主机id + UHostId *string `required:"true"` +} + +// LeaveIsolationGroupResponse is response schema for LeaveIsolationGroup action +type LeaveIsolationGroupResponse struct { + response.CommonBase + + // 主机id + UHostId string +} + +// NewLeaveIsolationGroupRequest will create request of LeaveIsolationGroup action. +func (c *UHostClient) NewLeaveIsolationGroupRequest() *LeaveIsolationGroupRequest { + req := &LeaveIsolationGroupRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +// LeaveIsolationGroup - 移除硬件隔离组中的主机 +func (c *UHostClient) LeaveIsolationGroup(req *LeaveIsolationGroupRequest) (*LeaveIsolationGroupResponse, error) { + var err error + var res LeaveIsolationGroupResponse + + err = c.Client.InvokeAction("LeaveIsolationGroup", req, &res) + if err != nil { + return &res, err + } + + return &res, nil +} diff --git a/services/uhost/types_isolation_group.go b/services/uhost/types_isolation_group.go new file mode 100644 index 00000000..a82ea65f --- /dev/null +++ b/services/uhost/types_isolation_group.go @@ -0,0 +1,22 @@ +package uhost + +/* +IsolationGroup - 硬件隔离组信息 + +this model is auto created by ucloud code generater for open api, +you can also see https://docs.ucloud.cn for detail. +*/ +type IsolationGroup struct { + + // 硬件隔离组名称 + GroupName string + + // 硬件隔离组id + GroupId string + + // 每个可用区中的机器数量。参见数据结构SpreadInfo。 + SpreadInfoSet []SpreadInfo + + // 备注 + Remark string +} diff --git a/services/uhost/types_spread_info.go b/services/uhost/types_spread_info.go new file mode 100644 index 00000000..b8d2ef8c --- /dev/null +++ b/services/uhost/types_spread_info.go @@ -0,0 +1,16 @@ +package uhost + +/* +SpreadInfo - 每个可用区中硬件隔离组信息 + +this model is auto created by ucloud code generater for open api, +you can also see https://docs.ucloud.cn for detail. +*/ +type SpreadInfo struct { + + // 可用区信息 + Zone string + + // 可用区中硬件隔离组中云主机的数量,不超过7。 + UHostCount int +} diff --git a/tests/set_1622_test.go b/tests/set_1622_test.go index 124eeff8..eebfcee8 100644 --- a/tests/set_1622_test.go +++ b/tests/set_1622_test.go @@ -14,8 +14,8 @@ func TestSet1622(t *testing.T) { ctx.T = t ctx.Vars = map[string]interface{}{} - ctx.SetVar("Region", "cn-sh2") - ctx.SetVar("Zone", "cn-sh2-02") + ctx.SetVar("Region", "cn-gd") + ctx.SetVar("Zone", "cn-gd-02") ctx.SetVar("v_peer2", ctx.Must(utest.GetUDPNRegionResource(ctx.GetVar("Region")))) ctx.SetVar("create_udpn_bw", "2") diff --git a/tests/set_2729_test.go b/tests/set_2729_test.go new file mode 100644 index 00000000..f2ebb142 --- /dev/null +++ b/tests/set_2729_test.go @@ -0,0 +1,1774 @@ +package tests + +import ( + "github.com/ucloud/ucloud-sdk-go/services/uhost" + "github.com/ucloud/ucloud-sdk-go/ucloud" + "strconv" + "testing" + "time" + + "github.com/ucloud/ucloud-sdk-go/internal/utest" +) + +func TestSet2729(t *testing.T) { + t.Parallel() + + ctx := utest.NewTestContext() + ctx.T = t + ctx.Vars = map[string]interface{}{} + + ctx.SetVar("Region", "cn-sh2") + ctx.SetVar("Zone", "cn-sh2-02") + + ctx.SetVar("GroupName", "CreateIgName1") + ctx.SetVar("Password", "Z3VhbmxpeXVhbm1pbWExMjMhQCM=") + ctx.SetVar("ChargeType", "Month") + ctx.SetVar("CreateCPU", "1") + ctx.SetVar("CreateMem", "1024") + ctx.SetVar("NewPassword", "Z3VhbmxpeXVhbm1pbWExMjMhQCM=") + ctx.SetVar("Name", "uhost-ig-api-N2-Normal-LocalDisk") + ctx.SetVar("ImageID", ctx.Must(utest.GetImageResource(ctx.GetVar("Region"), ctx.GetVar("Zone")))) + ctx.SetVar("BootSize", "20") + ctx.SetVar("BootType", "LOCAL_NORMAL") + ctx.SetVar("DiskSize", "20") + ctx.SetVar("DiskType", "LOCAL_NORMAL") + ctx.SetVar("BootBackup", "NONE") + ctx.SetVar("DiskBackup", "NONE") + ctx.SetVar("UHostType", "N2") + + testSet2729DescribeImage00(&ctx) + testSet2729CreateIsolationGroup01(&ctx) + testSet2729DescribeIsolationGroup02(&ctx) + testSet2729CreateUHostInstance03(&ctx) + testSet2729CreateUHostInstance04(&ctx) + testSet2729CreateUHostInstance05(&ctx) + testSet2729CreateUHostInstance06(&ctx) + testSet2729CreateUHostInstance07(&ctx) + testSet2729CreateUHostInstance08(&ctx) + testSet2729CreateUHostInstance09(&ctx) + testSet2729CreateUHostInstance10(&ctx) + testSet2729DescribeUHostInstance11(&ctx) + testSet2729LeaveIsolationGroup12(&ctx) + testSet2729DescribeUHostInstance13(&ctx) + testSet2729DescribeUHostInstance14(&ctx) + testSet2729DescribeIsolationGroup15(&ctx) + testSet2729CreateUHostInstance16(&ctx) + testSet2729DescribeIsolationGroup17(&ctx) + testSet2729DescribeUHostInstance18(&ctx) + testSet2729DeleteIsolationGroup19(&ctx) + testSet2729DescribeUHostInstance20(&ctx) + testSet2729DescribeUHostInstance21(&ctx) + testSet2729StopUHostInstance22(&ctx) + testSet2729StopUHostInstance23(&ctx) + testSet2729StopUHostInstance24(&ctx) + testSet2729StopUHostInstance25(&ctx) + testSet2729StopUHostInstance26(&ctx) + testSet2729StopUHostInstance27(&ctx) + testSet2729StopUHostInstance28(&ctx) + testSet2729StopUHostInstance29(&ctx) + testSet2729DescribeUHostInstance30(&ctx) + testSet2729TerminateUHostInstance31(&ctx) + testSet2729TerminateUHostInstance32(&ctx) + testSet2729TerminateUHostInstance33(&ctx) + testSet2729TerminateUHostInstance34(&ctx) + testSet2729TerminateUHostInstance35(&ctx) + testSet2729TerminateUHostInstance36(&ctx) + testSet2729TerminateUHostInstance37(&ctx) + testSet2729TerminateUHostInstance38(&ctx) +} + +func testSet2729DescribeImage00(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDescribeImageRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageType", "Base")) + ctx.NoError(utest.SetReqValue(req, "OsType", "Linux")) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeImage(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeImageResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + + ctx.Vars["ImageID"] = ctx.Must(utest.GetValue(resp, "ImageSet.0.ImageId")) +} + +func testSet2729CreateIsolationGroup01(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateIsolationGroupRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + + ctx.NoError(utest.SetReqValue(req, "GroupName", ctx.GetVar("GroupName"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateIsolationGroup(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateIsolationGroupResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["GroupId"] = ctx.Must(utest.GetValue(resp, "GroupId")) +} + +func testSet2729DescribeIsolationGroup02(ctx *utest.TestContext) { + time.Sleep(time.Duration(10) * time.Second) + + req := uhostClient.NewDescribeIsolationGroupRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + + ctx.NoError(utest.SetReqValue(req, "GroupId", ctx.GetVar("GroupId"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeIsolationGroup(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeIsolationGroupResponse", "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.GroupName", ctx.GetVar("GroupName"), "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.GroupId", ctx.GetVar("GroupId"), "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729CreateUHostInstance03(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId1"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729CreateUHostInstance04(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId2"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729CreateUHostInstance05(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId3"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729CreateUHostInstance06(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId4"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729CreateUHostInstance07(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId5"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729CreateUHostInstance08(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId6"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729CreateUHostInstance09(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "CreateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId7"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729CreateUHostInstance10(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "ne"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729DescribeUHostInstance11(ctx *utest.TestContext) { + time.Sleep(time.Duration(10) * time.Second) + + req := uhostClient.NewDescribeUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostIds", ctx.GetVar("hostId1"), ctx.GetVar("hostId2"), ctx.GetVar("hostId3"), ctx.GetVar("hostId4"), ctx.GetVar("hostId5"), ctx.GetVar("hostId6"), ctx.GetVar("hostId7"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeUHostInstanceResponse", "str_eq"), + ctx.NewValidator("UHostSet.0.CPU", ctx.GetVar("CreateCPU"), "str_eq"), + ctx.NewValidator("UHostSet.0.Memory", ctx.GetVar("CreateMem"), "str_eq"), + ctx.NewValidator("UHostSet.0.HostType", ctx.GetVar("UHostType"), "str_eq"), + ctx.NewValidator("UHostSet.0.BasicImageId", ctx.GetVar("ImageID"), "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.IsBoot", "True", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.IsBoot", "False", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.DiskType", ctx.GetVar("BootType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.DiskType", ctx.GetVar("DiskType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.Size", ctx.GetVar("BootSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.Size", ctx.GetVar("DiskSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.1.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.2.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.3.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.4.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.5.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.6.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.1.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.2.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.3.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.4.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.5.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.6.State", "Running", "str_eq"), + }, + MaxRetries: 60, + RetryInterval: 30 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729LeaveIsolationGroup12(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewLeaveIsolationGroupRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "GroupId", ctx.GetVar("GroupId"))) + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId1"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.LeaveIsolationGroup(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "LeaveIsolationGroupResponse", "str_eq"), + ctx.NewValidator("UHostId", ctx.GetVar("hostId1"), "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729DescribeUHostInstance13(ctx *utest.TestContext) { + time.Sleep(time.Duration(30) * time.Second) + + req := uhostClient.NewDescribeUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostIds", ctx.GetVar("hostId1"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeUHostInstanceResponse", "str_eq"), + ctx.NewValidator("UHostSet.0.CPU", ctx.GetVar("CreateCPU"), "str_eq"), + ctx.NewValidator("UHostSet.0.Memory", ctx.GetVar("CreateMem"), "str_eq"), + ctx.NewValidator("UHostSet.0.UHostId", ctx.GetVar("hostId1"), "str_eq"), + ctx.NewValidator("UHostSet.0.HostType", ctx.GetVar("UHostType"), "str_eq"), + ctx.NewValidator("UHostSet.0.BasicImageId", ctx.GetVar("ImageID"), "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.IsBoot", "True", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.IsBoot", "False", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.DiskType", ctx.GetVar("BootType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.DiskType", ctx.GetVar("DiskType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.Size", ctx.GetVar("BootSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.Size", ctx.GetVar("DiskSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.IsolationGroup", "0", "len_eq"), + }, + MaxRetries: 3, + RetryInterval: 30 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729DescribeUHostInstance14(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDescribeUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostIds", ctx.GetVar("hostId2"), ctx.GetVar("hostId3"), ctx.GetVar("hostId4"), ctx.GetVar("hostId5"), ctx.GetVar("hostId6"), ctx.GetVar("hostId7"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeUHostInstanceResponse", "str_eq"), + ctx.NewValidator("UHostSet.0.CPU", ctx.GetVar("CreateCPU"), "str_eq"), + ctx.NewValidator("UHostSet.0.Memory", ctx.GetVar("CreateMem"), "str_eq"), + ctx.NewValidator("UHostSet.0.HostType", ctx.GetVar("UHostType"), "str_eq"), + ctx.NewValidator("UHostSet.0.BasicImageId", ctx.GetVar("ImageID"), "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.IsBoot", "True", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.IsBoot", "False", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.DiskType", ctx.GetVar("BootType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.DiskType", ctx.GetVar("DiskType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.Size", ctx.GetVar("BootSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.Size", ctx.GetVar("DiskSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.1.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.2.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.3.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.4.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("UHostSet.5.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729DescribeIsolationGroup15(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDescribeIsolationGroupRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + + ctx.NoError(utest.SetReqValue(req, "GroupId", ctx.GetVar("GroupId"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeIsolationGroup(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeIsolationGroupResponse", "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.GroupName", ctx.GetVar("GroupName"), "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.GroupId", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.SpreadInfoSet.0.UHostCount", "6", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729CreateUHostInstance16(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewCreateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "ImageId", ctx.GetVar("ImageID"))) + ctx.NoError(utest.SetReqValue(req, "Password", ctx.GetVar("Password"))) + + ctx.NoError(utest.SetReqValue(req, "LoginMode", "Password")) + ctx.NoError(utest.SetReqValue(req, "Name", ctx.GetVar("Name"))) + ctx.NoError(utest.SetReqValue(req, "Tag", "Default")) + ctx.NoError(utest.SetReqValue(req, "ChargeType", ctx.GetVar("ChargeType"))) + ctx.NoError(utest.SetReqValue(req, "Quantity", "1")) + ctx.NoError(utest.SetReqValue(req, "UHostType", ctx.GetVar("UHostType"))) + ctx.NoError(utest.SetReqValue(req, "CPU", ctx.GetVar("CreateCPU"))) + ctx.NoError(utest.SetReqValue(req, "Memory", ctx.GetVar("CreateMem"))) + + ctx.NoError(utest.SetReqValue(req, "NetCapability", "Normal")) + ctx.NoError(utest.SetReqValue(req, "TimemachineFeature", "No")) + ctx.NoError(utest.SetReqValue(req, "HotplugFeature", "false")) + + ctx.NoError(utest.SetReqValue(req, "IsolationGroup", ctx.GetVar("GroupId"))) + + bootSize, _ := strconv.Atoi(ctx.GetVar("BootSize").(string)) + diskSize, _ := strconv.Atoi(ctx.GetVar("DiskSize").(string)) + req.Disks = []uhost.UHostDisk{ + { + Size: ucloud.Int(bootSize), + IsBoot: ucloud.String("True"), + Type: ucloud.String(ctx.GetVar("BootType").(string)), + BackupType: ucloud.String(ctx.GetVar("BootBackup").(string)), + }, + { + Size: ucloud.Int(diskSize), + IsBoot: ucloud.String("False"), + Type: ucloud.String(ctx.GetVar("DiskType").(string)), + BackupType: ucloud.String(ctx.GetVar("DiskBackup").(string)), + }, + } + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.CreateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + + ctx.Vars["hostId8"] = ctx.Must(utest.GetValue(resp, "UHostIds.0")) +} + +func testSet2729DescribeIsolationGroup17(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDescribeIsolationGroupRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + + ctx.NoError(utest.SetReqValue(req, "GroupId", ctx.GetVar("GroupId"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeIsolationGroup(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeIsolationGroupResponse", "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.GroupName", ctx.GetVar("GroupName"), "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.GroupId", ctx.GetVar("GroupId"), "str_eq"), + ctx.NewValidator("IsolationGroupSet.0.SpreadInfoSet.0.UHostCount", "7", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729DescribeUHostInstance18(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDescribeUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostIds", ctx.GetVar("hostId8"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeUHostInstanceResponse", "str_eq"), + ctx.NewValidator("UHostSet.0.CPU", ctx.GetVar("CreateCPU"), "str_eq"), + ctx.NewValidator("UHostSet.0.Memory", ctx.GetVar("CreateMem"), "str_eq"), + ctx.NewValidator("UHostSet.0.HostType", ctx.GetVar("UHostType"), "str_eq"), + ctx.NewValidator("UHostSet.0.BasicImageId", ctx.GetVar("ImageID"), "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.IsBoot", "True", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.IsBoot", "False", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.DiskType", ctx.GetVar("BootType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.DiskType", ctx.GetVar("DiskType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.Size", ctx.GetVar("BootSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.Size", ctx.GetVar("DiskSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.IsolationGroup", ctx.GetVar("GroupId"), "str_eq"), + }, + MaxRetries: 30, + RetryInterval: 10 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729DeleteIsolationGroup19(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDeleteIsolationGroupRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + + ctx.NoError(utest.SetReqValue(req, "GroupId", ctx.GetVar("GroupId"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DeleteIsolationGroup(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DeleteIsolationGroupResponse", "str_eq"), + ctx.NewValidator("GroupId", ctx.GetVar("GroupId"), "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729DescribeUHostInstance20(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDescribeUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostIds", ctx.GetVar("hostId1"), ctx.GetVar("hostId2"), ctx.GetVar("hostId3"), ctx.GetVar("hostId4"), ctx.GetVar("hostId5"), ctx.GetVar("hostId6"), ctx.GetVar("hostId7"), ctx.GetVar("hostId8"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeUHostInstanceResponse", "str_eq"), + ctx.NewValidator("UHostSet.0.CPU", ctx.GetVar("CreateCPU"), "str_eq"), + ctx.NewValidator("UHostSet.0.Memory", ctx.GetVar("CreateMem"), "str_eq"), + ctx.NewValidator("UHostSet.0.HostType", ctx.GetVar("UHostType"), "str_eq"), + ctx.NewValidator("UHostSet.0.BasicImageId", ctx.GetVar("ImageID"), "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.IsBoot", "True", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.IsBoot", "False", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.DiskType", ctx.GetVar("BootType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.DiskType", ctx.GetVar("DiskType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.Size", ctx.GetVar("BootSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.Size", ctx.GetVar("DiskSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.IsolationGroup", "0", "len_eq"), + ctx.NewValidator("UHostSet.1.IsolationGroup", "0", "len_eq"), + ctx.NewValidator("UHostSet.2.IsolationGroup", "0", "len_eq"), + ctx.NewValidator("UHostSet.3.IsolationGroup", "0", "len_eq"), + ctx.NewValidator("UHostSet.4.IsolationGroup", "0", "len_eq"), + ctx.NewValidator("UHostSet.5.IsolationGroup", "0", "len_eq"), + ctx.NewValidator("UHostSet.6.IsolationGroup", "0", "len_eq"), + ctx.NewValidator("UHostSet.7.IsolationGroup", "0", "len_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729DescribeUHostInstance21(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewDescribeUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostIds", ctx.GetVar("hostId1"), ctx.GetVar("hostId2"), ctx.GetVar("hostId3"), ctx.GetVar("hostId4"), ctx.GetVar("hostId5"), ctx.GetVar("hostId6"), ctx.GetVar("hostId7"), ctx.GetVar("hostId8"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeUHostInstanceResponse", "str_eq"), + ctx.NewValidator("UHostSet.0.CPU", ctx.GetVar("CreateCPU"), "str_eq"), + ctx.NewValidator("UHostSet.0.Memory", ctx.GetVar("CreateMem"), "str_eq"), + ctx.NewValidator("UHostSet.0.HostType", ctx.GetVar("UHostType"), "str_eq"), + ctx.NewValidator("UHostSet.0.BasicImageId", ctx.GetVar("ImageID"), "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.IsBoot", "True", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.IsBoot", "False", "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.DiskType", ctx.GetVar("BootType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.DiskType", ctx.GetVar("DiskType"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.0.Size", ctx.GetVar("BootSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.DiskSet.1.Size", ctx.GetVar("DiskSize"), "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.1.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.2.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.3.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.4.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.5.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.6.State", "Running", "str_eq"), + ctx.NewValidator("UHostSet.7.State", "Running", "str_eq"), + }, + MaxRetries: 30, + RetryInterval: 10 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance22(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId1"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance23(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId2"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance24(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId3"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance25(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId4"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance26(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId5"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance27(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId6"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance28(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId7"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729StopUHostInstance29(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewStopUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId8"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.StopUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "StopUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729DescribeUHostInstance30(ctx *utest.TestContext) { + time.Sleep(time.Duration(10) * time.Second) + + req := uhostClient.NewDescribeUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostIds", ctx.GetVar("hostId1"), ctx.GetVar("hostId2"), ctx.GetVar("hostId3"), ctx.GetVar("hostId4"), ctx.GetVar("hostId5"), ctx.GetVar("hostId6"), ctx.GetVar("hostId7"), ctx.GetVar("hostId8"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.DescribeUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "DescribeUHostInstanceResponse", "str_eq"), + ctx.NewValidator("UHostSet.0.State", "Stopped", "str_eq"), + ctx.NewValidator("UHostSet.1.State", "Stopped", "str_eq"), + ctx.NewValidator("UHostSet.2.State", "Stopped", "str_eq"), + ctx.NewValidator("UHostSet.3.State", "Stopped", "str_eq"), + ctx.NewValidator("UHostSet.4.State", "Stopped", "str_eq"), + ctx.NewValidator("UHostSet.5.State", "Stopped", "str_eq"), + ctx.NewValidator("UHostSet.6.State", "Stopped", "str_eq"), + ctx.NewValidator("UHostSet.7.State", "Stopped", "str_eq"), + }, + MaxRetries: 30, + RetryInterval: 10 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729TerminateUHostInstance31(ctx *utest.TestContext) { + time.Sleep(time.Duration(10) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId1"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Fatal(err) + ctx.T.FailNow() + + } + +} + +func testSet2729TerminateUHostInstance32(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId2"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729TerminateUHostInstance33(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId3"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729TerminateUHostInstance34(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId4"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729TerminateUHostInstance35(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId5"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729TerminateUHostInstance36(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId6"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729TerminateUHostInstance37(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId7"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} + +func testSet2729TerminateUHostInstance38(ctx *utest.TestContext) { + time.Sleep(time.Duration(0) * time.Second) + + req := uhostClient.NewTerminateUHostInstanceRequest() + + ctx.NoError(utest.SetReqValue(req, "Region", ctx.GetVar("Region"))) + ctx.NoError(utest.SetReqValue(req, "Zone", ctx.GetVar("Zone"))) + + ctx.NoError(utest.SetReqValue(req, "UHostId", ctx.GetVar("hostId8"))) + + testCase := utest.TestCase{ + Invoker: func() (interface{}, error) { + return uhostClient.TerminateUHostInstance(req) + }, + Validators: []utest.TestValidator{ + ctx.NewValidator("RetCode", "0", "str_eq"), + ctx.NewValidator("Action", "TerminateUHostInstanceResponse", "str_eq"), + }, + MaxRetries: 3, + RetryInterval: 1 * time.Second, + T: ctx.T, + } + + resp, err := testCase.Run() + if resp == nil || err != nil { + + ctx.T.Error(err) + + } + +} diff --git a/ucloud/version/version.go b/ucloud/version/version.go index c067977d..b8c53c22 100644 --- a/ucloud/version/version.go +++ b/ucloud/version/version.go @@ -4,4 +4,4 @@ Package version is the version of sdk package version // Version see also semantic version: https://semver.org/ -const Version = "0.8.7" +const Version = "0.8.8"