<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_pod_spec( image, labels={}, threads_per_worker=1, env={}, extra_container_config={}, extra_pod_config={}, memory_limit=None, memory_request=None, cpu_limit=None, cpu_request=None, ):
 """ Create generic pod template from input parameters Examples -------- """

    args = [
        'dask-worker',
        '$(DASK_SCHEDULER_ADDRESS)',
        '--nthreads', str(threads_per_worker),
        '--death-timeout', '60',
    ]
    if memory_limit:
        args.extend(['--memory-limit', str(memory_limit)])
    pod = client.V1Pod(
        metadata=client.V1ObjectMeta(
            labels=labels
        ),
        spec=client.V1PodSpec(
            restart_policy='Never',
            containers=[
                client.V1Container(
                    name='dask-worker',
                    image=image,
                    args=args,
                    env=[client.V1EnvVar(name=k, value=v)
                            for k, v in env.items()],
                )
            ],
            tolerations=[
                client.V1Toleration(
                    key='k8s.dask.org/dedicated',
                    operator='Equal',
                    value='worker',
                    effect='NoSchedule',
                ),
                # GKE currently does not permit creating taints on a node pool
                # with a `/` in the key field
                client.V1Toleration(
                    key='k8s.dask.org_dedicated',
                    operator='Equal',
                    value='worker',
                    effect='NoSchedule',
                ),
            ]
        )
    )

    resources = client.V1ResourceRequirements(limits={}, requests={})

    if cpu_request:
        resources.requests['cpu'] = cpu_request
    if memory_request:
        resources.requests['memory'] = memory_request

    if cpu_limit:
        resources.limits['cpu'] = cpu_limit
    if memory_limit:
        resources.limits['memory'] = memory_limit

    pod.spec.containers[0].resources = resources

    for key, value in extra_container_config.items():
        _set_k8s_attribute(
            pod.spec.containers[0],
            key,
            value
        )

    for key, value in extra_pod_config.items():
        _set_k8s_attribute(
            pod.spec,
            key,
            value
        )
    return pod