In case someone else having the same issue, here is the answer to a question “how to remove a client from subclient”
I solve it by using: qoperation execute -af $xml_path
here is an VERY important fragment of XML request
...
<vmContent>
<children equalsOrNotEquals="1" displayName="$target" type="$client_type" name="$client_hash" />
</vmContent>
…
where $client_hash is strGUID of target client and $client_type is integer. I was not able to find anywhere in CV documentation that name parameter is critical for deleting clients with type 9 -- “Virtual Machine” 😑
Here is the full XML block:
$xmltemplate =@"
<?xml version='1.0' encoding='UTF-8'?>
<App_UpdateSubClientPropertiesRequest>
<association>
<entity appName="Virtual Server" instanceName="VMware" backupsetName="$BackupsetName" clientName="$VCenterName" subclientName="$SubclientName" />
</association>
<subClientProperties>
<vmContentOperationType>DELETE</vmContentOperationType>
<vmContent>
<children equalsOrNotEquals="1" displayName="$target" type="$client_type" name="$client_hash" />
</vmContent>
</subClientProperties>
</App_UpdateSubClientPropertiesRequest>
"@