Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

iisposh (4) Versions 2.2.9

Installs/Configures IIS Features

Policyfile
Berkshelf
Knife
cookbook 'iisposh', '~> 2.2.9', :supermarket
cookbook 'iisposh', '~> 2.2.9'
knife supermarket install iisposh
knife supermarket download iisposh
README
Dependencies
Changelog
Quality 33%

Description

Manage websites, application pools, web applications, and virtual directories in IIS 7.0,7.5,8.0

Requirements

Platforms

  • Windows Server 2008 (R1, R2)
  • Windows Server 2012 (R1, R2) (Testing In Progress)

Resource/Provider

iisposh_pool

Manage application pools in IIS

Actions

  • :create: - creates an application pool
  • :config: - configure an application pool
  • :delete: - delete an existing application pool
  • :start: - start an application pool
  • :stop: - stop an application pool
  • :restart: - restart an application pool

Attribute Parameters

  • name: name of application pool
  • properties: List of all properties to be set for application pool

Examples

# Create an application pool named TestPool with the following properties set
# recycling.periodicRestart.privatememory" = 4, processmodel.maxprocesses = 3, managedPipeLineMode = Integrated, managedRunTimeVersion = v4.0
# processModel.IdentityType = SpecificUser, Autostart = True, processmodel.username = mydomain\username, processmodel.password = mypassword, recycling.logEventOnRecycle = Time,Requests,IsapiUnhealthy,OnDemand,ConfigChange

iisposh_pool 'pool' do 
    name "TestPool"
    properties(
            "recycling.periodicRestart.privatememory" => 4,
            "processmodel.maxprocesses" => 3,
            "managedPipeLineMode" => "Integrated",
            "managedRunTimeVersion" => "v2.0",
            "processModel.IdentityType" => "SpecificUser",
            "autostart" => "True",
            "processmodel.username" => "mydomain\\username",
            "processmodel.password" => "mypassword",
            "recycling.logEventOnRecycle" => "Time,Requests,IsapiUnhealthy,OnDemand,ConfigChange"   
    )
    action :create
end

# Delete the TestPool Application Pool

iisposh_pool 'pool' do 
    name "TestPool"
    action :delete
end

iisposh_website

Allows easy management of IIS Websites

Actions

  • :create: - creates a new website
  • :config: - configure a website
  • :delete: - delete an existing website
  • :start: - start a website
  • :stop: - stop a website
  • :restart: - restart a website

Attribute Parameters

  • name: name of website
  • path: Physical path of website files
  • pool: Application pool of the website
  • properties: List of all properties to be set for website
  • bindings: Set website web bindings [["protocol", "port#","hostheader", "IPAddress"]]
  • powershell_code: String used to convert ruby hashtable to powershell hashtable
  • binding_string: String used to convert ruby array into format usable by powersehll

Examples

# create a new website at the location C:\inetpub\wwwroot\testsite with default binding of port 80

iisposh_website 'website' do 
    name "TestSite"
    action :create
end

# create a new website at the location C:\inetpub\wwwroot\testsite with the following properties set
# name = TestSite, applicationPool = TestPool, ServerAutoStart = True, logFile.logFormat = W3C, logfile.deirectory = c:\weblogs, logfile.logExtFileFalgs = Date,Time,ClientIP,ServerIP,Method,UriStem,UriQuery,HttpStatus,BytesSent,TimeTaken,UserAgent
# bindings = http,3030

iisposh_website 'website' do 
    name "TestSite"
    bindings [["http", "3030", "", ""]]
    properties(
            "applicationPool" => "TestPool",
            "physicalPath"  => "c:\\inetpub\\wwwroot\\testsite",
            "ServerAutoStart" => "True",
            "logfile.logformat" => "W3C",
            "logfile.directory" => "c:\\weblogs",
            "logfile.logExtFileFlags" => "Date,Time,ClientIP,ServerIP,Method,UriStem,UriQuery,HttpStatus,BytesSent,TimeTaken,UserAgent"
    )
    action :create
end

# Delete the TestSite website

    iisposh_website 'website' do 
        name "TestSite"
        action :delete
    end

# configure a website with the following properties
# name = TestSite, applicationPool = TestPool, ServerAutoStart = True, logFile.logFormat = W3C, logfile.deirectory = c:\weblogs, logfile.logExtFileFalgs = Date,Time,ClientIP,ServerIP,Method,UriStem,UriQuery,HttpStatus,BytesSent,TimeTaken,UserAgent
# bindings = http,3030  

iisposh_website 'website' do 
    name "TestSite"
    bindings [["http", "3030", "", ""]]
    properties(
            "applicationPool" => "TestPool",
            "physicalPath"  => "c:\\inetpub\\wwwroot\\testsite",
            "ServerAutoStart" => "True",
            "logfile.logformat" => "W3C",
            "logfile.directory" => "c:\\weblogs",
            "logfile.logExtFileFlags" => "Date,Time,ClientIP,ServerIP,Method,UriStem,UriQuery,HttpStatus,BytesSent,TimeTaken,UserAgent"
    )
    action :config
