knife raw

[edit on GitHub]

Use the knife raw subcommand to send a REST request to an endpoint in the Chef server API.

Syntax

This subcommand has the following syntax:

$ knife raw REQUEST_PATH (options)

Options

Note

Review the list of common options available to this (and all) knife subcommands and plugins.

This subcommand has the following options:

-i FILE, --input FILE
The name of a file to be used with the PUT or a POST request.
--[no-]pretty
Use --no-pretty to disable pretty-print output for JSON. Default: --pretty.
-m METHOD, --method METHOD
The request method: DELETE, GET, POST, or PUT. Default value: GET.
--proxy-auth

Enable proxy authentication to the Chef server web user interface. Default value: false.

New in Chef Client 12.1

Note

See knife.rb for more information about how to add certain knife options as settings in the knife.rb file.

Examples

The following examples show how to use this knife subcommand:

View a client

To view information about a client:

knife raw /clients/<client_name>

View a node

To view information about a node:

knife raw /nodes/<node_name>

Delete a data bag

To delete a data bag, enter a command similar to:

$ knife raw -m DELETE /data/foo

to return something similar to:

{
  "name":"foo",
  "json_class":"Chef::DataBag",
  "chef_type":"data_bag"
}

Delete a role

To delete a role, enter a command similar to:

$ knife raw -m DELETE /roles/role-foo.json

to return something similar to:

{
  "name":"role-foo",
  "json_class":"Chef::Role",
  "chef_type":"role"
}