razor-client 0.15.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +7 -0
  2. data/NEWS.md +22 -0
  3. data/bin/razor +24 -0
  4. data/lib/razor/cli/command.rb +139 -0
  5. data/lib/razor/cli/document.rb +8 -4
  6. data/lib/razor/cli/format.rb +46 -22
  7. data/lib/razor/cli/navigate.rb +27 -149
  8. data/lib/razor/cli/parse.rb +21 -5
  9. data/lib/razor/cli/query.rb +68 -0
  10. data/lib/razor/cli/table_format.rb +41 -0
  11. data/lib/razor/cli/transforms.rb +18 -0
  12. data/lib/razor/cli/version.rb +1 -1
  13. data/lib/razor/cli/views.yaml +38 -0
  14. data/lib/razor/cli.rb +5 -2
  15. data/spec/cli/format_spec.rb +95 -5
  16. data/spec/cli/navigate_spec.rb +49 -5
  17. data/spec/cli/parse_spec.rb +21 -0
  18. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_in_string.yml +322 -0
  19. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_API_command_help_for_razor_--api_command_--help_.yml +110 -0
  20. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_API_command_help_for_razor_--api_command_help_.yml +110 -0
  21. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_API_command_help_for_razor_--api_help_command_.yml +110 -0
  22. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_API_command_help_for_razor_--help_--api_command_.yml +110 -0
  23. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_API_command_help_for_razor_-a_-h_command_.yml +110 -0
  24. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_API_command_help_for_razor_-a_command_-h_.yml +110 -0
  25. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_construct_a_json_object.yml +181 -49
  26. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_construct_a_json_object_with_unicode.yml +121 -46
  27. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_fail_with_mixed_types_array_then_hash_.yml +68 -65
  28. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_fail_with_mixed_types_hash_then_array_.yml +177 -45
  29. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_limit.yml +69 -0
  30. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_start.yml +69 -0
  31. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_not_fail_when_query_returns_details_for_one_item.yml +421 -0
  32. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_store_query_without_query_parameters.yml +773 -0
  33. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_throw_an_error_if_the_query_parameter_is_not_in_the_API.yml +36 -0
  34. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_throw_an_error_if_the_query_parameter_is_not_in_the_API_from_a_single_item.yml +388 -0
  35. metadata +94 -82
@@ -25,14 +25,14 @@ http_interactions:
25
25
  Content-Type:
26
26
  - application/json;charset=utf-8
27
27
  Content-Length:
28
- - '4982'
28
+ - '4981'
29
29
  Date:
30
- - Fri, 16 May 2014 22:18:33 GMT
30
+ - Thu, 14 Aug 2014 20:50:00 GMT
31
31
  body:
32
32
  encoding: US-ASCII
33
- string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:8080/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8080/api/commands/create-broker"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8080/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8080/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8080/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8080/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8080/api/commands/delete-broker"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8080/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8080/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8080/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8080/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8080/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8080/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8080/api/commands/modify-node-metadata"},{"name":"modify-policy-max-count","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-policy-max-count","id":"http://localhost:8080/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8080/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8080/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8080/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8080/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8080/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8080/api/commands/remove-policy-tag"},{"name":"set-node-desired-power-state","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-desired-power-state","id":"http://localhost:8080/api/commands/set-node-desired-power-state"},{"name":"set-node-hw-info","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-hw-info","id":"http://localhost:8080/api/commands/set-node-hw-info"},{"name":"set-node-ipmi-credentials","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-ipmi-credentials","id":"http://localhost:8080/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8080/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8080/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8080/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8080/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8080/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8080/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8080/api/collections/nodes"},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8080/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8080/api/collections/commands"}],"version":{"server":"v0.14.1-113-g8b33d83-dirty"}}'
33
+ string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:8080/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8080/api/commands/create-broker"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8080/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8080/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8080/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8080/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8080/api/commands/delete-broker"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8080/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8080/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8080/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8080/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8080/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8080/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8080/api/commands/modify-node-metadata"},{"name":"modify-policy-max-count","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-policy-max-count","id":"http://localhost:8080/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8080/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8080/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8080/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8080/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8080/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8080/api/commands/remove-policy-tag"},{"name":"set-node-desired-power-state","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-desired-power-state","id":"http://localhost:8080/api/commands/set-node-desired-power-state"},{"name":"set-node-hw-info","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-hw-info","id":"http://localhost:8080/api/commands/set-node-hw-info"},{"name":"set-node-ipmi-credentials","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-ipmi-credentials","id":"http://localhost:8080/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8080/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8080/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8080/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8080/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8080/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8080/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8080/api/collections/nodes"},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8080/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8080/api/collections/commands"}],"version":{"server":"v0.15.0-26-gfffaba4-dirty"}}'
34
34
  http_version:
