That is the question (apologies to the Baird and his fine Danish prince).

I’ve been seeing quite a few questions on some of our internal mailing lists about doing complicated things without using iRules.

“My customer wants to manipulate some application traffic in some outlandish way way but only on a Thursday when the customer is connecting in form New Guinea, oh and they want a custom log message when it happens. But they don’t want to use an iRule as that will be to complex”

What?  There is a reason it takes years, plus a bunch of skills I’ll never poses, to learn to fly this:

spaceshuttle flight deck

(Source NASA – who do not endorse F5 products or services, but who do make cool pictures like this for use in the public domain - GGG NSASA)

but if I give you a box of Lego you can probably build me something really cool in about 10 minutes.

The fact is that if we built every single piece of functionality you could ever want into our products they would become unusable by idiots like me. We would end up with a cross between the space shuttle and a 16 channel mixing desk.  I don't want to study for five years to learn how to use an ADC. I want to be able to get something up and running in a few hours. If I can leverage the huge range of functionality that comes inbuilt, then great. But I don’t want added complexity because of a small use case that could have been solved with 10 lines of code. I want to be able to take those ten lines of code (thanks DevCentral) and build my own use case (then publish it and earn intangible internet DevPoints).

Scripting is good, it lets you build tailored solutions with less complexity than adding more configuration options. Best of all, if enough people start using an iRule (and therefore it’s not a small use case) we can build it in, because we’re not tied up building every other option that anyone has ever wanted.

So script away, build something.