$defs:
  addr_config:
    description: AddrConfig represents a network endpoint address.
    type: object
    properties:
      dialer:
        description: DialerConfig contains options for connecting to an address.
        $ref: dialer_config
      endpoint:
        description: Endpoint configures the address for this network connection. For TCP and UDP networks, the address has the form "host:port". The host must be a literal IP address, or a host name that can be resolved to IP addresses. The port must be a literal port number or a service name. If the host is a literal IPv6 address it must be enclosed in square brackets, as in "[2001:db8::1]:80" or "[fe80::1%zone]:80". The zone specifies the scope of the literal IPv6 address as defined in RFC 4007.
        type: string
      transport:
        description: Transport to use. Allowed protocols are "tcp", "tcp4" (IPv4-only), "tcp6" (IPv6-only), "udp", "udp4" (IPv4-only), "udp6" (IPv6-only), "ip", "ip4" (IPv4-only), "ip6" (IPv6-only), "unix", "unixgram", "unixpacket" and "npipe" (Windows named pipes, Windows-only).
        $ref: transport_type
  dialer_config:
    description: DialerConfig contains options for connecting to an address.
    type: object
    properties:
      timeout:
        description: Timeout is the maximum amount of time a dial will wait for a connect to complete. The default is no timeout.
        type: string
        x-customType: time.Duration
        format: duration
  tcp_addr_config:
    description: TCPAddrConfig represents a TCP endpoint address.
    type: object
    properties:
      dialer:
        description: DialerConfig contains options for connecting to an address.
        $ref: dialer_config
      endpoint:
        description: Endpoint configures the address for this network connection. The address has the form "host:port". The host must be a literal IP address, or a host name that can be resolved to IP addresses. The port must be a literal port number or a service name. If the host is a literal IPv6 address it must be enclosed in square brackets, as in "[2001:db8::1]:80" or "[fe80::1%zone]:80". The zone specifies the scope of the literal IPv6 address as defined in RFC 4007.
        type: string
  transport_type:
    description: TransportType represents a type of network transport protocol
    type: string
