def submit_job(jobName=None, jobQueue=None, dependsOn=None, jobDefinition=
    None, parameters=None, containerOverrides=None, retryStrategy=None):
    """
    Submits an AWS Batch job from a job definition. Parameters specified during  SubmitJob override parameters defined in the job definition.
    See also: AWS API Documentation
    
    Examples
    This example submits a simple container job called example to the HighPriority job queue.
    Expected Output:
    
    :example: response = client.submit_job(
        jobName='string',
        jobQueue='string',
        dependsOn=[
            {
                'jobId': 'string'
            },
        ],
        jobDefinition='string',
        parameters={
            'string': 'string'
        },
        containerOverrides={
            'vcpus': 123,
            'memory': 123,
            'command': [
                'string',
            ],
            'environment': [
                {
                    'name': 'string',
                    'value': 'string'
                },
            ]
        },
        retryStrategy={
            'attempts': 123
        }
    )
    
    
    :type jobName: string
    :param jobName: [REQUIRED]
            The name of the job. A name must be 1 to 128 characters in length.
            Pattern: ^[a-zA-Z0-9_]+$
            

    :type jobQueue: string
    :param jobQueue: [REQUIRED]
            The job queue into which the job will be submitted. You can specify either the name or the Amazon Resource Name (ARN) of the queue.
            

    :type dependsOn: list
    :param dependsOn: A list of job IDs on which this job depends. A job can depend upon a maximum of 100 jobs.
            (dict) --An object representing an AWS Batch job dependency.
            jobId (string) --The job ID of the AWS Batch job associated with this dependency.
            
            

    :type jobDefinition: string
    :param jobDefinition: [REQUIRED]
            The job definition used by this job. This value can be either a name:revision or the Amazon Resource Name (ARN) for the job definition.
            

    :type parameters: dict
    :param parameters: Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.
            (string) --
            (string) --
            

    :type containerOverrides: dict
    :param containerOverrides: A list of container overrides in JSON format that specify the name of a container in the specified job definition and the overrides it should receive. You can override the default command for a container (that is specified in the job definition or the Docker image) with a command override. You can also override existing environment variables (that are specified in the job definition or Docker image) on a container or add new environment variables to it with an environment override.
            vcpus (integer) --The number of vCPUs to reserve for the container. This value overrides the value set in the job definition.
            memory (integer) --The number of MiB of memory reserved for the job. This value overrides the value set in the job definition.
            command (list) --The command to send to the container that overrides the default command from the Docker image or the job definition.
            (string) --
            environment (list) --The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the job definition.
            (dict) --A key-value pair object.
            name (string) --The name of the key value pair. For environment variables, this is the name of the environment variable.
            value (string) --The value of the key value pair. For environment variables, this is the value of the environment variable.
            
            

    :type retryStrategy: dict
    :param retryStrategy: The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition.
            attempts (integer) --The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10 attempts. If attempts is greater than one, the job is retried if it fails until it has moved to RUNNABLE that many times.
            

    :rtype: dict
    :return: {
        'jobName': 'string',
        'jobId': 'string'
    }
    
    
    """
    pass
