3D printed TPU is pretty suitable for this design. The infill works as a cushion and will effectively absorb shock.
I mounted them on my car with some 10mm(W) 3M VHB tape, which should be able to survive the outdoor weather.
In any case, it's cheap enough to print, if it comes off I will just print another one.
The author hasn't provided the model origin yet.