pe-razor-client 0.15.2.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS.md +27 -0
  3. data/bin/razor +27 -2
  4. data/lib/razor/cli.rb +11 -2
  5. data/lib/razor/cli/command.rb +150 -0
  6. data/lib/razor/cli/document.rb +8 -4
  7. data/lib/razor/cli/format.rb +46 -22
  8. data/lib/razor/cli/navigate.rb +28 -156
  9. data/lib/razor/cli/parse.rb +49 -7
  10. data/lib/razor/cli/query.rb +69 -0
  11. data/lib/razor/cli/table_format.rb +41 -0
  12. data/lib/razor/cli/transforms.rb +25 -0
  13. data/lib/razor/cli/version.rb +1 -1
  14. data/lib/razor/cli/views.yaml +53 -2
  15. data/spec/cli/command_spec.rb +66 -0
  16. data/spec/cli/format_spec.rb +95 -5
  17. data/spec/cli/navigate_spec.rb +50 -6
  18. data/spec/cli/parse_spec.rb +42 -2
  19. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_in_string.yml +233 -0
  20. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_spaces.yml +281 -548
  21. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_--help_command_.yml +160 -37
  22. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_-h_command_.yml +160 -37
  23. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_--help_.yml +160 -37
  24. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_-h_.yml +160 -37
  25. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_help_.yml +160 -37
  26. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_help_command_.yml +160 -37
  27. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_authentication/should_preserve_that_across_navigation.yml +10 -10
  28. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_authentication/should_supply_that_to_the_API_service.yml +5 -5
  29. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_invalid_parameter/should_fail_with_bad_JSON.yml +71 -166
  30. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_invalid_parameter/should_fail_with_malformed_argument.yml +109 -59
  31. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_array/should_merge_an_array_into_an_existing_array.yml +527 -1360
  32. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_array/should_merge_the_arguments_as_an_array.yml +528 -1361
  33. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_array/should_merge_the_arguments_into_an_existing_array.yml +528 -1361
  34. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_construct_a_json_object.yml +80 -111
  35. 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 +137 -123
  36. 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 +71 -166
  37. 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 +71 -102
  38. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_no_parameters/should_fail_with_bad_JSON.yml +98 -5
  39. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_limit.yml +69 -0
  40. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_start.yml +69 -0
  41. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_not_fail_when_query_returns_details_for_one_item.yml +313 -0
  42. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_store_query_without_query_parameters.yml +557 -0
  43. 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
  44. 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 +280 -0
  45. data/spec/fixtures/vcr/Razor_CLI_Parse/_new/_help/should_print_a_list_of_known_endpoints.yml +5 -5
  46. data/spec/spec_helper.rb +8 -4
  47. metadata +26 -7
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://localhost:8080/api
5
+ uri: http://localhost:8150/api
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -25,17 +25,17 @@ http_interactions:
25
25
  Content-Type:
26
26
  - application/json;charset=utf-8
27
27
  Content-Length:
28
- - '4982'
28
+ - '5650'
29
29
  Date:
30
- - Fri, 16 May 2014 22:18:33 GMT
30
+ - Mon, 09 Mar 2015 19:53:50 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:8150/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8150/api/commands/create-broker"},{"name":"create-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/create-hook","id":"http://localhost:8150/api/commands/create-hook"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8150/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8150/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8150/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8150/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8150/api/commands/delete-broker"},{"name":"delete-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-hook","id":"http://localhost:8150/api/commands/delete-hook"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8150/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8150/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8150/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8150/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8150/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8150/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8150/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:8150/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8150/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8150/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8150/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8150/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8150/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8150/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:8150/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:8150/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:8150/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8150/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8150/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8150/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8150/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8150/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8150/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8150/api/collections/nodes","params":{"start":{"type":"number"},"limit":{"type":"number"}}},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8150/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8150/api/collections/commands"},{"name":"events","rel":"http://api.puppetlabs.com/razor/v1/collections/events","id":"http://localhost:8150/api/collections/events","params":{"start":{"type":"number"},"limit":{"type":"number"}}},{"name":"hooks","rel":"http://api.puppetlabs.com/razor/v1/collections/hooks","id":"http://localhost:8150/api/collections/hooks"}],"version":{"server":"v0.16.1-18-gd3acc7a-dirty"}}'
34
34
  http_version:
