Forge Home

iis

Module to manage IIS

9,632 downloads

6,000 latest version

4.9 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Support the Puppet Community by contributing to this module

You are welcome to contribute to this module by suggesting new features, currency updates, or fixes. Every contribution is valuable to help ensure that the module remains compatible with the latest Puppet versions and continues to meet community needs. Complete the following steps:

  1. Review the module’s contribution guidelines and any licenses. Ensure that your planned contribution aligns with the author’s standards and any legal requirements.
  2. Fork the repository on GitHub, make changes on a branch of your fork, and submit a pull request. The pull request must clearly document your proposed change.

For questions about updating the module, contact the module’s author.

Version information

  • 0.2.0 (latest)
  • 0.1.9
  • 0.1.8
  • 0.1.7
  • 0.1.6
  • 0.1.5
released Apr 16th 2018
This version is compatible with:
  • Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.5.0 < 6.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'beergeek-iis', '0.2.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add beergeek-iis
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install beergeek-iis --version 0.2.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: windows, iis

Documentation

beergeek/iis — version 0.2.0 Apr 16th 2018

Beergeek-iis

Table of Contents

  1. Module Description
  2. Requirements
  3. Usage
  4. Reference
  5. Limitations

Module Description

This module enables the IIS feature and managed websites with application pool and web applications.

The iis class will also enable ASP, ASP.Net4.5, IIS Management Console and IIS Scripting Tools.

Requirements

This module uses the puppetlabs-dsc module and therefore requires Windows Management Framework 5.

Usage

This module works with IIS7 and greater.

To add the role of IIS Webserver to the node you can simply call the iis class:

include iis

To create a website with an application pool (having the same name as the site) the following can be done:

iis::website { 'mysite.com.au': }

To create a website, with application pool and a web application the following can be done:

iis::website { 'mysite.com.au':
  pool_name       => 'mypool',
  app_name        => 'myapp',
  website_source  => 'puppet:\\\iis_files\myapp',
}

This will create a website called mysite.com.au, an application pool called mypool, and a web application called myapp. The website directory will contain the files and directories within the puppet:\\\iis_files\myapp fileserver mount point.

Reference

Public Classes

  • iis: The class enables the role of IIS, ASP, ASP.Net4.5, IIS Management Console and IIS Scripting Tools.

Defined types

  • iis::website: The defined type manages websites, website directory, app pools, and web applications.

Classes

iis

The class enables the role of IIS, ASP, ASP.Net4.5, IIS Management Console and IIS Scripting Tools.

Defined types

iis::website

The defined type manages websites, website directory, app pools, and web applications.

Parameters

The following parameters are available in the iis::website defined type.

app_ensure

Data type: Enum['Present','present','Absent','absent']

Determine if web application is created or removed, if app_name is used.

Default value: 'Present'

app_path

Data type: Optional[String]

Path for web application.

Default value: "C:\inetpub\${app_name}"

binding_hash

Data type: Array[Hash]

Array of hashes for binding information for website.

Default value: [{ protocol => 'HTTP', port => 80, hostname => $title }]

directory_owner

Data type: String

SID or name of website directory owner.

Default value: 'S-1-5-17'

ensure

Data type: Enum['Present','present','Absent','absent']

Determine if website is created or removed.

Default value: 'Present'

pool_name

Data type: String

The of application pool.

Default value: $title

restart_mem_max

Data type: Integer

The limit for restart memory for Application Pool.

Default value: 1000

restart_priv_mem_max

Data type: Integer

The limit for the restart private memory for the Application Pool.

Default value: 1000

state

Data type: Enum['Stopped','stopped','Started','started']

Determine if website is started or stopped.

Default value: 'Started'

website_name

Data type: String

The name of the website.

Default value: $title

website_source

Data type: Optional[String]

Source for website to be used in file resource. Will recurse if provided.

Default value: undef

app_name

Data type: Optional[String]

Name of web application.

Default value: undef

website_directory_acl

Data type: Optional[Hash]

A hash of the ACL for the website directory. Remember Puppet cannot explicitly manage inherited permissions.

Default value: undef

website_path

Data type: String

Path for website.

Default value: "C:\inetpub\${website_name}"

Limitations

Tested on Windows 2012r2