code: def _get_service_account(account, config, iam):
      project_id = config["provider"]["project_id"]
      full_name = (
          "projects/{project_id}/serviceAccounts/{account}".format(
              project_id=project_id, account=account
          )
      )
      try:
          service_account = (
              iam.projects()
              .serviceAccounts()
              .get(name=full_name)
              .execute()
          )
      except errors.HttpError as e:
          if e.resp.status != 404:
              raise
          service_account = None
  
      return service_account
  
imports: import copy
  import json
  import logging
  import os
  import re
  import time
  from functools import partial, reduce
  from cryptography.hazmat.backends import default_backend
  from cryptography.hazmat.primitives import serialization
  from cryptography.hazmat.primitives.asymmetric import rsa
  from google.oauth2 import service_account
  from google.oauth2.credentials import Credentials
  from googleapiclient import discovery, errors
  from ray._private.accelerators import TPUAcceleratorManager, tpu
  from ray.autoscaler._private.gcp.node import MAX_POLLS, POLL_INTERVAL, GCPNodeType
  from ray.autoscaler._private.util import check_legacy_fields
label_desc: Use image node_id 27 for calling a global function with example usage: _get_service_account(account, config, iam) and returns: service_account