chef

https://github.com/opscode/chef

Ruby

A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

Chef::Mixin::Properties::ClassMethods#state_properties

Get or set the list of desired state properties for this resource.

State properties are properties that describe the desired state
of the system, such as file permissions or ownership.
In general, state properties are properties that could be populated by
examining the state of the system (e.g., File.stat can tell you the
permissions on an existing file). Contrarily, properties that are not
"state properties" usually modify the way Chef itself behaves, for example
by providing additional options for a package manager to use when
installing a package.

This list is used by the Chef client auditing system to extract
information from resources to describe changes made to the system.

This method is unnecessary when declaring properties with `property`;
properties are added to state_properties by default, and can be turned off
with `desired_state: false`.

```ruby
property :x # part of desired state
property :y, desired_state: false # not part of desired state
```

Source | Google | Stack overflow

Edit

git clone [email protected]:opscode/chef.git

cd chef

open lib/chef/mixin/properties.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Chef--Mixin--Properties--ClassMethods-state_properties-for-pr


# Commit to git

git add lib/chef/mixin/properties.rbgit commit -m "better docs for Chef::Mixin::Properties::ClassMethods#state_properties"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Chef--Mixin--Properties--ClassMethods-state_properties-for-pr

hub pull-request


# Celebrate!