community.windows.win_iis_webapppool (2.2.0) — module

Configure IIS Web Application Pools

Authors: Henrik Wallström (@henrikwallstrom), Jordan Borean (@jborean93)

Install collection

Install with ansible-galaxy collection install community.windows:==2.2.0


Add to requirements.yml

  collections:
    - name: community.windows
      version: 2.2.0

Description

Creates, removes and configures an IIS Web Application Pool.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Return information about an existing application pool
  community.windows.win_iis_webapppool:
    name: DefaultAppPool
    state: present
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new application pool in 'Started' state
  community.windows.win_iis_webapppool:
    name: AppPool
    state: started
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Stop an application pool
  community.windows.win_iis_webapppool:
    name: AppPool
    state: stopped
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Restart an application pool (non-idempotent)
  community.windows.win_iis_webapppool:
    name: AppPool
    state: restarted
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Change application pool attributes using new dict style
  community.windows.win_iis_webapppool:
    name: AppPool
    attributes:
      managedRuntimeVersion: v4.0
      autoStart: no
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Creates an application pool with "No Managed Code" for .Net compatibility
  community.windows.win_iis_webapppool:
    name: AnotherAppPool
    state: started
    attributes:
      managedRuntimeVersion: ''
      autoStart: false
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- 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"

Inputs

    
name:
    description:
    - Name of the application pool.
    required: true
    type: str

state:
    choices:
    - absent
    - present
    - restarted
    - started
    - stopped
    default: present
    description:
    - The state of the application pool.
    - If C(absent) will ensure the app pool is removed.
    - If C(present) will ensure the app pool is configured and exists.
    - If C(restarted) will ensure the app pool exists and will restart, this is never
      idempotent.
    - If C(started) will ensure the app pool exists and is started.
    - If C(stopped) will ensure the app pool exists and is stopped.
    type: str

attributes:
    description:
    - This field is a free form dictionary value for the application pool attributes.
    - These attributes are based on the naming standard at U(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 C(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 U(http://structuredsight.com/2014/10/26/im-out-of-range-youre-out-of-range/)
      to help fix your host.

Outputs

attributes:
  description: Application Pool attributes that were set and processed by this module
    invocation.
  returned: success
  sample:
    enable32BitAppOnWin64: 'true'
    managedPipelineMode: Classic
    managedRuntimeVersion: v4.0
  type: dict
info:
  contains:
    attributes:
      description: Key value pairs showing the current Application Pool attributes.
      returned: success
      sample:
        CLRConfigFile: ''
        applicationPoolSid: S-1-5-82-1352790163-598702362-1775843902-1923651883-1762956711
        autoStart: true
        enable32BitAppOnWin64: true
        enableConfigurationOverride: true
        managedPipelineMode: Classic
        managedRuntimeLoader: webengine4.dll
        managedRuntimeVersion: v4.0
        name: DefaultAppPool
        passAnonymousToken: true
        queueLength: 1000
        startMode: OnDemand
        state: Started
      type: dict
    cpu:
      description: Key value pairs showing the current Application Pool cpu attributes.
      returned: success
      sample:
        action: NoAction
        limit: 0
        resetInterval:
          Days: 0
          Hours: 0
      type: dict
    failure:
      description: Key value pairs showing the current Application Pool failure attributes.
      returned: success
      sample:
        autoShutdownExe: ''
        orphanActionExe: ''
        rapidFailProtextionInterval:
          Days: 0
          Hours: 0
      type: dict
    name:
      description: Name of Application Pool that was processed by this module invocation.
      returned: success
      sample: DefaultAppPool
      type: str
    processModel:
      description: Key value pairs showing the current Application Pool processModel
        attributes.
      returned: success
      sample:
        identityType: ApplicationPoolIdentity
        logonType: LogonBatch
        pingInterval:
          Days: 0
          Hours: 0
      type: dict
    recycling:
      description: Key value pairs showing the current Application Pool recycling
        attributes.
      returned: success
      sample:
        disallowOverlappingRotation: false
        disallowRotationOnConfigChange: false
        logEventOnRecycle: Time,Requests,Schedule,Memory,IsapiUnhealthy,OnDemand,ConfigChange,PrivateMemory
      type: dict
    state:
      description: Current runtime state of the pool as the module completed.
      returned: success
      sample: Started
      type: str
  description: 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.
  returned: success
  sample: null
  type: complex

See also