docs: def updateDefinition(self, json_dict):
          """
             The updateDefinition operation supports updating a definition
             property in a hosted feature service. The result of this
             operation is a response indicating success or failure with error
             code and description.
  
             Input:
                json_dict - part to add to host service.  The part format can
                            be derived from the asDictionary property.  For
                            layer level modifications, run updates on each
                            individual feature service layer object.
             Output:
                JSON Message as dictionary
          """
          definition = None
          if json_dict is not None:
              if isinstance(json_dict,collections.OrderedDict) == True:
                  definition = json_dict
              else:
  
                  definition = collections.OrderedDict()
                  if 'hasStaticData' in json_dict:
                      definition['hasStaticData'] = json_dict['hasStaticData']
                  if 'allowGeometryUpdates' in json_dict:
                      definition['allowGeometryUpdates'] = json_dict['allowGeometryUpdates']
                  if 'capabilities' in json_dict:
                      definition['capabilities'] = json_dict['capabilities']
                  if 'editorTrackingInfo' in json_dict:
                      definition['editorTrackingInfo'] = collections.OrderedDict()
                      if 'enableEditorTracking' in json_dict['editorTrackingInfo']:
                          definition['editorTrackingInfo']['enableEditorTracking'] = json_dict['editorTrackingInfo']['enableEditorTracking']
  
                      if 'enableOwnershipAccessControl' in json_dict['editorTrackingInfo']:
                          definition['editorTrackingInfo']['enableOwnershipAccessControl'] = json_dict['editorTrackingInfo']['enableOwnershipAccessControl']
  
                      if 'allowOthersToUpdate' in json_dict['editorTrackingInfo']:
                          definition['editorTrackingInfo']['allowOthersToUpdate'] = json_dict['editorTrackingInfo']['allowOthersToUpdate']
  
                      if 'allowOthersToDelete' in json_dict['editorTrackingInfo']:
                          definition['editorTrackingInfo']['allowOthersToDelete'] = json_dict['editorTrackingInfo']['allowOthersToDelete']
  
                      if 'allowOthersToQuery' in json_dict['editorTrackingInfo']:
                          definition['editorTrackingInfo']['allowOthersToQuery'] = json_dict['editorTrackingInfo']['allowOthersToQuery']
                      if isinstance(json_dict['editorTrackingInfo'],dict):
                          for k,v in json_dict['editorTrackingInfo'].items():
                              if k not in definition['editorTrackingInfo']:
                                  definition['editorTrackingInfo'][k] = v
                  if isinstance(json_dict,dict):
                      for k,v in json_dict.items():
                          if k not in definition:
                              definition[k] = v
  
          params = {
              "f" : "json",
              "updateDefinition" : json.dumps(obj=definition,separators=(',', ':')),
              "async" : False
          }
          uURL = self._url + "/updateDefinition"
          res = self._post(url=uURL, param_dict=params,
                              securityHandler=self._securityHandler,
                              proxy_port=self._proxy_port,
                               proxy_url=self._proxy_url)
          self.refresh()
          return res