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 30VMware 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.