Skip to content
This repository has been archived by the owner on Nov 23, 2017. It is now read-only.

Commit

Permalink
COOK-1028 Adding support to IIS cookbook to run config commands.
Browse files Browse the repository at this point in the history
  • Loading branch information
Kendrick Martin authored and jtimberman committed Mar 6, 2012
1 parent f96d787 commit f8e9090
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 1 deletion.
29 changes: 28 additions & 1 deletion iis/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,34 @@ Allows easy management of IIS virtual sites (ie vhosts).
action [:add,:start]
end

iis\_pool
`iis_config`

Runs a config command on your IIS instance.

###Actions

- :config: - Runs the configuration command

###Attribute Parameters

- cfg_cmd: name attribute. What ever command you would pass in after "appcmd.exe set config"

###Example

#Sets up logging
iis_config "/section:system.applicationHost/sites /siteDefaults.logfile.directory:"D:\\logs"" do
action :config
end

#Loads an array of commands from the node
cfg_cmds = node['iis']['cfg_cmd']
cfg_cmds.each do |cmd|
iis_config "#{cmd}" do
action :config
end
end

'iis_pool'
---------
Creates an application pool in IIS.

Expand Down
37 changes: 37 additions & 0 deletions iis/providers/config.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#
# Author:: Kendrick Martin (kendrick.martin@webtrends.com)
# Cookbook Name:: iis
# Resource:: config
#
# Copyright:: 2011, Webtrends
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

require 'chef/mixin/shell_out'

include Chef::Mixin::ShellOut
include Windows::Helper

action :config do
Chef::Log.debug("#{appcmd} set config #{@new_resource.cfg_cmd}")
shell_out!("#{appcmd} set config #{@new_resource.cfg_cmd}")
Chef::Log.info("IIS Config command run")
end

private
def appcmd
@appcmd ||= begin
"#{node['iis']['home']}\\appcmd.exe"
end
end
23 changes: 23 additions & 0 deletions iis/resources/config.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#
# Author:: Kendrick Martin (kendrick.martin@webtrends.com)
# Cookbook Name:: iis
# Resource:: config
#
# Copyright:: 2011, Webtrends
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

actions :config

attribute :cfg_cmd, :kind_of => String, :name_attribute => true

0 comments on commit f8e9090

Please sign in to comment.