code: def register(self):
          
          client_hostname = determine_hostname()
          # This will undo a blacklist
          logger.debug("API: Create system")
          system = self.create_system(new_machine_id=False)
          if system is False:
              return ('Could not reach the Insights service to register.', '', '', '')
  
          # If we get a 409, we know we need to generate a new machine-id
          if system.status_code == 409:
              system = self.create_system(new_machine_id=True)
          self.handle_fail_rcs(system)
  
          logger.debug("System: %s", system.json())
  
          message = system.headers.get("x-rh-message", "")
  
          # Do grouping
          if self.config.group is not None:
              self.do_group()
  
          # Display registration success messasge to STDOUT and logs
          if system.status_code == 201:
              try:
                  system_json = system.json()
                  machine_id = system_json["machine_id"]
                  account_number = system_json["account_number"]
                  logger.info("You successfully registered %s to account %s." % (machine_id, account_number))
              except:
                  logger.debug('Received invalid JSON on system registration.')
                  logger.debug('API still indicates valid registration with 201 status code.')
                  logger.debug(system)
                  logger.debug(system.json())
  
          if self.config.group is not None:
              return (message, client_hostname, self.config.group, self.config.display_name)
          elif self.config.display_name is not None:
              return (message, client_hostname, "None", self.config.display_name)
          else:
              return (message, client_hostname, "None", "")
docs: Register this machine