Update Node activity

The Update Node activity updates a given Chef node with a run list.

A run list defines which recipes, roles, and attributes to apply to a Chef node, and the order to apply them. For more information, see the Chef node list documentation at http://docs.opscode.com/. The activity stores returned data in the nodeData sensor script variable as an array of JavaScript objects. The object contains the following fields, as well as all fields returned by the Chef Request activity:

Table 1. Array objects table
Object Definition
fqdn The given fully-qualified domain name for the node
Any other name-value pairs based on the value entered in the Node data activity input variable
Table 2. Results table
Result Definition
Success The Chef server returned a response. The activity returns a successful result even if one or more Chef requests failed. To determine the success of a specific request, use the success value from an object stored in the nodeData variable
Failure The Chef server was not available or rejected the supplied credentials
Table 3. Input variables table
Field Description
Run list An array of JavaScript objects that defines the configuration settings to push to Chef. Objects in this array contain the following fields:
  • type: the type of Chef resource. Valid types are recipe or role.
  • name: the name of the recipe or role.
Environment The Chef environment the specified node should belong to
Node data An array of JavaScript objects that defines additional configuration settings, including attributes, for the Chef node. Objects in this array contain the following fields:
  • fqdn: the fully-qualified domain name of the node to update.
  • attribute: an array of JavaScript objects that defines the attributes to apply. Objects in this array contain the following fields:
    • name: the name of an attribute.
    • value: the value to assign the specified attribute.
    • type: [Optional] the type of attribute. Supported values are normal, default, and override. The attribute type is normal by default.
    • namespace: [Optional] an array of strings that defines the attribute path. For example, to access an attribute called db_name with a path of mysql/db/db_name, enter a namespace value of ['mysql', 'db'].