GET api/v1/firewall/sections/<section-ID>/rules/<rule-ID>
PUT api/v1/firewall/sections/<section-ID>/rules/<rule-ID>
"httpStatus" : "NOT_FOUND",
"error_code" : 600,
"module_name" : "common-services",
"error_message" : "The requested object : FirewallRule/<rule-ID> could not be found. Object identifiers are case sensitive."
/var/log/proton/nsxapi.log
:2023-01-23T09:32:27.199Z INFO http-nio-127.0.0.1-7440-exec-43 NsxBaseRestController 28648 SYSTEM [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Error in API /nsxapi/api/v1/firewall/sections/<section-ID>/rules/<rule-ID> caused by exception com.vmware.nsx.management.common.exceptions.ObjectNotFoundException: {"moduleName":"common-services","errorCode":600,"errorMessage":"The requested object : FirewallRule/<rule-ID> could not be found. Object identifiers are case sensitive."}
2023-01-23T09:32:27.199Z INFO http-nio-127.0.0.1-7440-exec-43 NsxBaseRestController 28648 SYSTEM [nsx@6876 audit="true" comp="nsx-manager" level="INFO" subcomp="manager"] UserName:'admin' ModuleName:'common-services' Operation:'PUT@/api/v1/firewall/sections/<section-ID>/rules/<rule-ID>' Operation status: 'failure' Error: The requested object : FirewallRule/<rule-ID> could not be found. Object identifiers are case sensitive.
/var/log/proxy/localhost_access_log
, we see the failed API calls:2023-01-23T09:32:27.200Z <IP> - "PUT /api/v1/firewall/sections/<section-ID>/rules/<rule-ID> HTTP/1.1" 404 257 30 30
VMware NSX-T Data Center 3.x
This issue is resolved in VMware NSX-T Data Center 3.2.3.0.
Workaround:
You can use the following API call:
POST POST /api/v1/firewall/sections/<section-id>?action=update_with_rules
Please note, as these are PUT/POST commands, they will have content, if you are using curl you can use the -d option to add the content or point to a file with the content.
For example, here we are pointing to a file called update-firewall-rule.json which has the updated content:
curl -X POST -H 'Content-Type: application/json' -sN -k -u admin:<password> https://<nsx-t-manager-ip>/api/v1/firewall/sections/<section-id>?action=update_with_rules -d @update-firewall-rule.json
Or
Add the content in the API tool data section you are using.