in google-storage-common/src/main/kotlin/jetbrains/buildServer/serverSide/artifacts/google/GoogleUtils.kt [21:40]
fun getStorage(parameters: Map<String, String>): Storage {
if (parameters[GoogleConstants.CREDENTIALS_TYPE] == GoogleConstants.CREDENTIALS_ENVIRONMENT) {
return StorageOptions.getDefaultInstance().service
}
val builder = StorageOptions.newBuilder()
parameters[GoogleConstants.PARAM_ACCESS_KEY]?.trim()?.byteInputStream()?.use {
val factory = Utils.getDefaultJsonFactory()
val parser = factory.createJsonParser(it)
val json = parser.parse(GenericJson::class.java)
json[PROJECT_ID]?.let { id ->
builder.setProjectId(id as String)
}
it.reset()
builder.setCredentials(GoogleCredentials.fromStream(it))
}
return builder.build().service
}