def run_via_binary(self, command=None, foreground=False, volumes=None,<EOL>additional_opts=None, default_options=None, name=None, *args, **kwargs):
command = deepcopy(command) or []<EOL>volumes = deepcopy(volumes) or []<EOL>additional_opts = deepcopy(additional_opts) or []<EOL>internalkw = deepcopy(kwargs) or {}<EOL>inernalargs = deepcopy(args) or []<EOL>if default_options is None:<EOL><INDENT>default_options = ["<STR_LIT>"]<EOL><DEDENT>logger.info("<STR_LIT>")<EOL>machine_name = constants.CONU_ARTIFACT_TAG<EOL>if name:<EOL><INDENT>machine_name += name<EOL><DEDENT>else:<EOL><INDENT>machine_name += random_str()<EOL><DEDENT>if not foreground:<EOL><INDENT>internalkw["<STR_LIT>"] = subprocess.PIPE<EOL>internalkw["<STR_LIT>"] = subprocess.PIPE<EOL><DEDENT>additional_opts += default_options<EOL>if volumes:<EOL><INDENT>additional_opts += self.get_volume_options(volumes=volumes)<EOL><DEDENT>logger.debug("<STR_LIT>")<EOL>systemd_command = [<EOL>"<STR_LIT>",<EOL>"<STR_LIT>",<EOL>machine_name,<EOL>"<STR_LIT>",<EOL>self.local_location] + additional_opts + command<EOL>logger.debug("<STR_LIT>" % "<STR_LIT:U+0020>".join(systemd_command))<EOL>callback_method = (subprocess.Popen, systemd_command, inernalargs, internalkw)<EOL>self.container_process = NspawnContainer.internal_run_container(<EOL>name=machine_name,<EOL>callback_method=callback_method,<EOL>foreground=foreground<EOL>)<EOL>if foreground:<EOL><INDENT>return self.container_process<EOL><DEDENT>else:<EOL><INDENT>return NspawnContainer(self, None, name=machine_name,<EOL>start_process=self.container_process, start_action=callback_method)<EOL><DEDENT>
Create new instance NspawnContianer in case of not running at foreground, in case foreground run, return process
object

:param command: list - command to run
:param foreground: bool - run process at foreground
:param volumes: list - put additional bind mounts
:param additional_opts: list of more boot options for systemd-nspawn command
:param default_options: default boot option (-b)
:param name: str - name of running instance
:param args: pass thru params to subprocess.Popen
:param kwargs: pass thru params to subprocess.Popen
:return: process or NspawnContianer instance