code: def clean_pod_template(pod_template):
      
      if isinstance(pod_template, str):
          msg = ('Expected a kubernetes.client.V1Pod object, got %s'
                 'If trying to pass a yaml filename then use '
                 'KubeCluster.from_yaml')
          raise TypeError(msg % pod_template)
  
      if isinstance(pod_template, dict):
          msg = ('Expected a kubernetes.client.V1Pod object, got %s'
                 'If trying to pass a dictionary specification then use '
                 'KubeCluster.from_dict')
          raise TypeError(msg % str(pod_template))
  
      pod_template = copy.deepcopy(pod_template)
  
      # Make sure metadata / labels / env objects exist, so they can be modified
      # later without a lot of `is None` checks
      if pod_template.metadata is None:
          pod_template.metadata = client.V1ObjectMeta()
      if pod_template.metadata.labels is None:
          pod_template.metadata.labels = {}
  
      if pod_template.spec.containers[0].env is None:
          pod_template.spec.containers[0].env = []
  
      return pod_template
docs: Normalize pod template and check for type errors