def METHOD_NAME(self) -> List:
    result = [self.program_name]
    result.extend(["-i", str(self.inventory.absolute())])
    if self.sources:
        result.extend(["-S", str(self.sources.absolute())])
    if self.vars_file:
        result.extend(["--vars", str(self.vars_file.absolute())])
    if self.envvars:
        result.extend(["--env-vars", self.envvars])
    if self.proc_id:
        result.extend(["--id", str(self.proc_id)])
    if self.websocket:
        result.extend(["--websocket-address", self.websocket])
    if self.project_tarball:
        result.extend(
            ["--project-tarball", str(self.project_tarball.absolute())]
        )
    if self.worker_mode:
        result.append("--worker")
    if self.rulebook:
        result.extend(["--rulebook", str(self.rulebook.absolute())])
    if self.verbose:
        result.append("-v")
    if self.debug:
        result.append("-vv")
    if self.verbosity > 0:
        result.append(f"-{'v'*self.verbosity}")
    if self.heartbeat > 0:
        result.extend(["--heartbeat", str(self.heartbeat)])
    if self.execution_strategy:
        result.extend(["--execution-strategy", self.execution_strategy])
    if self.hot_reload:
        result.append("--hot-reload")
    return result