docs: def get_ssh_gateway_config(vm_):
      '''
      Return the ssh_gateway configuration.
      '''
      ssh_gateway = config.get_cloud_config_value(
          'ssh_gateway', vm_, __opts__, default=None,
          search_global=False
      )
  
      # Check to see if a SSH Gateway will be used.
      if not isinstance(ssh_gateway, six.string_types):
          return None
  
      # Create dictionary of configuration items
  
      # ssh_gateway
      ssh_gateway_config = {'ssh_gateway': ssh_gateway}
  
      # ssh_gateway_port
      ssh_gateway_config['ssh_gateway_port'] = config.get_cloud_config_value(
          'ssh_gateway_port', vm_, __opts__, default=None,
          search_global=False
      )
  
      # ssh_gateway_username
      ssh_gateway_config['ssh_gateway_user'] = config.get_cloud_config_value(
          'ssh_gateway_username', vm_, __opts__, default=None,
          search_global=False
      )
  
      # ssh_gateway_private_key
      ssh_gateway_config['ssh_gateway_key'] = config.get_cloud_config_value(
          'ssh_gateway_private_key', vm_, __opts__, default=None,
          search_global=False
      )
  
      # ssh_gateway_password
      ssh_gateway_config['ssh_gateway_password'] = config.get_cloud_config_value(
          'ssh_gateway_password', vm_, __opts__, default=None,
          search_global=False
      )
  
      # ssh_gateway_command
      ssh_gateway_config['ssh_gateway_command'] = config.get_cloud_config_value(
          'ssh_gateway_command', vm_, __opts__, default=None,
          search_global=False
      )
  
      # Check if private key exists
      key_filename = ssh_gateway_config['ssh_gateway_key']
      if key_filename is not None and not os.path.isfile(key_filename):
          raise SaltCloudConfigError(
              'The defined ssh_gateway_private_key \'{0}\' does not exist'
              .format(key_filename)
          )
      elif (
          key_filename is None and
          not ssh_gateway_config['ssh_gateway_password']
      ):
          raise SaltCloudConfigError(
              'No authentication method. Please define: '
              ' ssh_gateway_password or ssh_gateway_private_key'
          )
  
      return ssh_gateway_config