35
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
35
+ recorded_at: Thu, 14 Aug 2014 20:50:00 GMT
36
36
  - request:
37
37
  method: get
38
38
  uri: http://localhost:8080/api/commands/create-broker
@@ -54,23 +54,23 @@ http_interactions:
54
54
  Server:
55
55
  - Apache-Coyote/1.1
56
56
  Etag:
57
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
57
+ - '"server-version-v0.15.0-26-gfffaba4-dirty"'
58
58
  X-Content-Type-Options:
59
59
  - nosniff
60
60
  Content-Type:
61
61
  - application/json;charset=utf-8
62
62
  Content-Length:
63
- - '2496'
63
+ - '2568'
64
64
  Date:
65
- - Fri, 16 May 2014 22:18:33 GMT
65
+ - Thu, 14 Aug 2014 20:50:00 GMT
66
66
  body:
67
67
  encoding: US-ASCII
68
68
  string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
69
69
  configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
70
70
  broker configuration. Brokers are responsible for handing a node\noff to
71
71
  a config management system, such as Puppet or Chef. In cases where you\nhave
72
- no configuration management system, you can use the `noop` broker.\n\n\n#
73
- Access Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
72
+ no configuration management system, you can use the `noop` broker.\n\n# Access
73
+ Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
74
74
  surrounded by `%{...}` are substitutions from the input data: typically\nthe
75
75
  name of the object being modified, or some other critical detail, these\nallow
76
76
  roles to be granted partial access to modify the system.\n\nFor more detail
@@ -80,23 +80,24 @@ http_interactions:
80
80
  apply if security is enabled in the Razor configuration\nfile; on this server
81
81
  security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
82
82
  Attributes\n\n * name\n - The name of the broker, as it will be referenced
83
- within Razor.\n This is the name that you supply to, eg, `create-policy`
84
- to specify\n which broker the node will be handed off via after installation.\n -
85
- This attribute is required\n - It must be of type string.\n - It must
86
- be between 1 and 250 in length.\n\n * broker-type\n - The broker type that
87
- this broker is created from. The available\n broker types on your server
88
- are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
89
- attribute is required\n - It must be of type string.\n - It must match
83
+ within Razor.\n This is the name that you supply to, eg, `create-policy`
84
+ to specify\n which broker the node will be handed off via after installation.\n -
85
+ This attribute is required.\n - It must be of type string.\n - It must
86
+ be between 1 and 250 in length.\n\n * broker-type\n - The broker type from
87
+ which this broker is created. The available\n broker types on your server
88
+ are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
89
+ attribute is required.\n - It must be of type string.\n - It must match
90
90
  the name of an existing broker type.\n\n * configuration\n - The configuration
