in core/src/main/java/com/google/cloud/sql/core/DefaultConnectionInfoRepository.java [109:129]
public ConnectionInfo getConnectionInfoSync(
CloudSqlInstanceName instanceName,
AccessTokenSupplier accessTokenSupplier,
AuthType authType,
KeyPair keyPair) {
Optional<AccessToken> token = null;
try {
token = accessTokenSupplier.get();
} catch (IOException e) {
throw new RuntimeException("Unable to create IAM Auth access token", e);
}
InstanceMetadata metadata = fetchMetadata(instanceName, authType);
Certificate ephemeralCertificate =
fetchEphemeralCertificate(keyPair, instanceName, token, authType);
SslData sslContext =
createSslData(keyPair, metadata, ephemeralCertificate, instanceName, authType);
return createConnectionInfo(
instanceName, authType, token, metadata, ephemeralCertificate, sslContext);
}