community.windows.win_iis_website module – Configures a IIS Web site
Note
This module is part of the community.windows collection (version 2.4.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 | Comments | 
|---|---|
| The application pool in which the new site executes. | |
| The host header to bind to / use for the new site. | |
| The IP address to bind to / use for the new site. | |
| Names of web site. | |
| 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. 
 
 
 
 | |
| The physical path on the remote host to use for the new site. The specified folder must already exist. | |
| The port to bind to / use for the new site. | |
| Explicitly set the IIS numeric ID for a site. Note that this value cannot be changed after the website has been created. | |
| State of the web site Choices: 
 | 
See Also
See also
- community.windows.win_iis_virtualdirectory
- Configures a virtual directory in IIS. 
- community.windows.win_iis_webapplication
- Configures IIS web applications. 
- community.windows.win_iis_webapppool
- Configure IIS Web Application Pools. 
- community.windows.win_iis_webbinding
- Configures a IIS Web site binding. 
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
