1. knife-node(1)
2. Chef Manual
3. knife-node(1)

## NAME

`knife-node` - Manage the hosts in your infrastructure

## SYNOPSIS

knife node sub-command (options)

## DESCRIPTION

Nodes are data structures that represent hosts configured with Chef. Nodes have a name, a String that uniquely identifies the node, attributes, a nested Hash of properties that describe how the host should be configured, a chef_environment, a String representing the environment to which the node belongs, and a run_list, an ordered list of recipes or roles that chef-client should apply when configuring a host.

When a host communicates with a Chef Server, it authenticates using its node_name for identification and signs its reqests with a private key. The Server validates the request by looking up a client object with a name identical to the node_name submitted with the request and verifes the signature using the public key for that client object. NOTE that the client is a different object in the system. It is associated with a node by virtue of having a matching name.

By default chef-client(8) will create a node using the FQDN of the host for the node name, though this may be overridden by configuration settings.

## NODE SUB-COMMANDS

The following `node` subcommands are available:

## BULK DELETE

knife node bulk delete regex (options)

Deletes nodes for which the name matches the regular expression regex on the Chef Server. The regular expression should be given in quotes, and should not be surrounded with forward slashes (as is typical of regular expression literals in scripting languages).

## CREATE

knife node create name (options)

Create a new node. Unless the --no-editor option is given, an empty node object will be created and displayed in your text editor. If the editor exits with a successful exit status, the node data will be posted to the Chef Server to create the node.

## DELETE

knife node delete name (options)

Deletes the node identified by name on the Chef Server.

## EDIT

knife node edit name (options)

`-a`, `--all`
  Display all node data in the editor. By default, default, override, and automatic attributes are not shown.

Edit the node identified by name. Like knife node create, the node will be displayed in your text editor unless the -n option is present.

## FROM FILE

knife node from file file (options)

Create a node from a JSON format file.

## LIST

knife node list (options)

`-w`, `--with-uri`
  Show corresponding URIs

List all nodes.

## RUN_LIST ADD

knife node run_list add name run list item (options)

`-a`, `--after ITEM`
  Place the ENTRY in the run list after ITEM

Add the run list item to the node's `run_list`. See Run list

## RUN_LIST REMOVE

knife node run_list remove node name run list item (options)

Remove the run list item from the node's `run_list`.

## SHOW

knife node show node name (options)

`-a`, `--attribute [ATTR]`
  Show only one attribute
`-r`, `--run-list`
  Show only the run list
`-F`, `--format FORMAT`
  Display the node in a different format.
`-m`, `--medium`
  Display more, but not all, of the node's data when using the default summary format

Displays the node identified by node name on stdout. The amount of content displayed and the output format are modified by the --format option. Valid formats are:

- summary: displays the node in a custom, summarized format
- text displays the node data in its entirety using the colorized tree display
- json: displays the node in JSON format
- yaml: displays the node in YAML format
- pp displays the node using Ruby's pretty printer.

For brevity, only the first character of the format is required, for example, -Fj will produce JSON format output.

## RUN LIST ITEM FORMAT

Run list items may be either roles or recipes. When adding a role to a run list, the correct syntax is "role[ROLE_NAME]"

When adding a recipe to a run list, there are several valid formats:

Fully Qualified Format
  "recipe[COOKBOOK::RECIPE_NAME]", for example, "recipe[chef::client]"
Cookbook Recipe Format
  For brevity, the recipe part of the fully qualified format may be omitted, and recipes specified as "COOKBOOK::RECIPE_NAME", e.g., "chef::client"
Default Recipe Format
  When adding the default recipe of a cookbook to a run list, the recipe name may be omitted as well, e.g., "chef::default" may be written as just "chef"

## SEE ALSO

knife-client(1) knife-search(1) knife-role(1)

## AUTHOR

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

## DOCUMENTATION

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

## CHEF

Knife is distributed with Chef. http://wiki.opscode.com/display/chef/Home

1. Chef 0.10.0
2. April 2011
3. knife-node(1)