91
- for the broker. The acceptable values here are\n determined by the `broker-type`
92
- selected. In general this has\n settings like which server to contact,
93
- and other configuration\n related to handing on the newly installed system
94
- to the final\n configuration management system.\n - It must be of type
95
- object.\n \n \n\n\n\n# EXAMPLES\n Creating a simple Puppet broker:\n \n {\n \"name\":
96
- \"puppet\",\n \"configuration\": {\n \"server\": \"puppet.example.org\",\n \"environment\":
97
- \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
91
+ for the broker. The acceptable values here are\n determined by the `broker-type`
92
+ selected. In general this has\n settings like which server to contact,
93
+ and other configuration\n related to handing on the newly installed system
94
+ to the final\n configuration management system.\n \n This attribute
95
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
96
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
97
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
98
+ \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
98
99
  http_version:
99
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
100
+ recorded_at: Thu, 14 Aug 2014 20:50:00 GMT
100
101
  - request:
101
102
  method: get
102
103
  uri: http://localhost:8080/api/commands/create-broker
@@ -118,23 +119,23 @@ http_interactions:
118
119
  Server:
119
120
  - Apache-Coyote/1.1
120
121
  Etag:
121
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
122
+ - '"server-version-v0.15.0-26-gfffaba4-dirty"'
122
123
  X-Content-Type-Options:
123
124
  - nosniff
124
125
  Content-Type:
125
126
  - application/json;charset=utf-8
126
127
  Content-Length:
127
- - '2496'
128
+ - '2568'
128
129
  Date:
129
- - Fri, 16 May 2014 22:18:33 GMT
130
+ - Thu, 14 Aug 2014 20:50:00 GMT
130
131
  body:
131
132
  encoding: US-ASCII
132
133
  string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
133
134
  configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
134
135
  broker configuration. Brokers are responsible for handing a node\noff to
135
136
  a config management system, such as Puppet or Chef. In cases where you\nhave
136
- no configuration management system, you can use the `noop` broker.\n\n\n#
137
- Access Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
137
+ no configuration management system, you can use the `noop` broker.\n\n# Access
138
+ Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
138
139
  surrounded by `%{...}` are substitutions from the input data: typically\nthe
139
140
  name of the object being modified, or some other critical detail, these\nallow
140
141
  roles to be granted partial access to modify the system.\n\nFor more detail
@@ -144,23 +145,24 @@ http_interactions:
144
145
  apply if security is enabled in the Razor configuration\nfile; on this server
145
146
  security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
146
147
  Attributes\n\n * name\n - The name of the broker, as it will be referenced
147
- within Razor.\n This is the name that you supply to, eg, `create-policy`
148
- to specify\n which broker the node will be handed off via after installation.\n -
149
- This attribute is required\n - It must be of type string.\n - It must
150
- be between 1 and 250 in length.\n\n * broker-type\n - The broker type that
151
- this broker is created from. The available\n broker types on your server
152
- are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
153
- attribute is required\n - It must be of type string.\n - It must match
148
+ within Razor.\n This is the name that you supply to, eg, `create-policy`
149
+ to specify\n which broker the node will be handed off via after installation.\n -
150
+ This attribute is required.\n - It must be of type string.\n - It must
151
+ be between 1 and 250 in length.\n\n * broker-type\n - The broker type from
152
+ which this broker is created. The available\n broker types on your server
153
+ are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
154
+ attribute is required.\n - It must be of type string.\n - It must match
154
155
  the name of an existing broker type.\n\n * configuration\n - The configuration
155
- for the broker. The acceptable values here are\n determined by the `broker-type`
156
- selected. In general this has\n settings like which server to contact,
157
- and other configuration\n related to handing on the newly installed system
158
- to the final\n configuration management system.\n - It must be of type
159
- object.\n \n \n\n\n\n# EXAMPLES\n Creating a simple Puppet broker:\n \n {\n \"name\":
160
- \"puppet\",\n \"configuration\": {\n \"server\": \"puppet.example.org\",\n \"environment\":
161
- \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
156
+ for the broker. The acceptable values here are\n determined by the `broker-type`
157
+ selected. In general this has\n settings like which server to contact,
158
+ and other configuration\n related to handing on the newly installed system
159
+ to the final\n configuration management system.\n \n This attribute
160
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
161
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
162
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
163
+ \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
162
164
  http_version:
163
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
165
+ recorded_at: Thu, 14 Aug 2014 20:50:00 GMT
164
166
  - request:
165
167
  method: get
166
168
  uri: http://localhost:8080/api/commands/create-broker
@@ -182,23 +184,23 @@ http_interactions:
182
184
  Server:
183
185
  - Apache-Coyote/1.1
184
186
  Etag:
185
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
187
+ - '"server-version-v0.15.0-26-gfffaba4-dirty"'
186
188
  X-Content-Type-Options:
187
189
  - nosniff
188
190
  Content-Type:
189
191
  - application/json;charset=utf-8
190
192
  Content-Length:
191
- - '2496'
193
+ - '2568'
192
194
  Date:
193
- - Fri, 16 May 2014 22:18:33 GMT
195
+ - Thu, 14 Aug 2014 20:50:00 GMT
194
196
  body:
195
197
  encoding: US-ASCII
196
198
  string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
197
199
  configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
198
200
  broker configuration. Brokers are responsible for handing a node\noff to
199
201
  a config management system, such as Puppet or Chef. In cases where you\nhave
200
- no configuration management system, you can use the `noop` broker.\n\n\n#
201
- Access Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
202
+ no configuration management system, you can use the `noop` broker.\n\n# Access
203
+ Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
202
204
  surrounded by `%{...}` are substitutions from the input data: typically\nthe
203
205
  name of the object being modified, or some other critical detail, these\nallow
204
206
  roles to be granted partial access to modify the system.\n\nFor more detail
@@ -208,21 +210,22 @@ http_interactions:
208
210
  apply if security is enabled in the Razor configuration\nfile; on this server
209
211
  security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
210
212
  Attributes\n\n * name\n - The name of the broker, as it will be referenced
211
- within Razor.\n This is the name that you supply to, eg, `create-policy`
212
- to specify\n which broker the node will be handed off via after installation.\n -
213
- This attribute is required\n - It must be of type string.\n - It must
214
- be between 1 and 250 in length.\n\n * broker-type\n - The broker type that
215
- this broker is created from. The available\n broker types on your server
216
- are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
217
- attribute is required\n - It must be of type string.\n - It must match
213
+ within Razor.\n This is the name that you supply to, eg, `create-policy`
214
+ to specify\n which broker the node will be handed off via after installation.\n -
215
+ This attribute is required.\n - It must be of type string.\n - It must
216
+ be between 1 and 250 in length.\n\n * broker-type\n - The broker type from
217
+ which this broker is created. The available\n broker types on your server
218
+ are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
219
+ attribute is required.\n - It must be of type string.\n - It must match
218
220
  the name of an existing broker type.\n\n * configuration\n - The configuration
219
- for the broker. The acceptable values here are\n determined by the `broker-type`
220
- selected. In general this has\n settings like which server to contact,
221
- and other configuration\n related to handing on the newly installed system
222
- to the final\n configuration management system.\n - It must be of type
223
- object.\n \n \n\n\n\n# EXAMPLES\n Creating a simple Puppet broker:\n \n {\n \"name\":
224
- \"puppet\",\n \"configuration\": {\n \"server\": \"puppet.example.org\",\n \"environment\":
225
- \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
221
+ for the broker. The acceptable values here are\n determined by the `broker-type`
222
+ selected. In general this has\n settings like which server to contact,
223
+ and other configuration\n related to handing on the newly installed system
224
+ to the final\n configuration management system.\n \n This attribute
225
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
226
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
227
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
228
+ \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
226
229
  http_version:
227
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
228
- recorded_with: VCR 2.5.0
230
+ recorded_at: Thu, 14 Aug 2014 20:50:01 GMT
231
+ recorded_with: VCR 2.9.2
@@ -25,14 +25,14 @@ http_interactions:
25
25
  Content-Type:
26
26
  - application/json;charset=utf-8
27
27
  Content-Length:
28
- - '4982'
28
+ - '4981'
29
29
  Date:
30
- - Fri, 16 May 2014 22:18:39 GMT
30
+ - Thu, 14 Aug 2014 20:50:07 GMT
31
31
  body:
32
32
  encoding: US-ASCII
33
- string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:8080/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8080/api/commands/create-broker"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8080/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8080/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8080/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8080/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8080/api/commands/delete-broker"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8080/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8080/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8080/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8080/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8080/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8080/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8080/api/commands/modify-node-metadata"},{"name":"modify-policy-max-count","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-policy-max-count","id":"http://localhost:8080/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8080/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8080/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8080/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8080/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8080/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8080/api/commands/remove-policy-tag"},{"name":"set-node-desired-power-state","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-desired-power-state","id":"http://localhost:8080/api/commands/set-node-desired-power-state"},{"name":"set-node-hw-info","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-hw-info","id":"http://localhost:8080/api/commands/set-node-hw-info"},{"name":"set-node-ipmi-credentials","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-ipmi-credentials","id":"http://localhost:8080/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8080/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8080/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8080/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8080/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8080/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8080/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8080/api/collections/nodes"},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8080/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8080/api/collections/commands"}],"version":{"server":"v0.14.1-113-g8b33d83-dirty"}}'
33
+ string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:8080/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8080/api/commands/create-broker"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8080/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8080/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8080/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8080/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8080/api/commands/delete-broker"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8080/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8080/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8080/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8080/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8080/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8080/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8080/api/commands/modify-node-metadata"},{"name":"modify-policy-max-count","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-policy-max-count","id":"http://localhost:8080/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8080/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8080/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8080/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8080/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8080/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8080/api/commands/remove-policy-tag"},{"name":"set-node-desired-power-state","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-desired-power-state","id":"http://localhost:8080/api/commands/set-node-desired-power-state"},{"name":"set-node-hw-info","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-hw-info","id":"http://localhost:8080/api/commands/set-node-hw-info"},{"name":"set-node-ipmi-credentials","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-ipmi-credentials","id":"http://localhost:8080/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8080/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8080/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8080/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8080/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8080/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8080/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8080/api/collections/nodes"},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8080/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8080/api/collections/commands"}],"version":{"server":"v0.15.0-26-gfffaba4-dirty"}}'
34
34
  http_version:
35
- recorded_at: Fri, 16 May 2014 22:18:39 GMT
35
+ recorded_at: Thu, 14 Aug 2014 20:50:07 GMT
36
36
  - request:
37
37
  method: get
38
38
  uri: http://localhost:8080/api/commands/create-broker
@@ -54,23 +54,23 @@ http_interactions:
54
54
  Server:
55
55
  - Apache-Coyote/1.1
56
56
  Etag:
57
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
57
+ - '"server-version-v0.15.0-26-gfffaba4-dirty"'
58
58
  X-Content-Type-Options:
59
59
  - nosniff
60
60
  Content-Type:
61
61
  - application/json;charset=utf-8
62
62
  Content-Length:
63
- - '2496'
63
+ - '2568'
64
64
  Date:
65
- - Fri, 16 May 2014 22:18:39 GMT
65
+ - Thu, 14 Aug 2014 20:50:07 GMT
66
66
  body:
67
67
  encoding: US-ASCII
68
68
  string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
69
69
  configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
70
70
  broker configuration. Brokers are responsible for handing a node\noff to
71
71
  a config management system, such as Puppet or Chef. In cases where you\nhave
72
- no configuration management system, you can use the `noop` broker.\n\n\n#
73
- Access Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
72
+ no configuration management system, you can use the `noop` broker.\n\n# Access
73
+ Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
74
74
  surrounded by `%{...}` are substitutions from the input data: typically\nthe
