There is a few option, one of the option is more easy to understand, like Mateusz Kubuszok told above.
Using map with IF - ELSE,
val withMap = serversProto.map(server => if (server.registrationStatus == "REGISTERED") { server.copy(name = s"${server.name}-updated") } else { server } )
Using map with Pattern Matching
val withPatternMatch = serversProto.map { case server if server.registrationStatus == "REGISTERED" => server.copy(name = s"${server.name}-updated") case server => server }
Using collect
val withCollect = serversProto.collect { case server if server.registrationStatus == "REGISTERED" => server.copy(name = s"${server.name}-updated") case server => server }
But i recommend using no. 3, because its more clean and simple and more idiomatic in scala