SoftLayer\网络\网关\ Vlan::getObj的SoftLayer\对象掩码

2024-10-03 09:20:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在Python中使用SoftLayer\u Network\u Gateway\u Vlan::getObject,以便在使用createObject之前检查Vlan是否已经连接到网关。 我可以将createObject与这样一段代码一起使用:

    obj = {'bypassFlag':False, 'id':None, 'networkGatewayId':module.params['gateway_id'], 'networkVlanId':module.params['vlan_id']}
    try:
        res = env['Network_Gateway_Vlan'].createObject(obj)
    except SoftLayer.exceptions.SoftLayerAPIError as e:
        module.fail_json(msg=e.faultString)

但我不知道如何编写一段代码来检索已连接到网关的VLAN列表:(

如果有人有一个关于使用getObject方法的示例,那就太好了,谢谢!你知道吗


Tags: 代码noneidfalseobj网关networkparams
1条回答
网友
1楼 · 发布于 2024-10-03 09:20:56

为什么不使用方法getNetworkVlan?该方法返回与软层\网络\网关\ VLAN关联的VLAN。你知道吗

但是如果您想使用getObject方法,则需要使用以下掩码:

env['SoftLayer_Network_Gateway_Vlan'].getObject(id= myIdGatewayVlan, mask= "mask[networkVlan]")

但我认为最好用这个:

env['SoftLayer_Account'].getNetworkGateways( mask="mask[insideVlans[networkVlan]]")

这将列出您帐户中的所有网关及其关联的VLAN。你知道吗

或者更好的是,您可以使用一个过滤器来检查VLAN是否已经在任何 软层\网络\网关\ Vlan

env['SoftLayer_Account'].getNetworkGateways( mask="mask[insideVlans[networkVlan]]", filter={"networkGateways":{"insideVlans":{"networkVlan":{"id":{"operation":1319435}}}}})

注意:将1319435替换为要检查的VLAN的ID 如果上述请求返回空,则VLAN不会连接到任何软层\网络\网关\ VLAN

相关问题 更多 >