code: def path(self, which=None):
          
          if which in (
                  'enc',
                  'errata',
                  'errata/apply',
                  'errata/applicability',
                  'facts',
                  'packages',
                  'power',
                  'puppetclass_ids',
                  'smart_class_parameters',
                  'smart_variables',
                  'module_streams',
          ):
              return '{0}/{1}'.format(
                  super(Host, self).path(which='self'),
                  which
              )
          elif which in ('bulk/install_content',):
              return '{0}/{1}'.format(
                  super(Host, self).path(which='base'),
                  which
              )
          elif which in ('upload_facts',):
              return '{0}/{1}'.format(
                  super(Host, self).path(which='base'),
                  'facts'
              )
          return super(Host, self).path(which)
docs: Extend ``nailgun.entity_mixins.Entity.path``.
          The format of the returned path depends on the value of ``which``:
  
          bulk/install_content
              /api/hosts/:host_id/bulk/install_content
          errata
              /api/hosts/:host_id/errata
          power
              /api/hosts/:host_id/power
          errata/apply
              /api/hosts/:host_id/errata/apply
          puppetclass_ids
              /api/hosts/:host_id/puppetclass_ids
          smart_class_parameters
              /api/hosts/:host_id/smart_class_parameters
          smart_variables
              /api/hosts/:host_id/smart_class_variables
          module_streams
              /api/hosts/:host_id/module_streams
  
          Otherwise, call ``super``.