win_feature 2.66 KB
Newer Older
1 2 3
#!/usr/bin/python
# -*- coding: utf-8 -*-

4
# (c) 2014, Paul Durivage <paul.durivage@rackspace.com>, Trond Hindenes <trond@hindenes.com> and others
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible.  If not, see <http://www.gnu.org/licenses/>.

# this is a windows documentation stub.  actual code lives in the .ps1
# file of the same name

24 25
DOCUMENTATION = '''
---
26
module: win_feature
27
version_added: "1.7"
28
short_description: Installs and uninstalls Windows Features
29
description:
30
     - Installs or uninstalls Windows Roles or Features
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
options:
  name:
    description:
      - Names of roles or features to install as a single feature or a comma-separated list of features
    required: true
    default: null
    aliases: []
  state:
    description:
      - State of the features or roles on the system
    required: false
    choices: 
      - present
      - absent
    default: present
    aliases: []
  restart:
    description:
      - Restarts the computer automatically when installation is complete, if restarting is required by the roles or features installed.
    choices:
      - yes
      - no
    default: null
    aliases: []
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
  include_sub_features:
    description:
      - Adds all subfeatures of the specified feature
    choices:
      - yes
      - no
    default: null
    aliases: []
  include_management_tools:
    description:
      - Adds the corresponding management tools to the specified feature
    choices:
      - yes
      - no
    default: null
    aliases: []
author: Paul Durivage / Trond Hindenes
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
'''

EXAMPLES = '''
# This installs IIS.
# The names of features available for install can be run by running the following Powershell Command:
# PS C:\Users\Administrator> Import-Module ServerManager; Get-WindowsFeature
$ ansible -i hosts -m win_feature -a "name=Web-Server" all
$ ansible -i hosts -m win_feature -a "name=Web-Server,Web-Common-Http" all


# Playbook example
---
- name: Install IIS
  hosts: all
  gather_facts: false
  tasks:
    - name: Install IIS
      win_feature:
        name: "Web-Server"
        state: absent
        restart: yes
93 94 95 96
        include_sub_features: yes
        include_management_tools: yes


97
'''