My team has a plugin that needs to create endpoints url based on public/private/vpc and GetEndpoint could do it if I could pass in a models.Endpoints instead of an endpoints.Service.
This is because I need to duplicate all of the code that is done in GetEndpoint( with checking for vpc, private, public, staging, etc.
If I had an additional API GetEndpoint alternative call that takes a models.Endpoints I could just pass that in and let the common code do all of it. That way it would stay in sync if new function is added.
Now I have copy it and hopefully notice changes and keep it in sync in the processing logic.