code: def create_runner_firewall_rules(
      firewalls_client: compute_v1.FirewallsClient,
      project_id: str,
      network: str = "global/networks/default",
  ):
      firewall_rule = compute_v1.Firewall()
      firewall_rule.name = f"dstack-ssh-in-" + network.replace("/", "-")
      firewall_rule.direction = "INGRESS"
  
      allowed_ssh_port = compute_v1.Allowed()
      allowed_ssh_port.I_p_protocol = "tcp"
      allowed_ssh_port.ports = ["22"]
  
      firewall_rule.allowed = [allowed_ssh_port]
      firewall_rule.source_ranges = ["0.0.0.0/0"]
      firewall_rule.network = network
      firewall_rule.description = (
          "Allowing only SSH connections from Internet."
      )
  
      firewall_rule.target_tags = [DSTACK_INSTANCE_TAG]
  
      try:
          operation = firewalls_client.insert(
              project=project_id, firewall_resource=firewall_rule
          )
          wait_for_extended_operation(
              operation, "firewall rule creation"
          )
      except google.api_core.exceptions.Conflict:
          pass
  
file_path: dstack/src/dstack/_internal/core/backends/gcp/resources.py
imports: from typing import Dict, List, Optional
  import google.api_core.exceptions
  import google.cloud.compute_v1
  from google.api_core.extended_operation import ExtendedOperation
  import dstack.version
  from dstack._internal.core.models.instances import Gpu
  from dstack._internal.utils.logging import get_logger
label_desc: Use image node_id 4 for calling a global function with example usage: create_runner_firewall_rules(firewalls_client, project_id, network) without return types