api-v2 icon indicating copy to clipboard operation
api-v2 copied to clipboard

Firewall API return invalid outbound rules port number

Open codewithcats opened this issue 7 years ago • 1 comments

This issue happens when I retrieve Firewall data from /v2/firewalls/$FIREWALL_ID or /v2/firewalls.

My firewall outbound rules configuration looks like this:

Type Protocol Port Range Destinations
ICMP ICMP   All IPv4 All IPv6
All TCP TCP All ports All IPv4 All IPv6
All UDP UDP All ports All IPv4 All IPv6

The document is saying ports attribute will return as

The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "all" to open all ports for a protocol.

But what I got from are "0" for each rule entry:

{ protocol: 'icmp',
    ports: '0',
    destinations: { addresses: [Array] } },
  { protocol: 'tcp',
    ports: '0',
    destinations: { addresses: [Array] } },
  { protocol: 'udp',
    ports: '0',
    destinations: { addresses: [Array] } }

And when I try to make a request to update my firewall data using PUT to /v2/firewalls/$FIREWALL_ID by updating some fields on this returned data, I will get error 422 (Unprocessable Entity)

Now, I need to update ports values to the correct ones everytime before send PUT request. I think, at least, I should be able to use the returned data as base, make change only on wanted fields, and PUT back, without need to update unrelated fields.

codewithcats avatar Sep 18 '18 16:09 codewithcats

@codewithcats - Just remove the attribute "ports" for ICMP and it should work just fine.

{
    "protocol":"icmp",
    "destinations":{
        "addresses":[
            "0.0.0.0/0",
            "::/0"
        ]
    }
}

RahulShaw avatar Jun 02 '20 17:06 RahulShaw