75
75
  name of the object being modified, or some other critical detail, these\nallow
76
76
  roles to be granted partial access to modify the system.\n\nFor more detail
@@ -80,23 +80,24 @@ http_interactions:
80
80
  apply if security is enabled in the Razor configuration\nfile; on this server
81
81
  security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
82
82
  Attributes\n\n * name\n - The name of the broker, as it will be referenced
83
- within Razor.\n This is the name that you supply to, eg, `create-policy`
84
- to specify\n which broker the node will be handed off via after installation.\n -
85
- This attribute is required\n - It must be of type string.\n - It must
86
- be between 1 and 250 in length.\n\n * broker-type\n - The broker type that
87
- this broker is created from. The available\n broker types on your server
88
- are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
89
- attribute is required\n - It must be of type string.\n - It must match
83
+ within Razor.\n This is the name that you supply to, eg, `create-policy`
84
+ to specify\n which broker the node will be handed off via after installation.\n -
85
+ This attribute is required.\n - It must be of type string.\n - It must
86
+ be between 1 and 250 in length.\n\n * broker-type\n - The broker type from
87
+ which this broker is created. The available\n broker types on your server
88
+ are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
89
+ attribute is required.\n - It must be of type string.\n - It must match
90
90
  the name of an existing broker type.\n\n * configuration\n - The configuration
91
- for the broker. The acceptable values here are\n determined by the `broker-type`
92
- selected. In general this has\n settings like which server to contact,
93
- and other configuration\n related to handing on the newly installed system
94
- to the final\n configuration management system.\n - It must be of type
95
- object.\n \n \n\n\n\n# EXAMPLES\n Creating a simple Puppet broker:\n \n {\n \"name\":
96
- \"puppet\",\n \"configuration\": {\n \"server\": \"puppet.example.org\",\n \"environment\":
97
- \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
91
+ for the broker. The acceptable values here are\n determined by the `broker-type`
92
+ selected. In general this has\n settings like which server to contact,
93
+ and other configuration\n related to handing on the newly installed system
94
+ to the final\n configuration management system.\n \n This attribute
95
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
96
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
97
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
98
+ \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
98
99
  http_version:
99
- recorded_at: Fri, 16 May 2014 22:18:39 GMT
100
+ recorded_at: Thu, 14 Aug 2014 20:50:07 GMT
100
101
  - request:
101
102
  method: get
102
103
  uri: http://localhost:8080/api/commands/create-broker
@@ -118,23 +119,23 @@ http_interactions:
118
119
  Server:
119
120
  - Apache-Coyote/1.1
120
121
  Etag:
121
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
122
+ - '"server-version-v0.15.0-26-gfffaba4-dirty"'
122
123
  X-Content-Type-Options:
123
124
  - nosniff
124
125
  Content-Type:
125
126
  - application/json;charset=utf-8
126
127
  Content-Length:
127
- - '2496'
128
+ - '2568'
128
129
  Date:
129
- - Fri, 16 May 2014 22:18:39 GMT
130
+ - Thu, 14 Aug 2014 20:50:07 GMT
130
131
  body:
131
132
  encoding: US-ASCII
132
133
  string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
133
134
  configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
134
135
  broker configuration. Brokers are responsible for handing a node\noff to
135
136
  a config management system, such as Puppet or Chef. In cases where you\nhave
136
- no configuration management system, you can use the `noop` broker.\n\n\n#
137
- Access Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
137
+ no configuration management system, you can use the `noop` broker.\n\n# Access
138
+ Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
138
139
  surrounded by `%{...}` are substitutions from the input data: typically\nthe
139
140
  name of the object being modified, or some other critical detail, these\nallow
140
141
  roles to be granted partial access to modify the system.\n\nFor more detail
@@ -144,21 +145,152 @@ http_interactions:
144
145
  apply if security is enabled in the Razor configuration\nfile; on this server
