cookbook 'managed_directory', '~> 0.3.2', :supermarket
managed_directory (6) Versions 0.3.2 Follow2
Provides the managed_directory resource
cookbook 'managed_directory', '~> 0.3.2'
knife supermarket install managed_directory
knife supermarket download managed_directory
Provides a custom resource to declare that a directory's contents are
entirely managed by Chef. When a node is converged, any files present
managed_directory that are not managed by Chef will be removed.
Known to work on CentOS and OS X. Should work on other Unix-like systems.
Ensure that a directory contains only files put there by Chef in this run. Any other files will be removed.
:clean- Remove any unmanaged files.
path- (name attribute) The absolute path to the directory to be managed.
clean_files- Boolean to determine whether unmanaged files should be removed. Default is
clean_links- Boolean to determine whether unmanaged links should be removed. Default is
clean_directories- Boolean to determine whether unmanaged subdirectories should be removed. Default is
Include the default recipe in a run list to make the resource available in your run.
The 'test' recipe illustrates use of the
The 'test_directories' recipe illustrates use of the
resource when having it clean up unwanted subdirectories.
The directory to be managed must already exist. If you also need to ensure that the directory exists, use the Directory resource separately.
If you require subdirectories to be managed as well, be sure to set the
A file is considered to be managed if there is a resource with a name attribute equal to the file's full path. It will do the wrong thing if this assumption is not true for the contents of your directory.
Files managed by resources created after this resource is converged (eg, from within a
ruby_blockor resource later in the run list) will be incorrectly identified as "unmanaged", and then deleted. They will be recreated later in the run, but this creates a window where the file is missing.
License and Author
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
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.
This cookbook has no specified dependencies.
This file is used to list changes made in each version of the managed_directory cookbook.
- Cookstyle updates
- Chef 16 compatible
- Fixed bug where a resource's 'identity' method returns a non-
String(ex. package resource can accept an
Array) causing an exception when using the 'start_with?' method.
- Added CentOS 7.3 to test kitchen
- converted from LWRP to custom resource
- fixed potential false positive where resource reported an update
- fixed issue where non-path named resources were skipped
- Chef 13 compatible
- Fix bug for subdirectories when clean_directories is false. This would cause
the subdirectory to be handed to the
fileresource in the provider, which would then cause chef-client to abort.
- Added cleaning of subdirectories
- Added separate handling of links, which were formerly handled by the file resource, as managing links via file resources is deprecated
- Added attributes to control handling of files, directories and links
trueto preserve existing behavior
falseto preserve existing behavior
- Updated tests to current ChefSpec and ServerSpec, following examples from
chef generate cookbookoutput
- Updated Test Kitchen to current CentOS (6.6)
- Updated README.md for new behaviors
- Added ChefSpec matchers for test-ability
- add chefspec tests
- FIX don't blow up when resource names are symbols
- Thanks to Mark Friedgan (hubrix) for this fix.
Check the Markdown Syntax Guide for help with Markdown.
The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.