Updating an existing resource
Updating an existing resource (PUT request) is possible in two ways: Either you perform a full update and provide the full data structure of the given object in the request body, or you apply a partial update which only contains the parameters to be updated. Unless explicitly specified, nevisAdmin uses partial updates. This means for a full update that parameters that are not present in the request body will be removed on the existing resource.
For example, to update the classPath parameter on a nevisAuth instance, the requests will look as follows:
Partial update
nevisAuth instance update request body for partial update
Request method:PUT
Request path:
  https://<hostname>:8037/nevisadmin/rest/infrastructure/zone/<zoneId>/server/<ser
verId>/instance/<instanceId>?partialUpdate=true
Request params: `<none>`
Query params:   partialUpdate=true
Form params:  `<none>`
Path params:  `<none>`
Headers:      Content-Type=application/xml
Cookies:      JSESSIONID=dac071f1d8908e991ae73d4df7d9
Body:
<nevisAuth xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="nevisAuth"
id="id-84f44415-8e79-444a-8c5e-3cd76b93a126" name="clone-source-auth-instance">
 <classPath>/var/opt/nevisauth/test/plugin/:/opt/nevisauth/plugin/</classPath>
</nevisAuth>
Full update (output cut for brevity)
nevisAuth instance update request body for full update
Request method: PUT
Request path:
  https://<hostname>:8037/nevisadmin/rest/infrastructure/zone/<zoneId>/server/<ser
verId>/instance/<instanceId>?partialUpdate=false
Request params: `<none>`
Query params: partialUpdate=false
Form params: `<none>`
Path params: `<none>`
Headers: Content-Type=application/xml
Cookies: JSESSIONID=dafe5451ccfb40a5cc7fe2a35236
Body:
<nevisAuth xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="nevisAuth"
id="id-84f44415-8e79-444a-8c5e-3cd76b93a126" name="clone-source-auth-instance">
 <description>auth-instance-description</description>
 <cacheType>local</cacheType>
 <sessionIndexing>indexing</sessionIndexing>
 <defaultSignerKeystoreLabelId>nevis:authsigner</defaultSignerKeystoreLabelId>
 <dynCertSignerKeystoreLabelId>nevis:dyncertsign</dynCertSignerKeystoreLabelId>
 <classPath>/var/opt/nevisauth/test/plugin/:/opt/nevisauth/plugin/</classPath>
 ...
 <authKeyStore>
 <name>optional-keystore-1</name>
  <authKeyObject>
  <id>clone.source.server.hostname</id>
   <labelName>clone.source.server.hostname</labelName>
  <labelId>node:clone.source.server.hostname</labelId>
  <truststorePassPhrase>false</truststorePassPhrase>
  <revocation>revocation</revocation>
 <keyPurposeSet>key-purpose-set</keyPurposeSet>
 </authKeyObject>
 <authKeyObject>
  <id>clone.source.server.hostname1</id>
  <labelName>clone.source.server.hostname1</labelName>
  <labelId>node:clone.source.server.hostname1</labelId>
 <truststorePassPhrase>true</truststorePassPhrase>
   <revocation>revocation</revocation>
  <keyPurposeSet>key-purpose-set</keyPurposeSet>
 </authKeyObject>
 </authKeyStore>
 <sessionCacheAttributes>
 <property>
  <name>custom-session-cache-attribute-name</name>
  <value>custom-session-cache-attribute-value</value>
 </property>
 </sessionCacheAttributes>
</nevisAuth>