{"id":15022676,"url":"https://github.com/puppetlabs/puppetlabs-iis","last_synced_at":"2025-04-06T14:11:52.403Z","repository":{"id":3722057,"uuid":"63275859","full_name":"puppetlabs/puppetlabs-iis","owner":"puppetlabs","description":"Manage IIS for Windows Server 2008 and above. Maintain application sites, pools, virtual applications, and many other IIS settings.","archived":false,"fork":false,"pushed_at":"2025-03-19T07:41:07.000Z","size":1038,"stargazers_count":14,"open_issues_count":5,"forks_count":64,"subscribers_count":122,"default_branch":"main","last_synced_at":"2025-03-26T13:18:25.027Z","etag":null,"topics":["hacktoberfest","module","supported"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/puppetlabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-13T20:05:55.000Z","updated_at":"2025-03-19T07:41:10.000Z","dependencies_parsed_at":"2023-02-10T15:30:34.674Z","dependency_job_id":"e90b4939-b03a-4a4c-a779-057ff9fa24fb","html_url":"https://github.com/puppetlabs/puppetlabs-iis","commit_stats":{"total_commits":450,"total_committers":59,"mean_commits":7.627118644067797,"dds":0.8555555555555556,"last_synced_commit":"a397c46014017e0c2289187e90b8aa5de182913a"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-iis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-iis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-iis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-iis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/puppetlabs","download_url":"https://codeload.github.com/puppetlabs/puppetlabs-iis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245850357,"owners_count":20682647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","module","supported"],"created_at":"2024-09-24T19:58:15.702Z","updated_at":"2025-04-06T14:11:52.365Z","avatar_url":"https://github.com/puppetlabs.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iis\n\n#### Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description](#module-description)\n3. [Setup](#setup)\n   * [Beginning with puppetlabs-iis](#beginning-with-puppetlabs-iis)\n4. [Usage](#usage)\n5. [Reference](#reference)\n6. [Limitations](#limitations)\n7. [License](#license)\n8. [Development](#development)\n\n## Description\n\nThis module adds a provider to manage IIS sites and application pools.\n\n## Setup\n\n### Beginning with puppetlabs-iis\n\nThis module can both manage and install IIS on your server. For example, a minimal IIS install can be accomplished by ensuring the `Web-WebServer` and `Web-Scripting-Tools` Windows Features are present.\n\nHere is an example that installs IIS and creates a web site using the default application pool.\n\n```puppet\n$iis_features = ['Web-WebServer','Web-Scripting-Tools']\n\niis_feature { $iis_features:\n  ensure =\u003e 'present',\n}\n\n# Delete the default website to prevent a port binding conflict.\niis_site {'Default Web Site':\n  ensure  =\u003e absent,\n  require =\u003e Iis_feature['Web-WebServer'],\n}\n\niis_site { 'minimal':\n  ensure          =\u003e 'started',\n  physicalpath    =\u003e 'c:\\\\inetpub\\\\minimal',\n  applicationpool =\u003e 'DefaultAppPool',\n  require         =\u003e [\n    File['minimal'],\n    Iis_site['Default Web Site']\n  ],\n}\n\nfile { 'minimal':\n  ensure =\u003e 'directory',\n  path   =\u003e 'c:\\\\inetpub\\\\minimal',\n}\n```\n\n## Usage\n\nThis minimal example will create a web site named 'complete' using an application pool named 'minimal_site_app_pool'.\n\n```puppet\niis_application_pool { 'minimal_site_app_pool':\n  ensure                  =\u003e 'present',\n  state                   =\u003e 'started',\n  managed_pipeline_mode   =\u003e 'Integrated',\n  managed_runtime_version =\u003e 'v4.0',\n} -\u003e\n\niis_site { 'minimal':\n  ensure          =\u003e 'started',\n  physicalpath    =\u003e 'c:\\\\inetpub\\\\minimal',\n  applicationpool =\u003e 'minimal_site_app_pool',\n  require         =\u003e File['minimal'],\n}\n\nfile { 'minimal':\n  ensure =\u003e 'directory',\n  path   =\u003e 'c:\\\\inetpub\\\\minimal',\n}\n```\n\nThis complete example will create a web site named 'complete' using an application pool named 'complete_site_app_pool', with a virtual directory named 'vdir'. This example uses the `puppetlabs-acl module` to set permissions on directories.\n\n```puppet\n# Create Directories\n\nfile { 'c:\\\\inetpub\\\\complete':\n  ensure =\u003e 'directory'\n}\n\nfile { 'c:\\\\inetpub\\\\complete_vdir':\n  ensure =\u003e 'directory'\n}\n\n# Set Permissions\n\nacl { 'c:\\\\inetpub\\\\complete':\n  permissions =\u003e [\n    {'identity' =\u003e 'IISCompleteGroup', 'rights' =\u003e ['read', 'execute']},\n  ],\n}\n\nacl { 'c:\\\\inetpub\\\\complete_vdir':\n  permissions =\u003e [\n    {'identity' =\u003e 'IISCompleteGroup', 'rights' =\u003e ['read', 'execute']},\n  ],\n}\n\n# Configure IIS\n\niis_application_pool { 'complete_site_app_pool':\n  ensure                  =\u003e 'present',\n  state                   =\u003e 'started',\n  managed_pipeline_mode   =\u003e 'Integrated',\n  managed_runtime_version =\u003e 'v4.0',\n}\n\n# Application Pool No Managed Code .Net CLR Version set up\niis_application_pool {'test_app_pool':\n    ensure                    =\u003e 'present',\n    enable32_bit_app_on_win64 =\u003e true,\n    managed_runtime_version   =\u003e '',\n    managed_pipeline_mode     =\u003e 'Classic',\n    start_mode                =\u003e 'AlwaysRunning'\n  }\n\niis_site { 'complete':\n  ensure           =\u003e 'started',\n  physicalpath     =\u003e 'c:\\\\inetpub\\\\complete',\n  applicationpool  =\u003e 'complete_site_app_pool',\n  enabledprotocols =\u003e 'https',\n  bindings         =\u003e [\n    {\n      'bindinginformation'   =\u003e '*:443:',\n      'protocol'             =\u003e 'https',\n      'certificatehash'      =\u003e '3598FAE5ADDB8BA32A061C5579829B359409856F',\n      'certificatestorename' =\u003e 'MY',\n      'sslflags'             =\u003e 1,\n    },\n  ],\n  require =\u003e File['c:\\\\inetpub\\\\complete'],\n}\n\niis_virtual_directory { 'vdir':\n  ensure       =\u003e 'present',\n  sitename     =\u003e 'complete',\n  physicalpath =\u003e 'c:\\\\inetpub\\\\complete_vdir',\n  require      =\u003e File['c:\\\\inetpub\\\\complete_vdir'],\n}\n```\n### Note about physicalpaths\nThis module does **not support** physicalpaths that end with a forwardslash (`/`). As such, the module:\n  - Will remove any forwardslashes at the end of a physicalpath found in the manifest.\n  - Will remove any forwardslashes at the end of a physicalpath found in any existing resource.\n\n\n## Reference\n\nFor information on the classes and types, see the [REFERENCE.md](https://github.com/puppetlabs/puppetlabs-iis/blob/main/REFERENCE.md).\n\n## Limitations\n\n### Compatibility\n\n#### OS Compatibility\n\nThis module is compatible only with `Windows Server 2008R2`, `Windows Server 2012`, `Windows Server 2012R2`, `Windows Server 2016`,`Windows Server 2016 Core`, `Windows Server 2019` and `Windows Server 2022`.\n\n#### IIS Compatibility\n\nThis module only supports `IIS 7.5`, `IIS 8`, `IIS 8.5` or `IIS 10.0`.\n\n#### PowerShell Compatibility\n\nThis module requires PowerShell v2 or greater. Works best with PowerShell v3 or above.\n\n### Known Issues\n\nN/A\n\n## Development\n\nIf you would like to contribute to this module, please follow the rules in the [CONTRIBUTING.md](https://github.com/puppetlabs/puppetlabs-iis/blob/main/CONTRIBUTING.md). For more information, see our [module contribution guide.](https://puppet.com/docs/puppet/latest/contributing.html)\n\n## License\n\nThis codebase is licensed under the Apache2.0 licensing, however due to the nature of the codebase the open source dependencies may also use a combination of [AGPL](https://opensource.org/license/agpl-v3/), [BSD-2](https://opensource.org/license/bsd-2-clause/), [BSD-3](https://opensource.org/license/bsd-3-clause/), [GPL2.0](https://opensource.org/license/gpl-2-0/), [LGPL](https://opensource.org/license/lgpl-3-0/), [MIT](https://opensource.org/license/mit/) and [MPL](https://opensource.org/license/mpl-2-0/) Licensing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppetlabs-iis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuppetlabs%2Fpuppetlabs-iis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppetlabs-iis/lists"}