Bare Metal 在 SL 中取消

Bare Metal cancel in SL

您好,我只是想确定如何取消裸机服务器。 下面的代码用于取消 Baremetal 服务器,但它不适用于 Vyatta。 Bare Metal 和 Vyatta 取消有什么区别。

在虚拟机的情况下,Guest.service(client, vo.getDeviceID()).deleteObject() 已被使用。我工作正常,但是使用 billingService.cancelItem() 和 deletObject() 取消有什么不同?

Hardware.Service hService = Hardware.service(client, vo.getDeviceID());
            com.softlayer.api.service.billing.item.Hardware.Mask hmask = new com.softlayer.api.service.billing.item.Hardware.Mask();
            hmask.item().id();
            hService.setMask(hmask);

            logger.debug("To be delelted Billing Item ID : " + hService.getBillingItem().getId());
            Item.Service billingService = Item.service(client, hService.getBillingItem().getId());

            if (billingService.cancelItem(true, true, "no reason", "deleteBareMetal")) {
                vo.setServerStatus("CANCELED");
            } else {
                vo.setServerStatus("CANCEL_FAIL");
            }

Vyatta 是一个网关,可以灵活控制您的防火墙和 VPN 访问,每个 Vyatta 网关可以管理 1 个 "pod",其中一个 pod 是同一数据中心同一路由器后面的您自己的所有 VLAN。 Vyatta 是一个软件组件,由 API 上的 SoftLayer_Network_Gateway 表示,可以安装在裸机服务器中。

您可以查看 运行 cancelItem 方法后抛出的错误消息。通常在尝试取消计费项目时会出现下一个错误:

"error": "Bare metal servers can only be canceled immediately if they are billed hourly."

错误发生在试图立即取消按月计费的服务器时。 您可以在代码中使用下一个参数:(false, true, "no reason", "deleteBareMetal")

cancelItem和deleteObject的区别

deleteObject: 此方法将立即取消服务器。对于按小时计费的服务器,将在方法 returns.

后立即停止收费

cancelItem:取消计费项目的资源或服务。默认情况下,计费项目将立即取消,资源回收将很快开始。将 "cancelImmediately" 属性 设置为 false 会将取消延迟到下一个帐单日期,此方法也可用于取消关联的帐单项目,请带上原因 and/or 客户备注。