ibm-cloud-infrastructurejuniper

How to fetch the vsrx IP using softlayer IP


I am able to fetch the vsrx (public/private/mgmt) IP using getNetworkGateways service using curl -g https://xxxx:xx@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkGateways?objectMask=mask[id,name,networkSpace,status.name,publicIpAddress,memberCount]

but I am not getting the vsrx configuration IP. Vsrx is the Juniper based Gateway Appliance in the IBM Cloud infrastructure.


Solution

  • I suggest you try the request adding SoftLayer_Network_Gateway properties into the mask and adding filter. You can use the following rest api call to retrieve gateways details.

    Method: GET 
    https://[username]:[apikey]api.softlayer.com/rest/v3.1/SoftLayer_Account/getNetworkGateways?objectMask=mask[id,name,networkSpace,status.name,privateIpAddress.ipAddress,publicIpAddress.ipAddress,publicIpv6Address.ipAddress,memberCount]]&objectFilter={"networkGateways":{"members":{"hardware":{"operatingSystem":{"softwareDescription":{"manufacturer":{"operation":"Juniper"}}}}}}}
    

    Also ,you can to try using the SoftLayer_Network_Gateway::getObject method as below:

    Method: GET 
    https://[username]:[apikey]@api.softlayer.com/rest/v3.1/SoftLayer_Network_Gateway/[gatewayId]/getObject?objectMask=mask[id,name,privateIpAddress.ipAddress,publicIpAddress.ipAddress,publicIpv6Address.ipAddress]
    

    You will get a response like this

    {
        "id": 111111,
        "name": "test-vsrx",
        "privateIpAddress": {
            "ipAddress": "privateIp"
        },
        "publicIpAddress": {
            "ipAddress": "publicIp"
        },
        "publicIpv6Address": {
            "ipAddress": "publicIpv6"
        }
    }
    

    You can check the link below may be it help you with performing vSRX basics: IBM Cloud Juniper vSRX Standard