Chocolatey 0.9.9+ deprecated support for the `webpi` custom source, so I needed to write this.
[Windows Web Platform Installer](http://www.microsoft.com/web/downloads/platform.aspx) is a way of installing products and applications for Microsoft IIS on Windows. It has a [command line](http://www.iis.net/learn/install/web-platform-installer/web-platform-installer-v4-command-line-webpicmdexe-rtw-release); this ansible module allows IIS modules to be installed via this means.
To find out names of modules, use `webpicmd /list /listoption:available`.
Notes:
* `webpicmd` must be installed and on `PATH` first (see `win_chocolatey` module; package is `webpicmd`)
* `webpicmd` does not allow modules to be uninstalled
* IIS must be installed first (see `win_feature` module; package is `Web-Server`)
* Installations will
* accept EULA (which otherwise requires user input)
* suppress reboots (so you have to manage those; see `win_reboot` module)
When .NET is installed or updated, ngen is triggered to optimise the installation. This triggers high CPU while it's happening, and usually happens at an inconvenient time.
This allows you to trigger it when you like. Full details and background in doc.
I don't know a way to figure out whether this is required without actually running it.
Added functionality to set rules for egress using this module at these are very similar. The only real difference is that egress firewall API uses the networkid. That is why the new arguments `type` for choosing `egress` or `ingress` and `network` was added.
For `type=ingress`, which is the default, `ip_address` is required and for `type=egress` the argument `network` is required.