35
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
35
+ recorded_at: Mon, 09 Mar 2015 19:53:50 GMT
36
36
  - request:
37
37
  method: get
38
- uri: http://localhost:8080/api/commands/create-broker
38
+ uri: http://localhost:8150/api/commands/create-broker
39
39
  body:
40
40
  encoding: US-ASCII
41
41
  string: ''
@@ -54,175 +54,80 @@ 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.16.1-18-gd3acc7a-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
+ - '5184'
64
64
  Date:
65
- - Fri, 16 May 2014 22:18:33 GMT
65
+ - Mon, 09 Mar 2015 19:53:50 GMT
66
66
  body:
67
67
  encoding: US-ASCII
68
- string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
69
- configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
70
- broker configuration. Brokers are responsible for handing a node\noff to
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
74
- surrounded by `%{...}` are substitutions from the input data: typically\nthe
75
- name of the object being modified, or some other critical detail, these\nallow
76
- roles to be granted partial access to modify the system.\n\nFor more detail
77
- on how the permission strings are structured and work, you can\nsee the [Shiro
78
- Permissions documentation][shiro]. That pattern is expanded\nand then a permission
79
- check applied to it, before the command is authorized.\n\nThese checks only
80
- apply if security is enabled in the Razor configuration\nfile; on this server
81
- security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
68
+ string: '{"name":"create-broker","help":{"summary":"Create a new broker configuration
69
+ for hand-off of installed nodes","description":"Create a new broker configuration. Brokers
70
+ are responsible for handing a node\noff to a config management system, such
71
+ as Puppet or Chef. In cases where you\nhave no configuration management system,
72
+ you can use the `noop` broker.","schema":"# Access Control\n\nThis command''s
73
+ access control pattern: `commands:create-broker:%{name}`\n\nWords surrounded
74
+ by `%{...}` are substitutions from the input data: typically\nthe name of
75
+ the object being modified, or some other critical detail, these\nallow roles
76
+ to be granted partial access to modify the system.\n\nFor more detail on how
77
+ the permission strings are structured and work, you can\nsee the [Shiro Permissions
78
+ documentation][shiro]. That pattern is expanded\nand then a permission check
79
+ applied to it, before the command is authorized.\n\nThese checks only apply
80
+ if security is enabled in the Razor configuration\nfile; on this server security
81
+ 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","examples":{"api":"Creating
96
+ a simple Puppet broker:\n\n{\n \"name\": \"puppet\",\n \"configuration\":
97
+ {\n \"server\": \"puppet.example.org\",\n \"environment\": \"production\"\n },\n \"broker_type\":
98
+ \"puppet\"\n}","cli":"Creating a simple Puppet broker:\n\nrazor create-broker
99
+ --name puppet -c server=puppet.example.org \\\n -c environment=production
100
+ --broker-type puppet"},"full":"# SYNOPSIS\nCreate a new broker configuration
101
+ for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new broker configuration. Brokers
102
+ are responsible for handing a node\noff to a config management system, such
103
+ as Puppet or Chef. In cases where you\nhave no configuration management system,
104
+ you can use the `noop` broker.\n# Access Control\n\nThis command''s access
105
+ control pattern: `commands:create-broker:%{name}`\n\nWords surrounded by `%{...}`
106
+ are substitutions from the input data: typically\nthe name of the object being
107
+ modified, or some other critical detail, these\nallow roles to be granted
108
+ partial access to modify the system.\n\nFor more detail on how the permission
109
+ strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
110
+ pattern is expanded\nand then a permission check applied to it, before the
111
+ command is authorized.\n\nThese checks only apply if security is enabled in
112
+ the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
113
+ http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
114
+ The name of the broker, as it will be referenced within Razor.\n This
115
+ is the name that you supply to, eg, `create-policy` to specify\n which
116
+ broker the node will be handed off via after installation.\n - This attribute
117
+ is required.\n - It must be of type string.\n - It must be between 1 and
118
+ 250 in length.\n\n * broker_type\n - The broker type from which this broker
119
+ is created. The available\n broker types on your server are:\n -
120
+ chef\n - noop\n - puppet-pe\n - puppet\n - This attribute is
121
+ required.\n - It must be of type string.\n - It must match the name of
122
+ an existing broker type.\n\n * configuration\n - The configuration for the
123
+ broker. The acceptable values here are\n determined by the `broker_type`
124
+ selected. In general this has\n settings like which server to contact,
125
+ and other configuration\n related to handing on the newly installed system
126
+ to the final\n configuration management system.\n \n This attribute
127
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
128
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
129
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
130
+ \"production\"\n },\n \"broker_type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker_type":{"type":"string","aliases":["broker-type"]},"configuration":{"type":"object","aliases":["c"]}}}'
98
131
  http_version:
