无法通过 Softlayer Rest 查看 Softlayer 中的多 Vlan 防火墙类型 Api

Can't see the type of the Multi-Vlan Firewall in Softlayer via Softlayer Rest Api

当我们订购多 Vlan 防火墙时,我们 select 防火墙的类型和插件配置。我需要知道 MultiVlan 防火墙的设备类型,即。 Fortigate Security Appliance 或其他任何东西。我没有从 api 得到这个来列出我帐户中的多 Vlan 防火墙。这是我用来在我的帐户中获取多 Vlan 防火墙的 api。

https://api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkGateways?objectMask=mask[id,name,networkFirewall[id,customerManagedFlag,datacenter.name],publicIpAddress.ipAddress,publicVlan[id,primaryRouter.hostname],privateIpAddress.ipAddress,insideVlans[id],memberCount,status.keyName]

但是在获取防火墙列表时,我没有看到防火墙的类型和我为防火墙订购的附加配置。请告诉我我应该使用哪个 api 来达到这个目的?

这似乎是由控制门户管理的,它使用 API 响应来定义在防火墙列表中通过它显示的类型(即:"FortiGate Security Appliance" 和 "Dedicated Firewall" 类型, 单个 FortiGate 安全设备高可用性 FortiGate 安全设备 分别在订购时)。

提供的 api 调用是可以的,但是上面提到的防火墙列表的类型以及您在 UI 中看到的将由 属性 "customerManagedFlag",当这是 "true" 时,它将是 FortiGate FW,FortiGate 和专用防火墙类型之间的区别将由 memberCount 属性 定义,memberCount = 1 表示 "Standalone" 和 memberCount > 1 表示 "High Availability".

在 Api 响应中,将您的 MultiVlan 防火墙与其他防火墙进行比较,并针对前面提到的防火墙验证它们的属性。

例如见下: - 强化门:

{
    "id": 8888888,
    "name": "multiVlanFW",
    "memberCount": 1,
    "insideVlans": [],
    "networkFirewall": {
        "customerManagedFlag": true,
        "id": 12345,
        "datacenter": {
            "name": "dal10"
        }
    },
......

高可用性 FortiGate:

{
    "id": 999999,
    "name": "multiVlanFWwithHA",
    "memberCount": 2,
    "insideVlans": [],
    "networkFirewall": {
        "customerManagedFlag": true,
        "id": 67890,
        "datacenter": {
            "name": "dal13"
        }
    },

关于订购时的插件,我改进了请求,以便您可以通过相同的调用或直接在 FG 防火墙的 ID 上使用 SoftLayer_Network_Vlan_Firewall::getObject 方法来检索它们。

我会post两个,请看下面:

https://api.softlayer.com/rest/v3/Account/getNetworkGateways?objectMask=mask[id,name,networkFirewall[id,customerManagedFlag,datacenter.name, billingItem[id,notes,orderItemId,activeChildren[categoryCode, description]]],publicIpAddress.ipAddress,publicVlan[id,primaryRouter.hostname],privateIpAddress.ipAddress,insideVlans[id],memberCount,status.keyName]

https://api.softlayer.com/rest/v3/Network_Vlan_Firewall/12345/getObject?objectMask=mask[datacenter.name,billingItem[id,cancellationDate,nextBillDate,activeChildren.categoryCode],networkGateway[id,name,status.name,publicIpAddress.ipAddress,publicIpv6Address.ipAddress,privateIpAddress.ipAddress,memberCount,publicVlan[primaryRouter.hostname,vlanNumber],privateVlan[primaryRouter.hostname,vlanNumber],insideVlans[id,bypassFlag,networkVlan[id,vlanNumber,name,networkSpace]]]]