在 Softlayer 中使用 GatewayId 获取 deviceId

Getting deviceId with GatewayId in Softlayer

有什么方法可以获取设备 ID,网关 (vyatta) 是 运行? 我有网关 ID,这是我试过的代码,但它 returns 考虑了所有硬件。

    private void getDeviceIdWithGwId(){

        Gateway.Service gservice = Gateway.service(client, 18612llll);
        gservice.withMask().account().hardware();
        Gateway gw = gservice.getObject();

        Account account = gw.getAccount();

        List<Hardware> hdList = account.getHardware();

        System.out.println("size of hardware : " + hdList.size());
        for(Hardware hardware:hdList){
            System.out.println("hardware ID : " + hardware.getId());
        }

    }

使用此方法列出您帐户中的所有 vyatta 服务器:

http://sldn.softlayer.com/reference/services/SoftLayer_Account/getNetworkGateways

但您需要确保您有足够的权限来列出 vyatta 服务器。

为了获取 hardwareIds,您可以使用这样的掩码:

objectMask=mask[members[hardware]]

查看此示例使用 REST 列出所有 svyatta 服务器及其硬件:

GET https://api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkGateways?objectMask=mask[members[hardware]]

此示例将列出给定 vyatta 服务器的所有硬件 ID:

GET https://api.softlayer.com/rest/v3/SoftLayer_Network_Gateway/$GatwayID/getObject?objectMask=mask[members[hardware]]

此致