99
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
100
- - request:
101
- method: get
102
- uri: http://localhost:8080/api/commands/create-broker
103
- body:
104
- encoding: US-ASCII
105
- string: ''
106
- headers:
107
- Accept:
108
- - application/json
109
- Accept-Encoding:
110
- - gzip, deflate
111
- User-Agent:
112
- - Ruby
113
- response:
114
- status:
115
- code: 200
116
- message: OK
117
- headers:
118
- Server:
119
- - Apache-Coyote/1.1
120
- Etag:
121
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
122
- X-Content-Type-Options:
123
- - nosniff
124
- Content-Type:
125
- - application/json;charset=utf-8
126
- Content-Length:
127
- - '2496'
128
- Date:
129
- - Fri, 16 May 2014 22:18:33 GMT
130
- body:
131
- encoding: US-ASCII
132
- string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
133
- configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
134
- broker configuration. Brokers are responsible for handing a node\noff to
135
- 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
138
- surrounded by `%{...}` are substitutions from the input data: typically\nthe
139
- name of the object being modified, or some other critical detail, these\nallow
140
- roles to be granted partial access to modify the system.\n\nFor more detail
141
- on how the permission strings are structured and work, you can\nsee the [Shiro
142
- Permissions documentation][shiro]. That pattern is expanded\nand then a permission
143
- check applied to it, before the command is authorized.\n\nThese checks only
144
- apply if security is enabled in the Razor configuration\nfile; on this server
145
- security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
146
- 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
154
- 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"}}}'
162
- http_version:
163
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
164
- - request:
165
- method: get
166
- uri: http://localhost:8080/api/commands/create-broker
167
- body:
168
- encoding: US-ASCII
169
- string: ''
170
- headers:
171
- Accept:
172
- - application/json
173
- Accept-Encoding:
174
- - gzip, deflate
175
- User-Agent:
176
- - Ruby
177
- response:
178
- status:
179
- code: 200
180
- message: OK
181
- headers:
182
- Server:
183
- - Apache-Coyote/1.1
184
- Etag:
185
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
186
- X-Content-Type-Options:
187
- - nosniff
188
- Content-Type:
189
- - application/json;charset=utf-8
190
- Content-Length:
191
- - '2496'
192
- Date:
193
- - Fri, 16 May 2014 22:18:33 GMT
194
- body:
195
- encoding: US-ASCII
196
- string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
197
- configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
198
- broker configuration. Brokers are responsible for handing a node\noff to
199
- 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
- surrounded by `%{...}` are substitutions from the input data: typically\nthe
203
- name of the object being modified, or some other critical detail, these\nallow
204
- roles to be granted partial access to modify the system.\n\nFor more detail
205
- on how the permission strings are structured and work, you can\nsee the [Shiro
206
- Permissions documentation][shiro]. That pattern is expanded\nand then a permission
207
- check applied to it, before the command is authorized.\n\nThese checks only
208
- apply if security is enabled in the Razor configuration\nfile; on this server
209
- security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
210
- 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
218
- 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"}}}'
226
- http_version:
227
- recorded_at: Fri, 16 May 2014 22:18:34 GMT
132
+ recorded_at: Mon, 09 Mar 2015 19:53:50 GMT
228
133
  recorded_with: VCR 2.5.0
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://localhost:8080/api
5
+ uri: http://localhost:8150/api
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -25,17 +25,17 @@ http_interactions:
25
25
  Content-Type:
26
26
  - application/json;charset=utf-8
27
27
  Content-Length:
28
- - '4982'
28
+ - '5650'
29
29
  Date:
30
- - Fri, 16 May 2014 22:18:39 GMT
30
+ - Mon, 09 Mar 2015 19:53:55 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:8150/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8150/api/commands/create-broker"},{"name":"create-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/create-hook","id":"http://localhost:8150/api/commands/create-hook"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8150/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8150/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8150/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8150/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8150/api/commands/delete-broker"},{"name":"delete-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-hook","id":"http://localhost:8150/api/commands/delete-hook"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8150/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8150/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8150/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8150/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8150/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8150/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8150/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:8150/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8150/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8150/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8150/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8150/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8150/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8150/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:8150/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:8150/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:8150/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8150/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8150/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8150/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8150/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8150/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8150/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8150/api/collections/nodes","params":{"start":{"type":"number"},"limit":{"type":"number"}}},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8150/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8150/api/collections/commands"},{"name":"events","rel":"http://api.puppetlabs.com/razor/v1/collections/events","id":"http://localhost:8150/api/collections/events","params":{"start":{"type":"number"},"limit":{"type":"number"}}},{"name":"hooks","rel":"http://api.puppetlabs.com/razor/v1/collections/hooks","id":"http://localhost:8150/api/collections/hooks"}],"version":{"server":"v0.16.1-18-gd3acc7a-dirty"}}'
34
34
  http_version:
35
- recorded_at: Fri, 16 May 2014 22:18:39 GMT
35
+ recorded_at: Mon, 09 Mar 2015 19:53:55 GMT
36
36
  - request:
37
37
  method: get
38
- uri: http://localhost:8080/api/commands/create-broker
38
+ uri: http://localhost:8150/api/commands/create-broker
39
39
  body:
40
40
  encoding: US-ASCII
41
41
  string: ''
@@ -54,111 +54,80 @@ 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.16.1-18-gd3acc7a-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
+ - '5184'
64
64
  Date:
65
- - Fri, 16 May 2014 22:18:39 GMT
65
+ - Mon, 09 Mar 2015 19:53:55 GMT
66
66
  body:
67
67
  encoding: US-ASCII
