Configure IIS Web Application Pools
- Creates, removes and configures an IIS Web Application Pool.
Parameter | Choices/Defaults | Comments |
---|---|---|
attributes
-
|
This field is a free form dictionary value for the application pool attributes.
These attributes are based on the naming standard at https://www.iis.net/configreference/system.applicationhost/applicationpools/add#005, see the examples section for more details on how to set this.
You can also set the attributes of child elements like cpu and processModel, see the examples to see how it is done.
While you can use the numeric values for enums it is recommended to use the enum name itself, e.g. use SpecificUser instead of 3 for processModel.identityType.
managedPipelineMode may be either "Integrated" or "Classic".
startMode may be either "OnDemand" or "AlwaysRunning".
Use
state module parameter to modify the state of the app pool.When trying to set 'processModel.password' and you receive a 'Value does fall within the expected range' error, you have a corrupted keystore. Please follow http://structuredsight.com/2014/10/26/im-out-of-range-youre-out-of-range/ to help fix your host.
|
|
name
string
/ required
|
Name of the application pool.
|
|
state
string
|
|
The state of the application pool.
If
absent will ensure the app pool is removed.If
present will ensure the app pool is configured and exists.If
restarted will ensure the app pool exists and will restart, this is never idempotent.If
started will ensure the app pool exists and is started.If
stopped will ensure the app pool exists and is stopped. |
.. seealso:: :ref:`community.windows.win_iis_virtualdirectory_module` The official documentation on the **community.windows.win_iis_virtualdirectory** module. :ref:`community.windows.win_iis_webapplication_module` The official documentation on the **community.windows.win_iis_webapplication** module. :ref:`community.windows.win_iis_webbinding_module` The official documentation on the **community.windows.win_iis_webbinding** module. :ref:`community.windows.win_iis_website_module` The official documentation on the **community.windows.win_iis_website** module.
- name: Return information about an existing application pool
community.windows.win_iis_webapppool:
name: DefaultAppPool
state: present
- name: Create a new application pool in 'Started' state
community.windows.win_iis_webapppool:
name: AppPool
state: started
- name: Stop an application pool
community.windows.win_iis_webapppool:
name: AppPool
state: stopped
- name: Restart an application pool (non-idempotent)
community.windows.win_iis_webapppool:
name: AppPool
state: restarted
- name: Change application pool attributes using new dict style
community.windows.win_iis_webapppool:
name: AppPool
attributes:
managedRuntimeVersion: v4.0
autoStart: no
- name: Creates an application pool, sets attributes and starts it
community.windows.win_iis_webapppool:
name: AnotherAppPool
state: started
attributes:
managedRuntimeVersion: v4.0
autoStart: no
# In the below example we are setting attributes in child element processModel
# https://www.iis.net/configreference/system.applicationhost/applicationpools/add/processmodel
- name: Manage child element and set identity of application pool
community.windows.win_iis_webapppool:
name: IdentitiyAppPool
state: started
attributes:
managedPipelineMode: Classic
processModel.identityType: SpecificUser
processModel.userName: '{{ansible_user}}'
processModel.password: '{{ansible_password}}'
processModel.loadUserProfile: true
- name: Manage a timespan attribute
community.windows.win_iis_webapppool:
name: TimespanAppPool
state: started
attributes:
# Timespan with full string "day:hour:minute:second.millisecond"
recycling.periodicRestart.time: "00:00:05:00.000000"
recycling.periodicRestart.schedule: ["00:10:00", "05:30:00"]
# Shortened timespan "hour:minute:second"
processModel.pingResponseTime: "00:03:00"
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
attributes
dictionary
|
success |
Application Pool attributes that were set and processed by this module invocation.
Sample:
{'enable32BitAppOnWin64': 'true', 'managedRuntimeVersion': 'v4.0', 'managedPipelineMode': 'Classic'}
|
|
info
complex
|
success |
Information on current state of the Application Pool. See https://www.iis.net/configreference/system.applicationhost/applicationpools/add#005 for the full list of return attributes based on your IIS version.
|
|
attributes
dictionary
|
success |
Key value pairs showing the current Application Pool attributes.
Sample:
{'autoStart': True, 'managedRuntimeLoader': 'webengine4.dll', 'managedPipelineMode': 'Classic', 'name': 'DefaultAppPool', 'CLRConfigFile': '', 'passAnonymousToken': True, 'applicationPoolSid': 'S-1-5-82-1352790163-598702362-1775843902-1923651883-1762956711', 'queueLength': 1000, 'managedRuntimeVersion': 'v4.0', 'state': 'Started', 'enableConfigurationOverride': True, 'startMode': 'OnDemand', 'enable32BitAppOnWin64': True}
|
|
cpu
dictionary
|
success |
Key value pairs showing the current Application Pool cpu attributes.
Sample:
{'action': 'NoAction', 'limit': 0, 'resetInterval': {'Days': 0, 'Hours': 0}}
|
|
failure
dictionary
|
success |
Key value pairs showing the current Application Pool failure attributes.
Sample:
{'autoShutdownExe': '', 'orphanActionExe': '', 'rapidFailProtextionInterval': {'Days': 0, 'Hours': 0}}
|
|
name
string
|
success |
Name of Application Pool that was processed by this module invocation.
Sample:
DefaultAppPool
|
|
processModel
dictionary
|
success |
Key value pairs showing the current Application Pool processModel attributes.
Sample:
{'identityType': 'ApplicationPoolIdentity', 'logonType': 'LogonBatch', 'pingInterval': {'Days': 0, 'Hours': 0}}
|
|
recycling
dictionary
|
success |
Key value pairs showing the current Application Pool recycling attributes.
Sample:
{'disallowOverlappingRotation': False, 'disallowRotationOnConfigChange': False, 'logEventOnRecycle': 'Time,Requests,Schedule,Memory,IsapiUnhealthy,OnDemand,ConfigChange,PrivateMemory'}
|
|
state
string
|
success |
Current runtime state of the pool as the module completed.
Sample:
Started
|
- Henrik Wallström (@henrikwallstrom)
- Jordan Borean (@jborean93)