end 

# configure a website with the following properties
# name = TestSite, applicationPool = TestPool, ServerAutoStart = True, logFile.logFormat = W3C, logfile.deirectory = c:\weblogs, logfile.logExtFileFalgs = Date,Time,ClientIP,ServerIP,Method,UriStem,UriQuery,HttpStatus,BytesSent,TimeTaken,UserAgent

iisposh_website 'website' do 
    name "TestSite"
    properties(
            "applicationPool" => "TestPool",
            "physicalPath"  => "c:\\inetpub\\wwwroot\\testsite",
            "ServerAutoStart" => "True",
            "logfile.logformat" => "W3C",
            "logfile.directory" => "c:\\weblogs",
            "logfile.logExtFileFlags" => "Date,Time,ClientIP,ServerIP,Method,UriStem,UriQuery,HttpStatus,BytesSent,TimeTaken,UserAgent"
    )
    action :config
end 

# restart the TestSite website

iisposh_website 'website' do 
    name "TestSite"
    action :resetart
end

iisposh_webapp

Manage web applications in IIS

Actions

  • :create: - create a web application
  • :config: - configure a web application
  • :delete: - delete a web application

Attribute Parameters

  • name: Name of web application
  • path: Physical Path of web application files
  • site: Name of the website in which the web application belongs to
  • pool: Name of the Application Pool the web application runs under
  • properties: List of properties to be set for the application pool

Examples

# Create a web application named "TestApp" located at "c:\temp" under the "TestSite" running under the "TestPool" application pool

iisposh_webapp 'webapp' do 
    name "TestApp"
    pool "TestPool"
    site "TestSite"
    path "c:\\temp"
    properties(
        "username" => "",   # example:  domain\\username
        "password" => ""
    )
    action :create 
end

# Delete the "TestApp" web application under the "TestSite" website

iisposh_webapp 'webapp' do 
    name "TestApp"
    site "TestSite"
    action :delete 
end

iisposh_vdir

Manage Virtual Directories in IIS

Actions

  • :create: - create a virtual directory
  • :config: - configure a virtual directory
  • :delete: - delete a virtual directory

Attribute Parameters

  • name: Name of virtual directory
  • path: Physical Path of virtual directory files
  • site: Name of the website in which the virtual directory belongs to
  • properties: List of properties to be set for the virutal directory

Examples

# Create a virtual directory named "TestDir" under the "TestSite" website with a path of c:\Temp with the following properties set
# logonMetohod = ClearText, AllowSubDir Config = True

iisposh_vdir 'vdir' do 
    name "Testdir"
    site "TestSite"
    path "c:\\temp"
    properties(
        "logonMethod" => "ClearText",
        "allowSubDirConfig" => "True"

    )

    action :create
end

# Delete the "TestDir" Virtual Director in the "TestSite" website

iisposh_vdir 'vdir' do 
    name "Testdir"
    site "TestSite"
    action :delete
end

Helpers

  • See powershell folder
    • Wrote a powershell script to help discover settings of currently deployed components in IIS. Pools, WebApps, Sites etc
  • files\default\test.ps1
    • To aid in testing of powershell outside of chef and LWRPs, test.ps1 was created to help test the different function calls.

Author

Dependent cookbooks

windows_feature ~> 1.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

2.2.9

Added functionalicy to Get-NormalizedPath function in common.ps1 to work with Windows Server 2012

2.2.8

Fix the powershell/DiscoverSettings.ps1 not walking more than 2 levels when displaying output.
Added fuctionality to validate case sensitivity of properties.

2.0.0

Refactoring of iisposh now that we know the requirements.

0.1.0

Initial release of iisposh

Collaborator Number Metric
            

2.2.9 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

2.2.9 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

2.2.9 failed this metric

FC064: Ensure issues_url is set in metadata: iisposh/metadata.rb:1
FC066: Ensure chef_version is set in metadata: iisposh/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: iisposh/metadata.rb:1
FC069: Ensure standardized license defined in metadata: iisposh/metadata.rb:1
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/pool.rb:24
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/pool.rb:50
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/pool.rb:65
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/pool.rb:90
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/pool.rb:113
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/pool.rb:131
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/vdir.rb:27
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/vdir.rb:54
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/vdir.rb:70
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/webapp.rb:26
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/webapp.rb:50
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/webapp.rb:65
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/webconfiguration.rb:28
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/website.rb:32
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/website.rb:58
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/website.rb:74
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/website.rb:98
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/website.rb:121
FC085: Resource using new_resource.updated_by_last_action to converge resource: iisposh/providers/website.rb:139
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

2.2.9 passed this metric

Testing File Metric
            

2.2.9 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

2.2.9 passed this metric