| KNIFE-ROLE(1) | knife role | KNIFE-ROLE(1) |
knife-role - The man page for the knife role subcommand.
A role is a way to define certain patterns and processes that exist across nodes in an organization as belonging to a single job function. Each role consists of zero (or more) attributes and a run-list. Each node can have zero (or more) roles assigned to it. When a role is run against a node, the configuration details of that node are compared against the attributes of the role, and then the contents of that role's run-list are applied to the node's configuration details. When a chef-client runs, it merges its own attributes and run-lists with those contained within each assigned role.
The knife role subcommand is used to manage the roles that are associated with one or more nodes on a Chef server.
The following options may be used with any of the arguments available to the knife role subcommand:
The bulk delete argument is used to delete one or more roles that match a pattern defined by a regular expression. The regular expression must be within quotes and not be surrounded by forward slashes (/).
Syntax
This argument has the following syntax:
$ knife role bulk delete REGEX
Options
This command does not have any specific options.
Examples
Use a regular expression to define the pattern used to bulk delete roles:
$ knife role bulk delete "^[0-9]{3}$"
The create argument is used to add a role to the Chef server. Role data is saved as JSON on the Chef server.
Syntax
This argument has the following syntax:
$ knife role create ROLE_NAME (options)
Options
This argument has the following options:
Examples
To add a role named role1, enter:
$ knife role create role1
In the $EDITOR enter the role data in JSON:
## sample:
{
"name": "role1",
"default_attributes": {
},
"json_class": "Chef::Role",
"run_list": ['recipe[cookbook_name::recipe_name],
role[role_name]'
],
"description": "",
"chef_type": "role",
"override_attributes": {
}
}
When finished, save it.
The delete argument is used to delete a role from the Chef server.
Syntax
This argument has the following syntax:
$ knife role delete ROLE_NAME
Options
This command does not have any specific options.
Examples
$ knife role delete devops
Type Y to confirm a deletion.
The edit argument is used to edit role details on the Chef server.
Syntax
This argument has the following syntax:
$ knife role edit ROLE_NAME
Options
This command does not have any specific options.
Examples
To edit the data for a role named role1, enter:
$ knife role edit role1
Update the role data in JSON:
## sample:
{
"name": "role1",
"default_attributes": {
},
"json_class": "Chef::Role",
"run_list": ['recipe[cookbook_name::recipe_name],
role[role_name]'
],
"description": "This is the description for the role1 role.",
"chef_type": "role",
"override_attributes": {
}
}
When finished, save it.
The from file argument is used to create a role using existing JSON data as a template.
Syntax
This argument has the following syntax:
$ knife role from file FILE
Options
This command does not have any specific options.
Examples
To view role details based on the values contained in a JSON file:
$ knife role from file "path to JSON file"
The list argument is used to view a list of roles that are currently available on the Chef server.
Syntax
This argument has the following syntax:
$ knife role list
Options
This argument has the following options:
Examples
To view a list of roles on the Chef server and display the URI for each role returned, enter:
$ knife role list -w
The show argument is used to view the details of a role.
Syntax
This argument has the following syntax:
$ knife role show ROLE_NAME
Options
This argument has the following options:
Examples
To view information in JSON format, use the -F common option as part of the command like this:
$ knife role show devops -F json
Other formats available include text, yaml, and pp.
To view information in JSON format, use the -F common option as part of the command like this:
$ knife role show devops -F json
Other formats available include text, yaml, and pp.
Chef
| Chef 12.0 |