On this page
community.windows.win_iis_website – Configures a IIS Web site
Note
This plugin is part of the community.windows collection (version 1.7.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
         | 
      
       
  | 
      
        
        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)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/windows/win_iis_website_module.html