通过Softlayer Rest Api无法在Softlayer中看到Multi-Vlan防火墙的类型

时间:2018-06-13 06:51:05

标签: ibm-cloud-infrastructure

当我们订购Multi-Vlan防火墙时,我们选择防火墙的类型和插件配置。我需要知道MultiVlan防火墙的设备类型。 Fortigate安全设备或其他任何东西。我没有从api获得这个列出我帐户中的Multi-Vlan防火墙。这是我用来在我的帐户中获取Multi-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?

1 个答案:

答案 0 :(得分:0)

这似乎是由控制门户管理的,它使用API​​响应来定义防火墙列表中显示的类型(即:“FortiGate安全设备”和“专用防火墙”类型,两者都是 Single FortiGate Security设备高可用性FortiGate安全设备分别在订购时)。

提供的api调用是可以的,但是上面提到的防火墙列表的类型以及您在UI中可以看到的类型将由属性“customerManagedFlag”定义,当这是“true”时,它将是一个FortiGate FW以及FortiGate和Dedicated Firewall类型之间的区别将由memberCount属性定义,该属性声明memberCount = 1表示“Standalone”和memberCount> 1表示“高可用性”。

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

例如见下文: - FortiGate:

{
    "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"
        }
    },

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

我将发布两者,请参阅下文:

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]]]]