ConnectionMetadata toConnectionMetadata()

in core/src/main/java/com/google/cloud/sql/core/ConnectionInfo.java [56:79]


  ConnectionMetadata toConnectionMetadata(
      ConnectionConfig config, CloudSqlInstanceName instanceName) {
    String preferredIp = null;

    for (IpType ipType : config.getIpTypes()) {
      preferredIp = getIpAddrs().get(ipType);
      if (preferredIp != null) {
        break;
      }
    }
    if (preferredIp == null) {
      throw new IllegalArgumentException(
          String.format(
              "[%s] Cloud SQL instance  does not have any IP addresses matching preferences (%s)",
              instanceName.getConnectionName(),
              config.getIpTypes().stream().map(IpType::toString).collect(Collectors.joining(","))));
    }

    return new ConnectionMetadata(
        preferredIp,
        sslData.getKeyManagerFactory(),
        sslData.getTrustManagerFactory(),
        sslData.getSslContext());
  }