community.windows.win_iis_website – Configures a IIS Web site

Note

This plugin is part of the community.windows collection (version 1.9.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.windows.

To use it in a playbook, specify: community.windows.win_iis_website.

Synopsis

  • Creates, Removes and configures a IIS Web site.

Parameters

Parameter Choices/Defaults Comments
application_pool
string
The application pool in which the new site executes.
hostname
string
The host header to bind to / use for the new site.
ip
string
The IP address to bind to / use for the new site.
name
string / required
Names of web site.
parameters
string
Custom site Parameters from string where properties are separated by a pipe and property name/values by colon Ex. "foo:1|bar:2"
Some custom parameters that you can use are listed below, this isn't a definitive list but some common parameters.
logfile.directory - Physical path to store Logs, e.g. D:\IIS-LOGs\.
logfile.period - Log file rollover scheduled accepting these values, how frequently the log file should be rolled-over, e.g. Hourly, Daily, Weekly, Monthly.
logfile.LogFormat - Log file format, by default IIS uses W3C.
logfile.truncateSize - The size at which the log file contents will be trunsted, expressed in bytes.
physical_path
string
The physical path on the remote host to use for the new site.
The specified folder must already exist.
port
integer
The port to bind to / use for the new site.
site_id
string
Explicitly set the IIS numeric ID for a site.
Note that this value cannot be changed after the website has been created.
state
string
    Choices:
  • absent
  • started
  • stopped
  • restarted
State of the web site

See Also

See also

community.windows.win_iis_virtualdirectory

The official documentation on the community.windows.win_iis_virtualdirectory module.

community.windows.win_iis_webapplication

The official documentation on the community.windows.win_iis_webapplication module.

community.windows.win_iis_webapppool

The official documentation on the community.windows.win_iis_webapppool module.

community.windows.win_iis_webbinding

The official documentation on the community.windows.win_iis_webbinding module.

Examples

# Start a website

- name: Acme IIS site
  community.windows.win_iis_website:
    name: Acme
    state: started
    port: 80
    ip: 127.0.0.1
    hostname: acme.local
    application_pool: acme
    physical_path: C:\sites\acme
    parameters: logfile.directory:C:\sites\logs
  register: website

# Remove Default Web Site and the standard port 80 binding
- name: Remove Default Web Site
  community.windows.win_iis_website:
    name: "Default Web Site"
    state: absent

# Create a WebSite with custom Logging configuration (Logs Location, Format and Rolling Over).

- name: Creating WebSite with Custom Log location, Format 3WC and rolling over every hour.
  community.windows.win_iis_website:
    name: MyCustom_Web_Shop_Site
    state: started
    port: 80
    ip: '*'
    hostname: '*'
    physical_path: D:\wwwroot\websites\my-shop-site
    parameters: logfile.directory:D:\IIS-LOGS\websites\my-shop-site|logfile.period:Hourly|logFile.logFormat:W3C
    application_pool: my-shop-site

# Some commandline examples:

# This return information about an existing host
# $ ansible -i vagrant-inventory -m community.windows.win_iis_website -a "name='Default Web Site'" window
# host | success >> {
#     "changed": false,
#     "site": {
#         "ApplicationPool": "DefaultAppPool",
#         "Bindings": [
#             "*:80:"
#         ],
#         "ID": 1,
#         "Name": "Default Web Site",
#         "PhysicalPath": "%SystemDrive%\\inetpub\\wwwroot",
#         "State": "Stopped"
#     }
# }

# This stops an existing site.
# $ ansible -i hosts -m community.windows.win_iis_website -a "name='Default Web Site' state=stopped" host

# This creates a new site.
# $ ansible -i hosts -m community.windows.win_iis_website -a "name=acme physical_path=C:\\sites\\acme" host

# Change logfile.
# $ ansible -i hosts -m community.windows.win_iis_website -a "name=acme physical_path=C:\\sites\\acme" host

Authors

  • Henrik Wallström (@henrikwallstrom)