code: def create_definition(self, definition, project, definition_to_clone_id=None, definition_to_clone_revision=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          query_parameters = {}
          if definition_to_clone_id is not None:
              query_parameters['definitionToCloneId'] = self._serialize.query('definition_to_clone_id', definition_to_clone_id, 'int')
          if definition_to_clone_revision is not None:
              query_parameters['definitionToCloneRevision'] = self._serialize.query('definition_to_clone_revision', definition_to_clone_revision, 'int')
          content = self._serialize.body(definition, 'BuildDefinition')
          response = self._send(http_method='POST',
                                location_id='dbeaf647-6167-421a-bda9-c9327b25e2e6',
                                version='5.0',
                                route_values=route_values,
                                query_parameters=query_parameters,
                                content=content)
          return self._deserialize('BuildDefinition', response)
docs: CreateDefinition.
          Creates a new definition.
          :param :class:`<BuildDefinition> <azure.devops.v5_0.build.models.BuildDefinition>` definition: The definition.
          :param str project: Project ID or project name
          :param int definition_to_clone_id:
          :param int definition_to_clone_revision:
          :rtype: :class:`<BuildDefinition> <azure.devops.v5_0.build.models.BuildDefinition>`