The IBM provider supports passing a value for visibility. The default is "public" which means public endpoint is always used for api calls.
We should probably expose this value as a variable, and possibly default it to "private", especially since there may be CBR rules in place that only allow services to be talked to via the private network.