private[kusto] def mergeKeyVaultAndOptionsStorageParams()

in connector/src/main/scala/com/microsoft/kusto/spark/utils/KustoDataSourceUtils.scala [832:852]


  private[kusto] def mergeKeyVaultAndOptionsStorageParams(
      transientStorageParameters: Option[TransientStorageParameters],
      keyVaultAuthentication: KeyVaultAuthentication): Option[TransientStorageParameters] = {

    val keyVaultCredential = KeyVaultUtils.getStorageParamsFromKeyVault(keyVaultAuthentication)
    try {
      val domainSuffix =
        if (StringUtils.isNotBlank(keyVaultCredential.domainSuffix))
          keyVaultCredential.domainSuffix
        else KustoDataSourceUtils.DefaultDomainPostfix
      Some(new TransientStorageParameters(Array(keyVaultCredential), domainSuffix))
    } catch {
      case ex: Exception =>
        if (transientStorageParameters.isDefined) {
          // If storage option defined - take it
          transientStorageParameters
        } else {
          throw ex
        }
    }
  }