145
146
  security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
146
147
  Attributes\n\n * name\n - The name of the broker, as it will be referenced
147
- within Razor.\n This is the name that you supply to, eg, `create-policy`
148
- to specify\n which broker the node will be handed off via after installation.\n -
149
- This attribute is required\n - It must be of type string.\n - It must
150
- be between 1 and 250 in length.\n\n * broker-type\n - The broker type that
151
- this broker is created from. The available\n broker types on your server
152
- are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
153
- attribute is required\n - It must be of type string.\n - It must match
148
+ within Razor.\n This is the name that you supply to, eg, `create-policy`
149
+ to specify\n which broker the node will be handed off via after installation.\n -
150
+ This attribute is required.\n - It must be of type string.\n - It must
151
+ be between 1 and 250 in length.\n\n * broker-type\n - The broker type from
152
+ which this broker is created. The available\n broker types on your server
153
+ are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
154
+ attribute is required.\n - It must be of type string.\n - It must match
154
155
  the name of an existing broker type.\n\n * configuration\n - The configuration
155
- for the broker. The acceptable values here are\n determined by the `broker-type`
156
- selected. In general this has\n settings like which server to contact,
157
- and other configuration\n related to handing on the newly installed system
158
- to the final\n configuration management system.\n - It must be of type
159
- object.\n \n \n\n\n\n# EXAMPLES\n Creating a simple Puppet broker:\n \n {\n \"name\":
160
- \"puppet\",\n \"configuration\": {\n \"server\": \"puppet.example.org\",\n \"environment\":
161
- \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
156
+ for the broker. The acceptable values here are\n determined by the `broker-type`
157
+ selected. In general this has\n settings like which server to contact,
158
+ and other configuration\n related to handing on the newly installed system
159
+ to the final\n configuration management system.\n \n This attribute
160
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
161
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
162
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
163
+ \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
162
164
  http_version:
163
- recorded_at: Fri, 16 May 2014 22:18:39 GMT
164
- recorded_with: VCR 2.5.0
165
+ recorded_at: Thu, 14 Aug 2014 20:50:08 GMT
166
+ - request:
167
+ method: get
168
+ uri: http://localhost:8080/api/commands/create-broker
169
+ body:
170
+ encoding: US-ASCII
171
+ string: ''
172
+ headers:
173
+ Accept:
174
+ - application/json
175
+ Accept-Encoding:
176
+ - gzip, deflate
177
+ User-Agent:
178
+ - Ruby
179
+ response:
180
+ status:
181
+ code: 200
182
+ message: OK
183
+ headers:
184
+ Server:
185
+ - Apache-Coyote/1.1
186
+ Etag:
187
+ - '"server-version-v0.15.0-26-gfffaba4-dirty"'
188
+ X-Content-Type-Options:
189
+ - nosniff
190
+ Content-Type:
191
+ - application/json;charset=utf-8
192
+ Content-Length:
193
+ - '2568'
194
+ Date:
195
+ - Thu, 14 Aug 2014 20:50:07 GMT
196
+ body:
197
+ encoding: US-ASCII
198
+ string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
199
+ configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
200
+ broker configuration. Brokers are responsible for handing a node\noff to
201
+ a config management system, such as Puppet or Chef. In cases where you\nhave
202
+ no configuration management system, you can use the `noop` broker.\n\n# Access
203
+ Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
204
+ surrounded by `%{...}` are substitutions from the input data: typically\nthe
205
+ name of the object being modified, or some other critical detail, these\nallow
206
+ roles to be granted partial access to modify the system.\n\nFor more detail
207
+ on how the permission strings are structured and work, you can\nsee the [Shiro
208
+ Permissions documentation][shiro]. That pattern is expanded\nand then a permission
209
+ check applied to it, before the command is authorized.\n\nThese checks only
210
+ apply if security is enabled in the Razor configuration\nfile; on this server
211
+ security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
212
+ Attributes\n\n * name\n - The name of the broker, as it will be referenced
213
+ within Razor.\n This is the name that you supply to, eg, `create-policy`
214
+ to specify\n which broker the node will be handed off via after installation.\n -
215
+ This attribute is required.\n - It must be of type string.\n - It must
216
+ be between 1 and 250 in length.\n\n * broker-type\n - The broker type from
217
+ which this broker is created. The available\n broker types on your server
218
+ are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
219
+ attribute is required.\n - It must be of type string.\n - It must match
220
+ the name of an existing broker type.\n\n * configuration\n - The configuration
221
+ for the broker. The acceptable values here are\n determined by the `broker-type`
222
+ selected. In general this has\n settings like which server to contact,
223
+ and other configuration\n related to handing on the newly installed system
224
+ to the final\n configuration management system.\n \n This attribute
225
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
226
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
227
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
228
+ \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
229
+ http_version:
230
+ recorded_at: Thu, 14 Aug 2014 20:50:08 GMT
231
+ - request:
232
+ method: get
233
+ uri: http://localhost:8080/api/commands/create-broker
234
+ body:
235
+ encoding: US-ASCII
236
+ string: ''
237
+ headers:
238
+ Accept:
239
+ - application/json
240
+ Accept-Encoding:
241
+ - gzip, deflate
242
+ User-Agent:
243
+ - Ruby
244
+ response:
245
+ status:
246
+ code: 200
247
+ message: OK
248
+ headers:
249
+ Server:
250
+ - Apache-Coyote/1.1
251
+ Etag:
252
+ - '"server-version-v0.15.0-26-gfffaba4-dirty"'
253
+ X-Content-Type-Options:
254
+ - nosniff
255
+ Content-Type:
256
+ - application/json;charset=utf-8
257
+ Content-Length:
258
+ - '2568'
259
+ Date:
260
+ - Thu, 14 Aug 2014 20:50:07 GMT
261
+ body:
262
+ encoding: US-ASCII
263
+ string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
264
+ configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
265
+ broker configuration. Brokers are responsible for handing a node\noff to
266
+ a config management system, such as Puppet or Chef. In cases where you\nhave
267
+ no configuration management system, you can use the `noop` broker.\n\n# Access
268
+ Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
269
+ surrounded by `%{...}` are substitutions from the input data: typically\nthe
270
+ name of the object being modified, or some other critical detail, these\nallow
271
+ roles to be granted partial access to modify the system.\n\nFor more detail
272
+ on how the permission strings are structured and work, you can\nsee the [Shiro
273
+ Permissions documentation][shiro]. That pattern is expanded\nand then a permission
274
+ check applied to it, before the command is authorized.\n\nThese checks only
275
+ apply if security is enabled in the Razor configuration\nfile; on this server
276
+ security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
277
+ Attributes\n\n * name\n - The name of the broker, as it will be referenced
278
+ within Razor.\n This is the name that you supply to, eg, `create-policy`
279
+ to specify\n which broker the node will be handed off via after installation.\n -
280
+ This attribute is required.\n - It must be of type string.\n - It must
281
+ be between 1 and 250 in length.\n\n * broker-type\n - The broker type from
282
+ which this broker is created. The available\n broker types on your server
283
+ are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
284
+ attribute is required.\n - It must be of type string.\n - It must match
285
+ the name of an existing broker type.\n\n * configuration\n - The configuration
286
+ for the broker. The acceptable values here are\n determined by the `broker-type`
287
+ selected. In general this has\n settings like which server to contact,
288
+ and other configuration\n related to handing on the newly installed system
289
+ to the final\n configuration management system.\n \n This attribute
290
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
291
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
292
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
293
+ \"production\"\n },\n \"broker-type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
294
+ http_version:
295
+ recorded_at: Thu, 14 Aug 2014 20:50:08 GMT
296
+ recorded_with: VCR 2.9.2