I have a very similar problem while setting UNIX-style permissions via NMSDK on a regular directory/file.
Recently I contacted NetApp support about the issue and they referred me to the community.
So here I am 😉
This is an excerpt from my original support request:
In order to automatically manage home directory creation, access rights setting and cleanup of obsolete homes, we use our IdM system to remotely control the filer via the NMSDK.
For a volume with UNIX file permissions it is not possible to set set owner/group for a given file/directory on the filer using the NMSDK (Java bindings).
Also it is not possible to update the UNIX permission bits after file/directory creation.
At the moment it is only possible to set UNIX permission bits on directory creation using the com.netapp.nmsdk.ontap.api.file.FileCreateDirectoryRequest.withPerm() method.
This - however - is not enough because the possibility to also set and/or update user and group is missing.
Using com.netapp.nmsdk.ontap.api.filedirectorysecurity.FileDirectorySecuritySetRequest it is only possible to set a NTFS style SecurityDescriptor which is not possible on a UNIX-style volume.
Because UNIX-style permissions are rather simple compared with Windows ACLs I would propose to implement the methods "withPerm()" , "withUidNumber()" and "withGidNumber()" directly within the FileDirectorySecuritySetRequest Class in order to allow simple UNIX-style security updates.