You must remove double quotes from Etag / Generated Number in your case that is
Your POST must be without double quotes.
Starting in NSX 6.4.5, the Etag value returned in the response header of GET /api/4.0/firewall/globalroot-0/config
contains double quotes. You must strip off the double quotes before using the Etag value in the If-Match header. If you are using the PUT API request in an automation script, ensure that the script strips off the double quotes in the Etag value.