I have tried making REST calls with puppet and it was... well... awful. I didn't really want to use pure ruby to interact with my load balancer and my concern was that for REST calls, every time the puppet run occurs I would be idempotently slamming my web server with a ton of requests - first checking if a particular item is out of spec and then possibly resetting it. Using curl via an exec and an unless statement was arduous to say the least.
Furthermore, the idempotent philosophy of puppet doesn't always play well with REST APIs that are not idempotent.
Are there any simple ways, ready-made methods or plugins for dealing with REST APIs via puppet?
Note: one feature request to watch: https://tickets.puppetlabs.com/browse/PUP-6658?filter=-2