Hi all, I hope somebody can offer me a little guidance. I’ve read a decent amount on jinja2 and as I’m still learning python; so with that I hoped for a little guidance.
Essentially I want to apply a role based off an item in the hostname.
So {{ ansible_hostname }} = las01-123-984 where 123 is the host type. That’s my role that’s setup. It sets up the box as an apache system with new firewall and all that.
I’ve just been unable to get the proper parser to pull the 123 from the hostname.
The regex_replace filter is probably what you're looking for. Assuming
there are only ever 3 segments separated by a hyphen, and you want the
2nd, something like this would work:
I’d vote for James Martin’s suggestion for selecting hosts based on the pattern.
The other vote is good enough for getting out the string and putting it into a conditional, but using the pattern construct is more readable and also produces cleaner output.