def submit(self, command='<STR_LIT>', blocksize=<NUM_LIT:1>, tasks_per_node=<NUM_LIT:1>, job_name="<STR_LIT>"):
job_name = "<STR_LIT>".format(time.time())<EOL>wrapped_cmd = self.launcher(command,<EOL>tasks_per_node,<EOL>self.nodes_per_block)<EOL>[instance, *rest] = self.spin_up_instance(command=wrapped_cmd, job_name=job_name)<EOL>if not instance:<EOL><INDENT>logger.error("<STR_LIT>")<EOL>return None<EOL><DEDENT>logger.debug("<STR_LIT>".format(instance.instance_id))<EOL>state = translate_table.get(instance.state['<STR_LIT:Name>'], "<STR_LIT>")<EOL>self.resources[instance.instance_id] = {<EOL>"<STR_LIT>": instance.instance_id,<EOL>"<STR_LIT>": instance,<EOL>"<STR_LIT:status>": state<EOL>}<EOL>return instance.instance_id<EOL>
Submit the command onto a freshly instantiated AWS EC2 instance.

        Submit returns an ID that corresponds to the task that was just submitted.

        Parameters
        ----------
        command : str
            Command to be invoked on the remote side.
        blocksize : int
            Number of blocks requested.
        tasks_per_node : int (default=1)
            Number of command invocations to be launched per node
        job_name : str
            Prefix for the job name.

        Returns
        -------
        None or str
            If at capacity, None will be returned. Otherwise, the job identifier will be returned.