68
- string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
69
- configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
70
- broker configuration. Brokers are responsible for handing a node\noff to
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
74
- surrounded by `%{...}` are substitutions from the input data: typically\nthe
75
- name of the object being modified, or some other critical detail, these\nallow
76
- roles to be granted partial access to modify the system.\n\nFor more detail
77
- on how the permission strings are structured and work, you can\nsee the [Shiro
78
- Permissions documentation][shiro]. That pattern is expanded\nand then a permission
79
- check applied to it, before the command is authorized.\n\nThese checks only
80
- apply if security is enabled in the Razor configuration\nfile; on this server
81
- security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
68
+ string: '{"name":"create-broker","help":{"summary":"Create a new broker configuration
69
+ for hand-off of installed nodes","description":"Create a new broker configuration. Brokers
70
+ are responsible for handing a node\noff to a config management system, such
71
+ as Puppet or Chef. In cases where you\nhave no configuration management system,
72
+ you can use the `noop` broker.","schema":"# Access Control\n\nThis command''s
73
+ access control pattern: `commands:create-broker:%{name}`\n\nWords surrounded
74
+ by `%{...}` are substitutions from the input data: typically\nthe name of
75
+ the object being modified, or some other critical detail, these\nallow roles
76
+ to be granted partial access to modify the system.\n\nFor more detail on how
77
+ the permission strings are structured and work, you can\nsee the [Shiro Permissions
78
+ documentation][shiro]. That pattern is expanded\nand then a permission check
79
+ applied to it, before the command is authorized.\n\nThese checks only apply
80
+ if security is enabled in the Razor configuration\nfile; on this server security
81
+ 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","examples":{"api":"Creating
96
+ a simple Puppet broker:\n\n{\n \"name\": \"puppet\",\n \"configuration\":
97
+ {\n \"server\": \"puppet.example.org\",\n \"environment\": \"production\"\n },\n \"broker_type\":
98
+ \"puppet\"\n}","cli":"Creating a simple Puppet broker:\n\nrazor create-broker
99
+ --name puppet -c server=puppet.example.org \\\n -c environment=production
100
+ --broker-type puppet"},"full":"# SYNOPSIS\nCreate a new broker configuration
101
+ for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new broker configuration. Brokers
102
+ are responsible for handing a node\noff to a config management system, such
103
+ as Puppet or Chef. In cases where you\nhave no configuration management system,
104
+ you can use the `noop` broker.\n# Access Control\n\nThis command''s access
105
+ control pattern: `commands:create-broker:%{name}`\n\nWords surrounded by `%{...}`
106
+ are substitutions from the input data: typically\nthe name of the object being
107
+ modified, or some other critical detail, these\nallow roles to be granted
108
+ partial access to modify the system.\n\nFor more detail on how the permission
109
+ strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
110
+ pattern is expanded\nand then a permission check applied to it, before the
111
+ command is authorized.\n\nThese checks only apply if security is enabled in
112
+ the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
113
+ http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
114
+ The name of the broker, as it will be referenced within Razor.\n This
115
+ is the name that you supply to, eg, `create-policy` to specify\n which
116
+ broker the node will be handed off via after installation.\n - This attribute
117
+ is required.\n - It must be of type string.\n - It must be between 1 and
118
+ 250 in length.\n\n * broker_type\n - The broker type from which this broker
119
+ is created. The available\n broker types on your server are:\n -
120
+ chef\n - noop\n - puppet-pe\n - puppet\n - This attribute is
121
+ required.\n - It must be of type string.\n - It must match the name of
122
+ an existing broker type.\n\n * configuration\n - The configuration for the
123
+ broker. The acceptable values here are\n determined by the `broker_type`
124
+ selected. In general this has\n settings like which server to contact,
125
+ and other configuration\n related to handing on the newly installed system
126
+ to the final\n configuration management system.\n \n This attribute
127
+ can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
128
+ EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
129
+ {\n \"server\": \"puppet.example.org\",\n \"environment\":
130
+ \"production\"\n },\n \"broker_type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker_type":{"type":"string","aliases":["broker-type"]},"configuration":{"type":"object","aliases":["c"]}}}'
98
131
  http_version:
99
- recorded_at: Fri, 16 May 2014 22:18:39 GMT
100
- - request:
101
- method: get
102
- uri: http://localhost:8080/api/commands/create-broker
103
- body:
104
- encoding: US-ASCII
105
- string: ''
106
- headers:
107
- Accept:
108
- - application/json
109
- Accept-Encoding:
110
- - gzip, deflate
111
- User-Agent:
112
- - Ruby
113
- response:
114
- status:
115
- code: 200
116
- message: OK
117
- headers:
118
- Server:
119
- - Apache-Coyote/1.1
120
- Etag:
121
- - '"server-version-v0.14.1-113-g8b33d83-dirty"'
122
- X-Content-Type-Options:
123
- - nosniff
124
- Content-Type:
125
- - application/json;charset=utf-8
126
- Content-Length:
127
- - '2496'
128
- Date:
129
- - Fri, 16 May 2014 22:18:39 GMT
130
- body:
131
- encoding: US-ASCII
132
- string: '{"name":"create-broker","help":{"full":"# SYNOPSIS\nCreate a new broker
133
- configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
134
- broker configuration. Brokers are responsible for handing a node\noff to
135
- 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
138
- surrounded by `%{...}` are substitutions from the input data: typically\nthe
139
- name of the object being modified, or some other critical detail, these\nallow
140
- roles to be granted partial access to modify the system.\n\nFor more detail
141
- on how the permission strings are structured and work, you can\nsee the [Shiro
142
- Permissions documentation][shiro]. That pattern is expanded\nand then a permission
143
- check applied to it, before the command is authorized.\n\nThese checks only
144
- apply if security is enabled in the Razor configuration\nfile; on this server
145
- security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
146
- 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
154
- 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"}}}'
162
- http_version:
163
- recorded_at: Fri, 16 May 2014 22:18:39 GMT
132
+ recorded_at: Mon, 09 Mar 2015 19:53:55 GMT
164
133
  recorded_with: VCR 2.5.0