razor-client 1.7.0 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/NEWS.md +12 -0
  2. data/bin/razor +19 -23
  3. data/lib/razor/cli/command.rb +3 -3
  4. data/lib/razor/cli/navigate.rb +55 -1
  5. data/lib/razor/cli/parse.rb +15 -11
  6. data/lib/razor/cli/version.rb +1 -1
  7. data/spec/cli/command_spec.rb +10 -1
  8. data/spec/cli/navigate_spec.rb +52 -4
  9. data/spec/cli/parse_spec.rb +1 -2
  10. data/spec/fixtures/sample_api +1 -0
  11. data/spec/fixtures/vcr/Razor_CLI_Navigate/accept-language_header/should_allow_other_accept-language_headers.yml +10 -8
  12. data/spec/fixtures/vcr/Razor_CLI_Navigate/accept-language_header/should_set_the_accept-language_header.yml +10 -8
  13. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_in_string.yml +110 -91
  14. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_single-dash_with_single_character_flag.yml +71 -51
  15. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_spaces.yml +328 -271
  16. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_not_allow_double-dash_with_single_character_flag.yml +52 -40
  17. data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_not_allow_single-dash_with_multiple_character_flag.yml +49 -37
  18. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_--help_command_.yml +53 -135
  19. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_-h_command_.yml +53 -135
  20. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_--help_.yml +53 -135
  21. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_-h_.yml +53 -135
  22. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_help_.yml +53 -135
  23. data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_help_command_.yml +53 -135
  24. data/spec/fixtures/vcr/Razor_CLI_Navigate/positional_arguments/should_allow_the_use_of_positional_arguments.yml +229 -163
  25. data/spec/fixtures/vcr/Razor_CLI_Navigate/positional_arguments/should_fail_with_too_many_positional_arguments.yml +49 -37
  26. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_authentication/should_preserve_that_across_navigation.yml +25 -13
  27. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_authentication/should_supply_that_to_the_API_service.yml +14 -8
  28. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_invalid_parameter/should_fail_with_bad_JSON.yml +52 -40
  29. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_invalid_parameter/should_fail_with_malformed_argument.yml +105 -90
  30. 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 +549 -446
  31. 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 +549 -446
  32. 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 +549 -446
  33. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_construct_a_json_object.yml +71 -51
  34. 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 +144 -100
  35. 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 +52 -40
  36. 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 +52 -40
  37. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_no_parameters/should_fail_with_bad_JSON.yml +54 -43
  38. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_limit.yml +25 -13
  39. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_start.yml +25 -13
  40. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_not_fail_when_query_returns_details_for_one_item.yml +78 -44
  41. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_store_query_without_query_parameters.yml +130 -74
  42. data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_throw_an_error_if_the_query_parameter_is_not_in_the_API.yml +14 -8
  43. 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 +66 -38
  44. data/spec/fixtures/vcr/Razor_CLI_Parse/_new/_help/should_print_a_list_of_known_endpoints.yml +12 -8
  45. data/spec/spec_helper.rb +4 -1
  46. data/spec/testing.md +25 -1
  47. metadata +73 -71
@@ -12,7 +12,11 @@ http_interactions:
12
12
  Accept-Encoding:
13
13
  - gzip, deflate
14
14
  User-Agent:
15
- - Ruby
15
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
16
+ Accept-Language:
17
+ - en_US,en
18
+ Host:
19
+ - localhost:8150
16
20
  response:
17
21
  status:
18
22
  code: 200
@@ -23,16 +27,16 @@ http_interactions:
23
27
  X-Content-Type-Options:
24
28
  - nosniff
25
29
  Content-Type:
26
- - application/json;charset=utf-8
30
+ - application/json
27
31
  Content-Length:
28
- - '5650'
32
+ - '7110'
29
33
  Date:
30
- - Mon, 09 Mar 2015 19:53:20 GMT
34
+ - Mon, 23 Apr 2018 19:46:27 GMT
31
35
  body:
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: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"}}'
36
+ encoding: UTF-8
37
+ 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":"run-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/run-hook","id":"http://localhost:8150/api/commands/run-hook"},{"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-broker-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-broker-configuration","id":"http://localhost:8150/api/commands/update-broker-configuration"},{"name":"update-hook-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-hook-configuration","id":"http://localhost:8150/api/commands/update-hook-configuration"},{"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-policy-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-broker","id":"http://localhost:8150/api/commands/update-policy-broker"},{"name":"update-policy-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-node-metadata","id":"http://localhost:8150/api/commands/update-policy-node-metadata"},{"name":"update-policy-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-repo","id":"http://localhost:8150/api/commands/update-policy-repo"},{"name":"update-policy-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-task","id":"http://localhost:8150/api/commands/update-policy-task"},{"name":"update-repo-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-repo-task","id":"http://localhost:8150/api/commands/update-repo-task"},{"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"},{"name":"config","rel":"http://api.puppetlabs.com/razor/v1/collections/config","id":"http://localhost:8150/api/collections/config"}],"version":{"server":"v1.8.0-dirty"}}'
34
38
  http_version:
35
- recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
39
+ recorded_at: Mon, 23 Apr 2018 19:46:27 GMT
36
40
  - request:
37
41
  method: get
38
42
  uri: http://localhost:8150/api/commands/create-repo
@@ -45,7 +49,11 @@ http_interactions:
45
49
  Accept-Encoding:
46
50
  - gzip, deflate
47
51
  User-Agent:
48
- - Ruby
52
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
53
+ Accept-Language:
54
+ - en_US,en
55
+ Host:
56
+ - localhost:8150
49
57
  response:
50
58
  status:
51
59
  code: 200
@@ -54,17 +62,17 @@ http_interactions:
54
62
  Server:
55
63
  - Apache-Coyote/1.1
56
64
  Etag:
57
- - '"server-version-v0.16.1-18-gd3acc7a-dirty"'
65
+ - '"server-version-v1.8.0-dirty"'
58
66
  X-Content-Type-Options:
59
67
  - nosniff
60
68
  Content-Type:
61
- - application/json;charset=utf-8
69
+ - application/json
62
70
  Content-Length:
63
- - '7794'
71
+ - '8224'
64
72
  Date:
65
- - Mon, 09 Mar 2015 19:53:20 GMT
73
+ - Mon, 23 Apr 2018 19:46:27 GMT
66
74
  body:
67
- encoding: US-ASCII
75
+ encoding: UTF-8
68
76
  string: '{"name":"create-repo","help":{"summary":"Create a new repository, from
69
77
  an ISO image or a URL","description":"Create a new repository, which can either
70
78
  contain the content to install a\nnode, or simply point to an existing online
@@ -79,87 +87,90 @@ http_interactions:
79
87
  the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
80
88
  http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
81
89
  The name of the repository.\n - This attribute is required.\n - It must
82
- be of type string.\n - It must be between 1 and 250 in length.\n\n * url\n -
83
- The URL of the remote repository to use.\n - It must be of type string.\n -
84
- If present, iso_url, no_content must not be present.\n - It must be between
85
- 1 and 1000 in length.\n\n * iso_url\n - The URL of the ISO image to download
86
- and unpack to create the\n repository. This can be an HTTP or HTTPS URL,
87
- or it can be a\n file URL.\n \n In the latter case, the file path
88
- is interpreted as a path on the\n Razor server, rather than a path on
89
- the client. This requires that\n you manually place the ISO image on
90
- the server before invoking the\n command.\n - It must be of type string.\n -
91
- If present, url, no_content must not be present.\n - It must be between
92
- 1 and 1000 in length.\n\n * no_content\n - For cases where extraction will
93
- be done manually, this argument\n creates a stub directory in the repo
94
- store where the extracted\n contents can be placed.\n - It must be of
95
- type boolean.\n - If present, iso_url, url must not be present.\n\n * task\n -
96
- The name of the task associated with this repository. This is used to\n install
97
- nodes that match a policy using this repository; generally it\n should
98
- match the OS that the URL or ISO_URL attributes point to.\n - This attribute
99
- is required.\n - It must be of type string.\n","examples":{"api":"Create
90
+ be of type string.\n - It must be between 1 and 250 in length.\n - Its
91
+ argument position is 0.\n\n * url\n - The URL of the remote repository to
92
+ use.\n - It must be of type string.\n - If present, iso_url, no_content
93
+ must not be present.\n - It must be between 1 and 1000 in length.\n\n *
94
+ iso_url\n - The URL of the ISO image to download and unpack to create the\n repository. This
95
+ can be an HTTP or HTTPS URL, or it can be a\n file URL.\n \n In
96
+ the latter case, the file path is interpreted as a path on the\n Razor
97
+ server, rather than a path on the client. This requires that\n you manually
98
+ place the ISO image on the server before invoking the\n command.\n -
99
+ It must be of type string.\n - If present, url, no_content must not be present.\n -
100
+ It must be between 1 and 1000 in length.\n\n * no_content\n - For cases
101
+ where extraction will be done manually, this argument\n creates a stub
102
+ directory in the repo store where the extracted\n contents can be placed.\n -
103
+ It must be of type boolean.\n - If present, iso_url, url must not be present.\n\n
104
+ * task\n - The name of the default task associated with this repository. This
105
+ is\n used to install nodes that match a policy using this repository;\n generally
106
+ it should match the OS that the URL or ISO_URL attributes point\n to.
107
+ Note that this attribute can be overridden by the task on the policy.\n -
108
+ This attribute is required.\n - It must be of type string.\n","examples":{"api":"Create
100
109
  a repository from an ISO image, which will be downloaded and unpacked\nby
101
- the razor-server in the background:\n\n {\n \"name\": \"fedora19\",\n \"iso_url\":
102
- \"http://example.com/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n\nYou
110
+ the razor-server in the background:\n\n {\n \"name\": \"fedora21\",\n \"iso_url\":
111
+ \"http://example.com/Fedora-21-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n\nYou
103
112
  can also unpack an ISO image from a file *on the server*; this does not\nupload
104
- the file from the client:\n {\n \"name\": \"fedora19\",\n \"iso_url\":
105
- \"file:///tmp/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n\nFinally,
113
+ the file from the client:\n {\n \"name\": \"fedora21\",\n \"iso_url\":
114
+ \"file:///tmp/Fedora-21-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n\nFinally,
106
115
  you can provide a `url` property when you create the repository;\nthis form
107
116
  is merely a pointer to a resource somewhere and nothing will be\ndownloaded
108
- onto the Razor server:\n\n {\n \"name\": \"fedora19\",\n \"url\": \"http://mirrors.n-ix.net/fedora/linux/releases/19/Fedora/x86_64/os/\"\n \"task\":
117
+ onto the Razor server:\n\n {\n \"name\": \"fedora21\",\n \"url\": \"http://mirrors.n-ix.net/fedora/linux/releases/21/Server/x86_64/os\"\n \"task\":
109
118
  \"fedora\"\n }","cli":"Create a repository from an ISO image, which will
110
119
  be downloaded and unpacked\nby the razor-server in the background:\n\n razor
111
- create-repo --name fedora19 \\\n --iso-url http://example.com/Fedora-19-x86_64-DVD.iso
120
+ create-repo --name fedora21 \\\n --iso-url http://example.com/Fedora-21-x86_64-DVD.iso
112
121
  \\\n --task fedora\n\nYou can also unpack an ISO image from a file
113
122
  *on the server*; this does not\nupload the file from the client:\n\n razor
114
- create-repo --name fedora19 \\\n --iso-url file:///tmp/Fedora-19-x86_64-DVD.iso
123
+ create-repo --name fedora21 \\\n --iso-url file:///tmp/Fedora-21-x86_64-DVD.iso
115
124
  \\\n --task fedora\n\nFinally, you can provide a `url` property when
116
125
  you create the repository;\nthis form is merely a pointer to a resource somewhere
117
126
  and nothing will be\ndownloaded onto the Razor server:\n\n razor create-repo
118
- --name fedora19 --iso-url \\\n http://mirrors.n-ix.net/fedora/linux/releases/19/Fedora/x86_64/os/
119
- \\\n --task fedora"},"full":"# SYNOPSIS\nCreate a new repository, from
120
- an ISO image or a URL\n\n# DESCRIPTION\nCreate a new repository, which can
121
- either contain the content to install a\nnode, or simply point to an existing
122
- online repository by URL.\n# Access Control\n\nThis command''s access control
123
- pattern: `commands:create-repo:%{name}`\n\nWords surrounded by `%{...}` are
124
- substitutions from the input data: typically\nthe name of the object being
125
- modified, or some other critical detail, these\nallow roles to be granted
126
- partial access to modify the system.\n\nFor more detail on how the permission
127
- strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
128
- pattern is expanded\nand then a permission check applied to it, before the
129
- command is authorized.\n\nThese checks only apply if security is enabled in
130
- the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
131
- http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
132
- The name of the repository.\n - This attribute is required.\n - It must
133
- be of type string.\n - It must be between 1 and 250 in length.\n\n * url\n -
134
- The URL of the remote repository to use.\n - It must be of type string.\n -
135
- If present, iso_url, no_content must not be present.\n - It must be between
136
- 1 and 1000 in length.\n\n * iso_url\n - The URL of the ISO image to download
137
- and unpack to create the\n repository. This can be an HTTP or HTTPS URL,
138
- or it can be a\n file URL.\n \n In the latter case, the file path
139
- is interpreted as a path on the\n Razor server, rather than a path on
140
- the client. This requires that\n you manually place the ISO image on
141
- the server before invoking the\n command.\n - It must be of type string.\n -
142
- If present, url, no_content must not be present.\n - It must be between
143
- 1 and 1000 in length.\n\n * no_content\n - For cases where extraction will
144
- be done manually, this argument\n creates a stub directory in the repo
145
- store where the extracted\n contents can be placed.\n - It must be of
146
- type boolean.\n - If present, iso_url, url must not be present.\n\n * task\n -
147
- The name of the task associated with this repository. This is used to\n install
148
- nodes that match a policy using this repository; generally it\n should
149
- match the OS that the URL or ISO_URL attributes point to.\n - This attribute
150
- is required.\n - It must be of type string.\n\n# EXAMPLES\n\n Create a
151
- repository from an ISO image, which will be downloaded and unpacked\n by
152
- the razor-server in the background:\n \n {\n \"name\": \"fedora19\",\n \"iso_url\":
153
- \"http://example.com/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n You
127
+ --name fedora21 --url \\\n http://mirrors.n-ix.net/fedora/linux/releases/21/Server/x86_64/os/
128
+ \\\n --task fedora\n\nWith positional arguments, this can be shortened::\n\n razor
129
+ create-repo fedora21 --task fedora --url \\\n http://mirrors.n-ix.net/fedora/linux/releases/21/Server/x86_64/os/"},"full":"#
130
+ SYNOPSIS\nCreate a new repository, from an ISO image or a URL\n\n# DESCRIPTION\nCreate
131
+ a new repository, which can either contain the content to install a\nnode,
132
+ or simply point to an existing online repository by URL.\n# Access Control\n\nThis
133
+ command''s access control pattern: `commands:create-repo:%{name}`\n\nWords
134
+ surrounded by `%{...}` are substitutions from the input data: typically\nthe
135
+ name of the object being modified, or some other critical detail, these\nallow
136
+ roles to be granted partial access to modify the system.\n\nFor more detail
137
+ on how the permission strings are structured and work, you can\nsee the [Shiro
138
+ Permissions documentation][shiro]. That pattern is expanded\nand then a permission
139
+ check applied to it, before the command is authorized.\n\nThese checks only
140
+ apply if security is enabled in the Razor configuration\nfile; on this server
141
+ security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
142
+ Attributes\n\n * name\n - The name of the repository.\n - This attribute
143
+ is required.\n - It must be of type string.\n - It must be between 1 and
144
+ 250 in length.\n - Its argument position is 0.\n\n * url\n - The URL of
145
+ the remote repository to use.\n - It must be of type string.\n - If present,
146
+ iso_url, no_content must not be present.\n - It must be between 1 and 1000
147
+ in length.\n\n * iso_url\n - The URL of the ISO image to download and unpack
148
+ to create the\n repository. This can be an HTTP or HTTPS URL, or it can
149
+ be a\n file URL.\n \n In the latter case, the file path is interpreted
150
+ as a path on the\n Razor server, rather than a path on the client. This
151
+ requires that\n you manually place the ISO image on the server before
152
+ invoking the\n command.\n - It must be of type string.\n - If present,
153
+ url, no_content must not be present.\n - It must be between 1 and 1000 in
154
+ length.\n\n * no_content\n - For cases where extraction will be done manually,
155
+ this argument\n creates a stub directory in the repo store where the extracted\n contents
156
+ can be placed.\n - It must be of type boolean.\n - If present, iso_url,
157
+ url must not be present.\n\n * task\n - The name of the default task associated
158
+ with this repository. This is\n used to install nodes that match a policy
159
+ using this repository;\n generally it should match the OS that the URL
160
+ or ISO_URL attributes point\n to. Note that this attribute can be overridden
161
+ by the task on the policy.\n - This attribute is required.\n - It must
162
+ be of type string.\n\n# EXAMPLES\n\n Create a repository from an ISO image,
163
+ which will be downloaded and unpacked\n by the razor-server in the background:\n \n {\n \"name\": \"fedora21\",\n \"iso_url\":
164
+ \"http://example.com/Fedora-21-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n You
154
165
  can also unpack an ISO image from a file *on the server*; this does not\n upload
155
- the file from the client:\n {\n \"name\": \"fedora19\",\n \"iso_url\":
156
- \"file:///tmp/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n Finally,
166
+ the file from the client:\n {\n \"name\": \"fedora21\",\n \"iso_url\":
167
+ \"file:///tmp/Fedora-21-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n Finally,
157
168
  you can provide a `url` property when you create the repository;\n this form
158
169
  is merely a pointer to a resource somewhere and nothing will be\n downloaded
159
- onto the Razor server:\n \n {\n \"name\": \"fedora19\",\n \"url\": \"http://mirrors.n-ix.net/fedora/linux/releases/19/Fedora/x86_64/os/\"\n \"task\":
160
- \"fedora\"\n }\n"},"schema":{"name":{"type":"string"},"url":{"type":"string"},"iso_url":{"type":"string","aliases":["iso-url"]},"no_content":{"type":"boolean","aliases":["no-content"]},"task":{"type":"string"}}}'
170
+ onto the Razor server:\n \n {\n \"name\": \"fedora21\",\n \"url\": \"http://mirrors.n-ix.net/fedora/linux/releases/21/Server/x86_64/os\"\n \"task\":
171
+ \"fedora\"\n }\n"},"schema":{"name":{"type":"string","position":0},"url":{"type":"string"},"iso_url":{"type":"string","aliases":["iso-url"]},"no_content":{"type":"boolean","aliases":["no-content"]},"task":{"type":"string"}}}'
161
172
  http_version:
162
- recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
173
+ recorded_at: Mon, 23 Apr 2018 19:46:27 GMT
163
174
  - request:
164
175
  method: post
165
176
  uri: http://localhost:8150/api/commands/create-repo
@@ -171,12 +182,16 @@ http_interactions:
171
182
  - application/json
172
183
  Accept-Encoding:
173
184
  - gzip, deflate
185
+ User-Agent:
186
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
174
187
  Content-Type:
175
188
  - application/json
189
+ Accept-Language:
190
+ - en_US,en
176
191
  Content-Length:
177
192
  - '61'
178
- User-Agent:
179
- - Ruby
193
+ Host:
194
+ - localhost:8150
180
195
  response:
181
196
  status:
182
197
  code: 202
@@ -187,16 +202,16 @@ http_interactions:
187
202
  X-Content-Type-Options:
188
203
  - nosniff
189
204
  Content-Type:
190
- - application/json;charset=utf-8
205
+ - application/json
191
206
  Content-Length:
192
207
  - '201'
193
208
  Date:
194
- - Mon, 09 Mar 2015 19:53:20 GMT
209
+ - Mon, 23 Apr 2018 19:46:27 GMT
195
210
  body:
196
- encoding: US-ASCII
211
+ encoding: UTF-8
197
212
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/repos/member","id":"http://localhost:8150/api/collections/repos/name","name":"name","command":"http://localhost:8150/api/collections/commands/1"}'
198
213
  http_version:
199
- recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
214
+ recorded_at: Mon, 23 Apr 2018 19:46:27 GMT
200
215
  - request:
201
216
  method: get
202
217
  uri: http://localhost:8150/api/collections/repos/name
@@ -209,7 +224,11 @@ http_interactions:
209
224
  Accept-Encoding:
210
225
  - gzip, deflate
211
226
  User-Agent:
212
- - Ruby
227
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
228
+ Accept-Language:
229
+ - en_US,en
230
+ Host:
231
+ - localhost:8150
213
232
  response:
214
233
  status:
215
234
  code: 200
@@ -220,16 +239,16 @@ http_interactions:
220
239
  X-Content-Type-Options:
221
240
  - nosniff
222
241
  Content-Type:
223
- - application/json;charset=utf-8
242
+ - application/json
224
243
  Content-Length:
225
244
  - '335'
226
245
  Date:
227
- - Mon, 09 Mar 2015 19:53:20 GMT
246
+ - Mon, 23 Apr 2018 19:46:27 GMT
228
247
  body:
229
- encoding: US-ASCII
248
+ encoding: UTF-8
230
249
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/repos/member","id":"http://localhost:8150/api/collections/repos/name","name":"name","iso_url":null,"url":"http://url.com/some.iso","task":{"spec":"http://api.puppetlabs.com/razor/v1/collections/tasks/member","id":"http://localhost:8150/api/collections/tasks/noop","name":"noop"}}'
231
250
  http_version:
232
- recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
251
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
233
252
  - request:
234
253
  method: get
235
254
  uri: http://localhost:8150/api
@@ -242,7 +261,11 @@ http_interactions:
242
261
  Accept-Encoding:
243
262
  - gzip, deflate
244
263
  User-Agent:
245
- - Ruby
264
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
265
+ Accept-Language:
266
+ - en_US,en
267
+ Host:
268
+ - localhost:8150
246
269
  response:
247
270
  status:
248
271
  code: 200
@@ -253,16 +276,16 @@ http_interactions:
253
276
  X-Content-Type-Options:
254
277
  - nosniff
255
278
  Content-Type:
256
- - application/json;charset=utf-8
279
+ - application/json
257
280
  Content-Length:
258
- - '5650'
281
+ - '7110'
259
282
  Date:
260
- - Mon, 09 Mar 2015 19:53:20 GMT
283
+ - Mon, 23 Apr 2018 19:46:27 GMT
261
284
  body:
262
- encoding: US-ASCII
263
- 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"}}'
285
+ encoding: UTF-8
286
+ 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":"run-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/run-hook","id":"http://localhost:8150/api/commands/run-hook"},{"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-broker-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-broker-configuration","id":"http://localhost:8150/api/commands/update-broker-configuration"},{"name":"update-hook-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-hook-configuration","id":"http://localhost:8150/api/commands/update-hook-configuration"},{"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-policy-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-broker","id":"http://localhost:8150/api/commands/update-policy-broker"},{"name":"update-policy-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-node-metadata","id":"http://localhost:8150/api/commands/update-policy-node-metadata"},{"name":"update-policy-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-repo","id":"http://localhost:8150/api/commands/update-policy-repo"},{"name":"update-policy-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-task","id":"http://localhost:8150/api/commands/update-policy-task"},{"name":"update-repo-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-repo-task","id":"http://localhost:8150/api/commands/update-repo-task"},{"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"},{"name":"config","rel":"http://api.puppetlabs.com/razor/v1/collections/config","id":"http://localhost:8150/api/collections/config"}],"version":{"server":"v1.8.0-dirty"}}'
264
287
  http_version:
265
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
288
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
266
289
  - request:
267
290
  method: get
268
291
  uri: http://localhost:8150/api/commands/create-broker
@@ -275,7 +298,11 @@ http_interactions:
275
298
  Accept-Encoding:
276
299
  - gzip, deflate
277
300
  User-Agent:
278
- - Ruby
301
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
302
+ Accept-Language:
303
+ - en_US,en
304
+ Host:
305
+ - localhost:8150
279
306
  response:
280
307
  status:
281
308
  code: 200
@@ -284,17 +311,17 @@ http_interactions:
284
311
  Server:
285
312
  - Apache-Coyote/1.1
286
313
  Etag:
287
- - '"server-version-v0.16.1-18-gd3acc7a-dirty"'
314
+ - '"server-version-v1.8.0-dirty"'
288
315
  X-Content-Type-Options:
289
316
  - nosniff
290
317
  Content-Type:
291
- - application/json;charset=utf-8
318
+ - application/json
292
319
  Content-Length:
293
- - '5184'
320
+ - '5560'
294
321
  Date:
295
- - Mon, 09 Mar 2015 19:53:20 GMT
322
+ - Mon, 23 Apr 2018 19:46:27 GMT
296
323
  body:
297
- encoding: US-ASCII
324
+ encoding: UTF-8
298
325
  string: '{"name":"create-broker","help":{"summary":"Create a new broker configuration
299
326
  for hand-off of installed nodes","description":"Create a new broker configuration. Brokers
300
327
  are responsible for handing a node\noff to a config management system, such
@@ -313,30 +340,33 @@ http_interactions:
313
340
  within Razor.\n This is the name that you supply to, eg, `create-policy`
314
341
  to specify\n which broker the node will be handed off via after installation.\n -
315
342
  This attribute is required.\n - It must be of type string.\n - It must
316
- be between 1 and 250 in length.\n\n * broker_type\n - The broker type from
317
- which this broker is created. The available\n broker types on your server
318
- are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
319
- attribute is required.\n - It must be of type string.\n - It must match
320
- the name of an existing broker type.\n\n * configuration\n - The configuration
321
- for the broker. The acceptable values here are\n determined by the `broker_type`
343
+ be between 1 and 250 in length.\n - Its argument position is 0.\n\n * broker_type\n -
344
+ The broker type from which this broker is created. The available\n broker
345
+ types on your server are:\n - chef\n - legacy-puppet\n - noop\n -
346
+ puppet-pe\n - puppet\n - This attribute is required.\n - It must be
347
+ of type string.\n - It must match the name of an existing broker type.\n -
348
+ Its argument position is 1.\n\n * configuration\n - The configuration for
349
+ the broker. The acceptable values here are\n determined by the `broker_type`
322
350
  selected. In general this has\n settings like which server to contact,
323
351
  and other configuration\n related to handing on the newly installed system
324
352
  to the final\n configuration management system.\n \n This attribute
325
353
  can be abbreviated as `c` for convenience.\n - It must be of type object.\n","examples":{"api":"Creating
326
354
  a simple Puppet broker:\n\n{\n \"name\": \"puppet\",\n \"configuration\":
327
355
  {\n \"server\": \"puppet.example.org\",\n \"environment\": \"production\"\n },\n \"broker_type\":
328
- \"puppet\"\n}","cli":"Creating a simple Puppet broker:\n\nrazor create-broker
329
- --name puppet -c server=puppet.example.org \\\n -c environment=production
330
- --broker-type puppet"},"full":"# SYNOPSIS\nCreate a new broker configuration
331
- for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new broker configuration. Brokers
332
- are responsible for handing a node\noff to a config management system, such
333
- as Puppet or Chef. In cases where you\nhave no configuration management system,
334
- you can use the `noop` broker.\n# Access Control\n\nThis command''s access
335
- control pattern: `commands:create-broker:%{name}`\n\nWords surrounded by `%{...}`
336
- are substitutions from the input data: typically\nthe name of the object being
337
- modified, or some other critical detail, these\nallow roles to be granted
338
- partial access to modify the system.\n\nFor more detail on how the permission
339
- strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
356
+ \"puppet\"\n}","cli":"Creating a simple Puppet broker:\n\n razor create-broker
357
+ --name puppet -c server=puppet.example.org \\\n -c environment=production
358
+ --broker-type puppet\n\nWith positional arguments, this can be shortened::\n\n razor
359
+ create-broker puppet puppet -c server=puppet.example.org \\\n -c environment=production"},"full":"#
360
+ SYNOPSIS\nCreate a new broker configuration for hand-off of installed nodes\n\n#
361
+ DESCRIPTION\nCreate a new broker configuration. Brokers are responsible for
362
+ handing a node\noff to a config management system, such as Puppet or Chef. In
363
+ cases where you\nhave no configuration management system, you can use the
364
+ `noop` broker.\n# Access Control\n\nThis command''s access control pattern:
365
+ `commands:create-broker:%{name}`\n\nWords surrounded by `%{...}` are substitutions
366
+ from the input data: typically\nthe name of the object being modified, or
367
+ some other critical detail, these\nallow roles to be granted partial access
368
+ to modify the system.\n\nFor more detail on how the permission strings are
369
+ structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
340
370
  pattern is expanded\nand then a permission check applied to it, before the
341
371
  command is authorized.\n\nThese checks only apply if security is enabled in
342
372
  the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
@@ -345,21 +375,22 @@ http_interactions:
345
375
  is the name that you supply to, eg, `create-policy` to specify\n which
346
376
  broker the node will be handed off via after installation.\n - This attribute
347
377
  is required.\n - It must be of type string.\n - It must be between 1 and
348
- 250 in length.\n\n * broker_type\n - The broker type from which this broker
349
- is created. The available\n broker types on your server are:\n -
350
- chef\n - noop\n - puppet-pe\n - puppet\n - This attribute is
351
- required.\n - It must be of type string.\n - It must match the name of
352
- an existing broker type.\n\n * configuration\n - The configuration for the
353
- broker. The acceptable values here are\n determined by the `broker_type`
378
+ 250 in length.\n - Its argument position is 0.\n\n * broker_type\n - The
379
+ broker type from which this broker is created. The available\n broker
380
+ types on your server are:\n - chef\n - legacy-puppet\n - noop\n -
381
+ puppet-pe\n - puppet\n - This attribute is required.\n - It must be
382
+ of type string.\n - It must match the name of an existing broker type.\n -
383
+ Its argument position is 1.\n\n * configuration\n - The configuration for
384
+ the broker. The acceptable values here are\n determined by the `broker_type`
354
385
  selected. In general this has\n settings like which server to contact,
355
386
  and other configuration\n related to handing on the newly installed system
356
387
  to the final\n configuration management system.\n \n This attribute
357
388
  can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
358
389
  EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
359
390
  {\n \"server\": \"puppet.example.org\",\n \"environment\":
360
- \"production\"\n },\n \"broker_type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string"},"broker_type":{"type":"string","aliases":["broker-type"]},"configuration":{"type":"object","aliases":["c"]}}}'
391
+ \"production\"\n },\n \"broker_type\": \"puppet\"\n }\n"},"schema":{"name":{"type":"string","position":0},"broker_type":{"type":"string","aliases":["broker-type"],"position":1},"configuration":{"type":"object","aliases":["c"]}}}'
361
392
  http_version:
362
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
393
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
363
394
  - request:
364
395
  method: post
365
396
  uri: http://localhost:8150/api/commands/create-broker
@@ -371,12 +402,16 @@ http_interactions:
371
402
  - application/json
372
403
  Accept-Encoding:
373
404
  - gzip, deflate
405
+ User-Agent:
406
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
374
407
  Content-Type:
375
408
  - application/json
409
+ Accept-Language:
410
+ - en_US,en
376
411
  Content-Length:
377
412
  - '115'
378
- User-Agent:
379
- - Ruby
413
+ Host:
414
+ - localhost:8150
380
415
  response:
381
416
  status:
382
417
  code: 202
@@ -387,16 +422,16 @@ http_interactions:
387
422
  X-Content-Type-Options:
388
423
  - nosniff
389
424
  Content-Type:
390
- - application/json;charset=utf-8
425
+ - application/json
391
426
  Content-Length:
392
427
  - '209'
393
428
  Date:
394
- - Mon, 09 Mar 2015 19:53:20 GMT
429
+ - Mon, 23 Apr 2018 19:46:27 GMT
395
430
  body:
396
- encoding: US-ASCII
431
+ encoding: UTF-8
397
432
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/brokers/member","id":"http://localhost:8150/api/collections/brokers/puppet","name":"puppet","command":"http://localhost:8150/api/collections/commands/2"}'
398
433
  http_version:
399
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
434
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
400
435
  - request:
401
436
  method: get
402
437
  uri: http://localhost:8150/api/collections/brokers/puppet
@@ -409,7 +444,11 @@ http_interactions:
409
444
  Accept-Encoding:
410
445
  - gzip, deflate
411
446
  User-Agent:
412
- - Ruby
447
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
448
+ Accept-Language:
449
+ - en_US,en
450
+ Host:
451
+ - localhost:8150
413
452
  response:
414
453
  status:
415
454
  code: 200
@@ -420,16 +459,16 @@ http_interactions:
420
459
  X-Content-Type-Options:
421
460
  - nosniff
422
461
  Content-Type:
423
- - application/json;charset=utf-8
462
+ - application/json
424
463
  Content-Length:
425
464
  - '356'
426
465
  Date:
427
- - Mon, 09 Mar 2015 19:53:20 GMT
466
+ - Mon, 23 Apr 2018 19:46:27 GMT
428
467
  body:
429
- encoding: US-ASCII
468
+ encoding: UTF-8
430
469
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/brokers/member","id":"http://localhost:8150/api/collections/brokers/puppet","name":"puppet","configuration":{"server":"puppet.example.org","environment":"production"},"broker_type":"puppet","policies":{"id":"http://localhost:8150/api/collections/brokers/puppet/policies","count":0,"name":"policies"}}'
431
470
  http_version:
432
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
471
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
433
472
  - request:
434
473
  method: get
435
474
  uri: http://localhost:8150/api
@@ -442,7 +481,11 @@ http_interactions:
442
481
  Accept-Encoding:
443
482
  - gzip, deflate
444
483
  User-Agent:
445
- - Ruby
484
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
485
+ Accept-Language:
486
+ - en_US,en
487
+ Host:
488
+ - localhost:8150
446
489
  response:
447
490
  status:
448
491
  code: 200
@@ -453,16 +496,16 @@ http_interactions:
453
496
  X-Content-Type-Options:
454
497
  - nosniff
455
498
  Content-Type:
456
- - application/json;charset=utf-8
499
+ - application/json
457
500
  Content-Length:
458
- - '5650'
501
+ - '7110'
459
502
  Date:
460
- - Mon, 09 Mar 2015 19:53:20 GMT
503
+ - Mon, 23 Apr 2018 19:46:27 GMT
461
504
  body:
462
- encoding: US-ASCII
463
- 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"}}'
505
+ encoding: UTF-8
506
+ 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":"run-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/run-hook","id":"http://localhost:8150/api/commands/run-hook"},{"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-broker-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-broker-configuration","id":"http://localhost:8150/api/commands/update-broker-configuration"},{"name":"update-hook-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-hook-configuration","id":"http://localhost:8150/api/commands/update-hook-configuration"},{"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-policy-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-broker","id":"http://localhost:8150/api/commands/update-policy-broker"},{"name":"update-policy-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-node-metadata","id":"http://localhost:8150/api/commands/update-policy-node-metadata"},{"name":"update-policy-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-repo","id":"http://localhost:8150/api/commands/update-policy-repo"},{"name":"update-policy-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-task","id":"http://localhost:8150/api/commands/update-policy-task"},{"name":"update-repo-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-repo-task","id":"http://localhost:8150/api/commands/update-repo-task"},{"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"},{"name":"config","rel":"http://api.puppetlabs.com/razor/v1/collections/config","id":"http://localhost:8150/api/collections/config"}],"version":{"server":"v1.8.0-dirty"}}'
464
507
  http_version:
465
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
508
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
466
509
  - request:
467
510
  method: get
468
511
  uri: http://localhost:8150/api/commands/create-tag
@@ -475,7 +518,11 @@ http_interactions:
475
518
  Accept-Encoding:
476
519
  - gzip, deflate
477
520
  User-Agent:
478
- - Ruby
521
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
522
+ Accept-Language:
523
+ - en_US,en
524
+ Host:
525
+ - localhost:8150
479
526
  response:
480
527
  status:
481
528
  code: 200
@@ -484,15 +531,15 @@ http_interactions:
484
531
  Server:
485
532
  - Apache-Coyote/1.1
486
533
  Etag:
487
- - '"server-version-v0.16.1-18-gd3acc7a-dirty"'
534
+ - '"server-version-v1.8.0-dirty"'
488
535
  X-Content-Type-Options:
489
536
  - nosniff
490
537
  Content-Type:
491
- - application/json;charset=utf-8
538
+ - application/json
492
539
  Content-Length:
493
- - '4439'
540
+ - '4738'
494
541
  Date:
495
- - Mon, 09 Mar 2015 19:53:20 GMT
542
+ - Mon, 23 Apr 2018 19:46:27 GMT
496
543
  body:
497
544
  encoding: ASCII-8BIT
498
545
  string: !binary |-
@@ -519,84 +566,91 @@ http_interactions:
519
566
  XG5cbiMgQXR0cmlidXRlc1xuXG4gKiBuYW1lXG4gICAtIFRoZSBuYW1lIG9m
520
567
  IHRoZSB0YWcuXG4gICAtIFRoaXMgYXR0cmlidXRlIGlzIHJlcXVpcmVkLlxu
521
568
  ICAgLSBJdCBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nLlxuICAgLSBJdCBtdXN0
522
- IGJlIGJldHdlZW4gMSBhbmQgSW5maW5pdHkgaW4gbGVuZ3RoLlxuXG4gKiBy
523
- dWxlXG4gICAtIFRoZSB0YWcgbWF0Y2hlcyBhIG5vZGUgaWYgZXZhbHVhdGlu
524
- ZyB0aGlzIHJ1biBhZ2FpbnN0IHRoZSB0YWfigJlzIGZhY3RzXG4gICAgIHJl
525
- c3VsdHMgaW4gdHJ1ZS4gTm90ZSB0aGF0IHRhZyBtYXRjaGluZyBpcyBjYXNl
526
- IHNlbnNpdGl2ZS5cbiAgICAgXG4gICAgIEZvciBleGFtcGxlLCBoZXJlIGlz
527
- IGEgdGFnIHJ1bGU6XG4gICAgIFxuICAgICAgICAgW1wib3JcIixcbiAgICAg
528
- ICAgICBbXCI9XCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBcImRl
529
- OmVhOmRiOmVlOmYwOjAwXCJdXG4gICAgICAgICAgW1wiPVwiLCBbXCJmYWN0
530
- XCIsIFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMVwiXV1c
531
- biAgICAgXG4gICAgIFRoZSB0YWcgY291bGQgYWxzbyBiZSB3cml0dGVuIGxp
532
- a2UgdGhpczpcbiAgICAgXG4gICAgICAgICBbXCJpblwiLCBbXCJmYWN0XCIs
533
- IFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMFwiLCBcImRl
534
- OmVhOmRiOmVlOmYwOjAxXCJdXG4gICAgIFxuICAgICBUaGUgc3ludGF4IGZv
535
- ciBydWxlIGV4cHJlc3Npb25zIGlzIGRlZmluZWQgaW4gYGxpYi9yYXpvci9t
536
- YXRjaGVyLnJiYC5cbiAgICAgRXhwcmVzc2lvbnMgYXJlIG9mIHRoZSBmb3Jt
537
- IGBbb3AgYXJnMSBhcmcyIC4uIGFyZ25dYFxuICAgICB3aGVyZSBvcCBpcyBv
538
- bmUgb2YgdGhlIG9wZXJhdG9ycyBiZWxvdywgYW5kIGFyZzEgdGhyb3VnaCBh
539
- cmduIGFyZSB0aGVcbiAgICAgYXJndW1lbnRzIGZvciB0aGUgb3BlcmF0b3Iu
540
- IElmIHRoZXkgYXJlIGV4cHJlc3Npb25zIHRoZW1zZWx2ZXMsIHRoZXkgd2ls
541
- bFxuICAgICBiZSBldmFsdWF0ZWQgYmVmb3JlIGBvcGAgaXMgZXZhbHVhdGVk
542
- LlxuICAgLSBUaGlzIGF0dHJpYnV0ZSBpcyByZXF1aXJlZC5cbiAgIC0gSXQg
543
- bXVzdCBiZSBvZiB0eXBlIGFycmF5LlxuIiwiZXhhbXBsZXMiOnsiYXBpIjoi
544
- Q3JlYXRlIGEgc2ltcGxlIHRhZzpcblxue1xuICBcIm5hbWVcIjogXCJzbWFs
545
- bFwiLFxuICBcInJ1bGVcIjogW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vz
546
- c29yY291bnRcIl0sIFwiMlwiXVxufSIsImNsaSI6IkNyZWF0ZSBhIHNpbXBs
547
- ZSB0YWc6XG5cbnJhem9yIGNyZWF0ZS10YWcgLS1uYW1lIHNtYWxsIC0tcnVs
548
- ZSAnW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vzc29yY291bnRcIl0sIFwi
549
- MlwiXScifSwiZnVsbCI6IiMgU1lOT1BTSVNcbkNyZWF0ZSBhIG5ldyB0YWdc
550
- blxuIyBERVNDUklQVElPTlxuQ3JlYXRlIGEgbmV3IHRhZywgYW5kIHNldCB0
551
- aGUgcnVsZSBpdCB3aWxsIHVzZSB0byBtYXRjaCBvbiBmYWN0cyBhbmQgbm9k
552
- ZVxubWV0YWRhdGEuXG4jIEFjY2VzcyBDb250cm9sXG5cblRoaXMgY29tbWFu
553
- ZCdzIGFjY2VzcyBjb250cm9sIHBhdHRlcm46IGBjb21tYW5kczpjcmVhdGUt
554
- dGFnOiV7bmFtZX1gXG5cbldvcmRzIHN1cnJvdW5kZWQgYnkgYCV7Li4ufWAg
555
- YXJlIHN1YnN0aXR1dGlvbnMgZnJvbSB0aGUgaW5wdXQgZGF0YTogdHlwaWNh
556
- bGx5XG50aGUgbmFtZSBvZiB0aGUgb2JqZWN0IGJlaW5nIG1vZGlmaWVkLCBv
557
- ciBzb21lIG90aGVyIGNyaXRpY2FsIGRldGFpbCwgdGhlc2VcbmFsbG93IHJv
558
- bGVzIHRvIGJlIGdyYW50ZWQgcGFydGlhbCBhY2Nlc3MgdG8gbW9kaWZ5IHRo
559
- ZSBzeXN0ZW0uXG5cbkZvciBtb3JlIGRldGFpbCBvbiBob3cgdGhlIHBlcm1p
560
- c3Npb24gc3RyaW5ncyBhcmUgc3RydWN0dXJlZCBhbmQgd29yaywgeW91IGNh
561
- blxuc2VlIHRoZSBbU2hpcm8gUGVybWlzc2lvbnMgZG9jdW1lbnRhdGlvbl1b
562
- c2hpcm9dLiAgVGhhdCBwYXR0ZXJuIGlzIGV4cGFuZGVkXG5hbmQgdGhlbiBh
563
- IHBlcm1pc3Npb24gY2hlY2sgYXBwbGllZCB0byBpdCwgYmVmb3JlIHRoZSBj
564
- b21tYW5kIGlzIGF1dGhvcml6ZWQuXG5cblRoZXNlIGNoZWNrcyBvbmx5IGFw
565
- cGx5IGlmIHNlY3VyaXR5IGlzIGVuYWJsZWQgaW4gdGhlIFJhem9yIGNvbmZp
566
- Z3VyYXRpb25cbmZpbGU7IG9uIHRoaXMgc2VydmVyIHNlY3VyaXR5IGlzIGN1
567
- cnJlbnRseSBkaXNhYmxlZC5cblxuW3NoaXJvXTogaHR0cDovL3NoaXJvLmFw
568
- YWNoZS5vcmcvcGVybWlzc2lvbnMuaHRtbFxuXG4jIEF0dHJpYnV0ZXNcblxu
569
- ICogbmFtZVxuICAgLSBUaGUgbmFtZSBvZiB0aGUgdGFnLlxuICAgLSBUaGlz
570
- IGF0dHJpYnV0ZSBpcyByZXF1aXJlZC5cbiAgIC0gSXQgbXVzdCBiZSBvZiB0
571
- eXBlIHN0cmluZy5cbiAgIC0gSXQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIElu
572
- ZmluaXR5IGluIGxlbmd0aC5cblxuICogcnVsZVxuICAgLSBUaGUgdGFnIG1h
573
- dGNoZXMgYSBub2RlIGlmIGV2YWx1YXRpbmcgdGhpcyBydW4gYWdhaW5zdCB0
574
- aGUgdGFn4oCZcyBmYWN0c1xuICAgICByZXN1bHRzIGluIHRydWUuIE5vdGUg
575
- dGhhdCB0YWcgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUuXG4gICAgIFxu
576
- ICAgICBGb3IgZXhhbXBsZSwgaGVyZSBpcyBhIHRhZyBydWxlOlxuICAgICBc
577
- biAgICAgICAgIFtcIm9yXCIsXG4gICAgICAgICAgW1wiPVwiLCBbXCJmYWN0
578
- XCIsIFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMFwiXVxu
579
- ICAgICAgICAgIFtcIj1cIiwgW1wiZmFjdFwiLCBcIm1hY2FkZHJlc3NcIl0s
580
- IFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1dXG4gICAgIFxuICAgICBUaGUgdGFn
581
- IGNvdWxkIGFsc28gYmUgd3JpdHRlbiBsaWtlIHRoaXM6XG4gICAgIFxuICAg
582
- ICAgICAgW1wiaW5cIiwgW1wiZmFjdFwiLCBcIm1hY2FkZHJlc3NcIl0sIFwi
583
- ZGU6ZWE6ZGI6ZWU6ZjA6MDBcIiwgXCJkZTplYTpkYjplZTpmMDowMVwiXVxu
584
- ICAgICBcbiAgICAgVGhlIHN5bnRheCBmb3IgcnVsZSBleHByZXNzaW9ucyBp
585
- cyBkZWZpbmVkIGluIGBsaWIvcmF6b3IvbWF0Y2hlci5yYmAuXG4gICAgIEV4
586
- cHJlc3Npb25zIGFyZSBvZiB0aGUgZm9ybSBgW29wIGFyZzEgYXJnMiAuLiBh
587
- cmduXWBcbiAgICAgd2hlcmUgb3AgaXMgb25lIG9mIHRoZSBvcGVyYXRvcnMg
588
- YmVsb3csIGFuZCBhcmcxIHRocm91Z2ggYXJnbiBhcmUgdGhlXG4gICAgIGFy
589
- Z3VtZW50cyBmb3IgdGhlIG9wZXJhdG9yLiBJZiB0aGV5IGFyZSBleHByZXNz
590
- aW9ucyB0aGVtc2VsdmVzLCB0aGV5IHdpbGxcbiAgICAgYmUgZXZhbHVhdGVk
591
- IGJlZm9yZSBgb3BgIGlzIGV2YWx1YXRlZC5cbiAgIC0gVGhpcyBhdHRyaWJ1
592
- dGUgaXMgcmVxdWlyZWQuXG4gICAtIEl0IG11c3QgYmUgb2YgdHlwZSBhcnJh
593
- eS5cblxuIyBFWEFNUExFU1xuXG4gIENyZWF0ZSBhIHNpbXBsZSB0YWc6XG4g
594
- IFxuICB7XG4gICAgXCJuYW1lXCI6IFwic21hbGxcIixcbiAgICBcInJ1bGVc
595
- IjogW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vzc29yY291bnRcIl0sIFwi
596
- MlwiXVxuICB9XG4ifSwic2NoZW1hIjp7Im5hbWUiOnsidHlwZSI6InN0cmlu
597
- ZyJ9LCJydWxlIjp7InR5cGUiOiJhcnJheSJ9fX0=
569
+ IGJlIGJldHdlZW4gMSBhbmQgSW5maW5pdHkgaW4gbGVuZ3RoLlxuICAgLSBJ
570
+ dHMgYXJndW1lbnQgcG9zaXRpb24gaXMgMC5cblxuICogcnVsZVxuICAgLSBU
571
+ aGUgdGFnIG1hdGNoZXMgYSBub2RlIGlmIGV2YWx1YXRpbmcgdGhpcyBydW4g
572
+ YWdhaW5zdCB0aGUgdGFn4oCZcyBmYWN0c1xuICAgICByZXN1bHRzIGluIHRy
573
+ dWUuIE5vdGUgdGhhdCB0YWcgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUu
574
+ XG4gICAgIFxuICAgICBGb3IgZXhhbXBsZSwgaGVyZSBpcyBhIHRhZyBydWxl
575
+ OlxuICAgICBcbiAgICAgICAgIFtcIm9yXCIsXG4gICAgICAgICAgW1wiPVwi
576
+ LCBbXCJmYWN0XCIsIFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpm
577
+ MDowMFwiXVxuICAgICAgICAgIFtcIj1cIiwgW1wiZmFjdFwiLCBcIm1hY2Fk
578
+ ZHJlc3NcIl0sIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1dXG4gICAgIFxuICAg
579
+ ICBUaGUgdGFnIGNvdWxkIGFsc28gYmUgd3JpdHRlbiBsaWtlIHRoaXM6XG4g
580
+ ICAgIFxuICAgICAgICAgW1wiaW5cIiwgW1wiZmFjdFwiLCBcIm1hY2FkZHJl
581
+ c3NcIl0sIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDBcIiwgXCJkZTplYTpkYjplZTpm
582
+ MDowMVwiXVxuICAgICBcbiAgICAgVGhlIHN5bnRheCBmb3IgcnVsZSBleHBy
583
+ ZXNzaW9ucyBpcyBkZWZpbmVkIGluIGBsaWIvcmF6b3IvbWF0Y2hlci5yYmAu
584
+ XG4gICAgIEV4cHJlc3Npb25zIGFyZSBvZiB0aGUgZm9ybSBgW29wIGFyZzEg
585
+ YXJnMiAuLiBhcmduXWBcbiAgICAgd2hlcmUgb3AgaXMgb25lIG9mIHRoZSBv
586
+ cGVyYXRvcnMgYmVsb3csIGFuZCBhcmcxIHRocm91Z2ggYXJnbiBhcmUgdGhl
587
+ XG4gICAgIGFyZ3VtZW50cyBmb3IgdGhlIG9wZXJhdG9yLiBJZiB0aGV5IGFy
588
+ ZSBleHByZXNzaW9ucyB0aGVtc2VsdmVzLCB0aGV5IHdpbGxcbiAgICAgYmUg
589
+ ZXZhbHVhdGVkIGJlZm9yZSBgb3BgIGlzIGV2YWx1YXRlZC5cbiAgIC0gVGhp
590
+ cyBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQuXG4gICAtIEl0IG11c3QgYmUgb2Yg
591
+ dHlwZSBhcnJheS5cbiAgIC0gSXRzIGFyZ3VtZW50IHBvc2l0aW9uIGlzIDEu
592
+ XG4iLCJleGFtcGxlcyI6eyJhcGkiOiJDcmVhdGUgYSBzaW1wbGUgdGFnOlxu
593
+ XG57XG4gIFwibmFtZVwiOiBcInNtYWxsXCIsXG4gIFwicnVsZVwiOiBbXCI9
594
+ XCIsIFtcImZhY3RcIiwgXCJwcm9jZXNzb3Jjb3VudFwiXSwgXCIyXCJdXG59
595
+ IiwiY2xpIjoiQ3JlYXRlIGEgc2ltcGxlIHRhZzpcblxuICAgIHJhem9yIGNy
596
+ ZWF0ZS10YWcgLS1uYW1lIHNtYWxsIC0tcnVsZSAnW1wiPVwiLCBbXCJmYWN0
597
+ XCIsIFwicHJvY2Vzc29yY291bnRcIl0sIFwiMlwiXSdcblxuV2l0aCBwb3Np
598
+ dGlvbmFsIGFyZ3VtZW50cywgdGhpcyBjYW4gYmUgc2hvcnRlbmVkOjpcblxu
599
+ ICAgIHJhem9yIGNyZWF0ZS10YWcgc21hbGwgJ1tcIj1cIiwgW1wiZmFjdFwi
600
+ LCBcInByb2Nlc3NvcmNvdW50XCJdLCBcIjJcIl0nIn0sImZ1bGwiOiIjIFNZ
601
+ Tk9QU0lTXG5DcmVhdGUgYSBuZXcgdGFnXG5cbiMgREVTQ1JJUFRJT05cbkNy
602
+ ZWF0ZSBhIG5ldyB0YWcsIGFuZCBzZXQgdGhlIHJ1bGUgaXQgd2lsbCB1c2Ug
603
+ dG8gbWF0Y2ggb24gZmFjdHMgYW5kIG5vZGVcbm1ldGFkYXRhLlxuIyBBY2Nl
604
+ c3MgQ29udHJvbFxuXG5UaGlzIGNvbW1hbmQncyBhY2Nlc3MgY29udHJvbCBw
605
+ YXR0ZXJuOiBgY29tbWFuZHM6Y3JlYXRlLXRhZzole25hbWV9YFxuXG5Xb3Jk
606
+ cyBzdXJyb3VuZGVkIGJ5IGAley4uLn1gIGFyZSBzdWJzdGl0dXRpb25zIGZy
607
+ b20gdGhlIGlucHV0IGRhdGE6IHR5cGljYWxseVxudGhlIG5hbWUgb2YgdGhl
608
+ IG9iamVjdCBiZWluZyBtb2RpZmllZCwgb3Igc29tZSBvdGhlciBjcml0aWNh
609
+ bCBkZXRhaWwsIHRoZXNlXG5hbGxvdyByb2xlcyB0byBiZSBncmFudGVkIHBh
610
+ cnRpYWwgYWNjZXNzIHRvIG1vZGlmeSB0aGUgc3lzdGVtLlxuXG5Gb3IgbW9y
611
+ ZSBkZXRhaWwgb24gaG93IHRoZSBwZXJtaXNzaW9uIHN0cmluZ3MgYXJlIHN0
612
+ cnVjdHVyZWQgYW5kIHdvcmssIHlvdSBjYW5cbnNlZSB0aGUgW1NoaXJvIFBl
613
+ cm1pc3Npb25zIGRvY3VtZW50YXRpb25dW3NoaXJvXS4gIFRoYXQgcGF0dGVy
614
+ biBpcyBleHBhbmRlZFxuYW5kIHRoZW4gYSBwZXJtaXNzaW9uIGNoZWNrIGFw
615
+ cGxpZWQgdG8gaXQsIGJlZm9yZSB0aGUgY29tbWFuZCBpcyBhdXRob3JpemVk
616
+ LlxuXG5UaGVzZSBjaGVja3Mgb25seSBhcHBseSBpZiBzZWN1cml0eSBpcyBl
617
+ bmFibGVkIGluIHRoZSBSYXpvciBjb25maWd1cmF0aW9uXG5maWxlOyBvbiB0
618
+ aGlzIHNlcnZlciBzZWN1cml0eSBpcyBjdXJyZW50bHkgZGlzYWJsZWQuXG5c
619
+ bltzaGlyb106IGh0dHA6Ly9zaGlyby5hcGFjaGUub3JnL3Blcm1pc3Npb25z
620
+ Lmh0bWxcblxuIyBBdHRyaWJ1dGVzXG5cbiAqIG5hbWVcbiAgIC0gVGhlIG5h
621
+ bWUgb2YgdGhlIHRhZy5cbiAgIC0gVGhpcyBhdHRyaWJ1dGUgaXMgcmVxdWly
622
+ ZWQuXG4gICAtIEl0IG11c3QgYmUgb2YgdHlwZSBzdHJpbmcuXG4gICAtIEl0
623
+ IG11c3QgYmUgYmV0d2VlbiAxIGFuZCBJbmZpbml0eSBpbiBsZW5ndGguXG4g
624
+ ICAtIEl0cyBhcmd1bWVudCBwb3NpdGlvbiBpcyAwLlxuXG4gKiBydWxlXG4g
625
+ ICAtIFRoZSB0YWcgbWF0Y2hlcyBhIG5vZGUgaWYgZXZhbHVhdGluZyB0aGlz
626
+ IHJ1biBhZ2FpbnN0IHRoZSB0YWfigJlzIGZhY3RzXG4gICAgIHJlc3VsdHMg
627
+ aW4gdHJ1ZS4gTm90ZSB0aGF0IHRhZyBtYXRjaGluZyBpcyBjYXNlIHNlbnNp
628
+ dGl2ZS5cbiAgICAgXG4gICAgIEZvciBleGFtcGxlLCBoZXJlIGlzIGEgdGFn
629
+ IHJ1bGU6XG4gICAgIFxuICAgICAgICAgW1wib3JcIixcbiAgICAgICAgICBb
630
+ XCI9XCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBcImRlOmVhOmRi
631
+ OmVlOmYwOjAwXCJdXG4gICAgICAgICAgW1wiPVwiLCBbXCJmYWN0XCIsIFwi
632
+ bWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMVwiXV1cbiAgICAg
633
+ XG4gICAgIFRoZSB0YWcgY291bGQgYWxzbyBiZSB3cml0dGVuIGxpa2UgdGhp
634
+ czpcbiAgICAgXG4gICAgICAgICBbXCJpblwiLCBbXCJmYWN0XCIsIFwibWFj
635
+ YWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMFwiLCBcImRlOmVhOmRi
636
+ OmVlOmYwOjAxXCJdXG4gICAgIFxuICAgICBUaGUgc3ludGF4IGZvciBydWxl
637
+ IGV4cHJlc3Npb25zIGlzIGRlZmluZWQgaW4gYGxpYi9yYXpvci9tYXRjaGVy
638
+ LnJiYC5cbiAgICAgRXhwcmVzc2lvbnMgYXJlIG9mIHRoZSBmb3JtIGBbb3Ag
639
+ YXJnMSBhcmcyIC4uIGFyZ25dYFxuICAgICB3aGVyZSBvcCBpcyBvbmUgb2Yg
640
+ dGhlIG9wZXJhdG9ycyBiZWxvdywgYW5kIGFyZzEgdGhyb3VnaCBhcmduIGFy
641
+ ZSB0aGVcbiAgICAgYXJndW1lbnRzIGZvciB0aGUgb3BlcmF0b3IuIElmIHRo
642
+ ZXkgYXJlIGV4cHJlc3Npb25zIHRoZW1zZWx2ZXMsIHRoZXkgd2lsbFxuICAg
643
+ ICBiZSBldmFsdWF0ZWQgYmVmb3JlIGBvcGAgaXMgZXZhbHVhdGVkLlxuICAg
644
+ LSBUaGlzIGF0dHJpYnV0ZSBpcyByZXF1aXJlZC5cbiAgIC0gSXQgbXVzdCBi
645
+ ZSBvZiB0eXBlIGFycmF5LlxuICAgLSBJdHMgYXJndW1lbnQgcG9zaXRpb24g
646
+ aXMgMS5cblxuIyBFWEFNUExFU1xuXG4gIENyZWF0ZSBhIHNpbXBsZSB0YWc6
647
+ XG4gIFxuICB7XG4gICAgXCJuYW1lXCI6IFwic21hbGxcIixcbiAgICBcInJ1
648
+ bGVcIjogW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vzc29yY291bnRcIl0s
649
+ IFwiMlwiXVxuICB9XG4ifSwic2NoZW1hIjp7Im5hbWUiOnsidHlwZSI6InN0
650
+ cmluZyIsInBvc2l0aW9uIjowfSwicnVsZSI6eyJ0eXBlIjoiYXJyYXkiLCJw
651
+ b3NpdGlvbiI6MX19fQ==
598
652
  http_version:
599
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
653
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
600
654
  - request:
601
655
  method: post
602
656
  uri: http://localhost:8150/api/commands/create-tag
@@ -608,12 +662,16 @@ http_interactions:
608
662
  - application/json
609
663
  Accept-Encoding:
610
664
  - gzip, deflate
665
+ User-Agent:
666
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
611
667
  Content-Type:
612
668
  - application/json
669
+ Accept-Language:
670
+ - en_US,en
613
671
  Content-Length:
614
672
  - '58'
615
- User-Agent:
616
- - Ruby
673
+ Host:
674
+ - localhost:8150
617
675
  response:
618
676
  status:
619
677
  code: 202
@@ -624,16 +682,16 @@ http_interactions:
624
682
  X-Content-Type-Options:
625
683
  - nosniff
626
684
  Content-Type:
627
- - application/json;charset=utf-8
685
+ - application/json
628
686
  Content-Length:
629
687
  - '199'
630
688
  Date:
631
- - Mon, 09 Mar 2015 19:53:20 GMT
689
+ - Mon, 23 Apr 2018 19:46:27 GMT
632
690
  body:
633
- encoding: US-ASCII
691
+ encoding: UTF-8
634
692
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:8150/api/collections/tags/tag1","name":"tag1","command":"http://localhost:8150/api/collections/commands/3"}'
635
693
  http_version:
636
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
694
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
637
695
  - request:
638
696
  method: get
639
697
  uri: http://localhost:8150/api/collections/tags/tag1
@@ -646,7 +704,11 @@ http_interactions:
646
704
  Accept-Encoding:
647
705
  - gzip, deflate
648
706
  User-Agent:
649
- - Ruby
707
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
708
+ Accept-Language:
709
+ - en_US,en
710
+ Host:
711
+ - localhost:8150
650
712
  response:
651
713
  status:
652
714
  code: 200
@@ -657,16 +719,16 @@ http_interactions:
657
719
  X-Content-Type-Options:
658
720
  - nosniff
659
721
  Content-Type:
660
- - application/json;charset=utf-8
722
+ - application/json
661
723
  Content-Length:
662
724
  - '382'
663
725
  Date:
664
- - Mon, 09 Mar 2015 19:53:20 GMT
726
+ - Mon, 23 Apr 2018 19:46:27 GMT
665
727
  body:
666
- encoding: US-ASCII
728
+ encoding: UTF-8
667
729
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:8150/api/collections/tags/tag1","name":"tag1","rule":["=",["fact","processorcount"],"1"],"nodes":{"id":"http://localhost:8150/api/collections/tags/tag1/nodes","count":0,"name":"nodes"},"policies":{"id":"http://localhost:8150/api/collections/tags/tag1/policies","count":0,"name":"policies"}}'
668
730
  http_version:
669
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
731
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
670
732
  - request:
671
733
  method: get
672
734
  uri: http://localhost:8150/api
@@ -679,7 +741,11 @@ http_interactions:
679
741
  Accept-Encoding:
680
742
  - gzip, deflate
681
743
  User-Agent:
682
- - Ruby
744
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
745
+ Accept-Language:
746
+ - en_US,en
747
+ Host:
748
+ - localhost:8150
683
749
  response:
684
750
  status:
685
751
  code: 200
@@ -690,16 +756,16 @@ http_interactions:
690
756
  X-Content-Type-Options:
691
757
  - nosniff
692
758
  Content-Type:
693
- - application/json;charset=utf-8
759
+ - application/json
694
760
  Content-Length:
695
- - '5650'
761
+ - '7110'
696
762
  Date:
697
- - Mon, 09 Mar 2015 19:53:20 GMT
763
+ - Mon, 23 Apr 2018 19:46:27 GMT
698
764
  body:
699
- encoding: US-ASCII
700
- 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"}}'
765
+ encoding: UTF-8
766
+ 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":"run-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/run-hook","id":"http://localhost:8150/api/commands/run-hook"},{"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-broker-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-broker-configuration","id":"http://localhost:8150/api/commands/update-broker-configuration"},{"name":"update-hook-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-hook-configuration","id":"http://localhost:8150/api/commands/update-hook-configuration"},{"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-policy-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-broker","id":"http://localhost:8150/api/commands/update-policy-broker"},{"name":"update-policy-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-node-metadata","id":"http://localhost:8150/api/commands/update-policy-node-metadata"},{"name":"update-policy-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-repo","id":"http://localhost:8150/api/commands/update-policy-repo"},{"name":"update-policy-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-task","id":"http://localhost:8150/api/commands/update-policy-task"},{"name":"update-repo-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-repo-task","id":"http://localhost:8150/api/commands/update-repo-task"},{"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"},{"name":"config","rel":"http://api.puppetlabs.com/razor/v1/collections/config","id":"http://localhost:8150/api/collections/config"}],"version":{"server":"v1.8.0-dirty"}}'
701
767
  http_version:
702
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
768
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
703
769
  - request:
704
770
  method: get
705
771
  uri: http://localhost:8150/api/commands/create-tag
@@ -712,7 +778,11 @@ http_interactions:
712
778
  Accept-Encoding:
713
779
  - gzip, deflate
714
780
  User-Agent:
715
- - Ruby
781
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
782
+ Accept-Language:
783
+ - en_US,en
784
+ Host:
785
+ - localhost:8150
716
786
  response:
717
787
  status:
718
788
  code: 200
@@ -721,15 +791,15 @@ http_interactions:
721
791
  Server:
722
792
  - Apache-Coyote/1.1
723
793
  Etag:
724
- - '"server-version-v0.16.1-18-gd3acc7a-dirty"'
794
+ - '"server-version-v1.8.0-dirty"'
725
795
  X-Content-Type-Options:
726
796
  - nosniff
727
797
  Content-Type:
728
- - application/json;charset=utf-8
798
+ - application/json
729
799
  Content-Length:
730
- - '4439'
800
+ - '4738'
731
801
  Date:
732
- - Mon, 09 Mar 2015 19:53:20 GMT
802
+ - Mon, 23 Apr 2018 19:46:27 GMT
733
803
  body:
734
804
  encoding: ASCII-8BIT
735
805
  string: !binary |-
@@ -756,84 +826,91 @@ http_interactions:
756
826
  XG5cbiMgQXR0cmlidXRlc1xuXG4gKiBuYW1lXG4gICAtIFRoZSBuYW1lIG9m
757
827
  IHRoZSB0YWcuXG4gICAtIFRoaXMgYXR0cmlidXRlIGlzIHJlcXVpcmVkLlxu
758
828
  ICAgLSBJdCBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nLlxuICAgLSBJdCBtdXN0
759
- IGJlIGJldHdlZW4gMSBhbmQgSW5maW5pdHkgaW4gbGVuZ3RoLlxuXG4gKiBy
760
- dWxlXG4gICAtIFRoZSB0YWcgbWF0Y2hlcyBhIG5vZGUgaWYgZXZhbHVhdGlu
761
- ZyB0aGlzIHJ1biBhZ2FpbnN0IHRoZSB0YWfigJlzIGZhY3RzXG4gICAgIHJl
762
- c3VsdHMgaW4gdHJ1ZS4gTm90ZSB0aGF0IHRhZyBtYXRjaGluZyBpcyBjYXNl
763
- IHNlbnNpdGl2ZS5cbiAgICAgXG4gICAgIEZvciBleGFtcGxlLCBoZXJlIGlz
764
- IGEgdGFnIHJ1bGU6XG4gICAgIFxuICAgICAgICAgW1wib3JcIixcbiAgICAg
765
- ICAgICBbXCI9XCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBcImRl
766
- OmVhOmRiOmVlOmYwOjAwXCJdXG4gICAgICAgICAgW1wiPVwiLCBbXCJmYWN0
767
- XCIsIFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMVwiXV1c
768
- biAgICAgXG4gICAgIFRoZSB0YWcgY291bGQgYWxzbyBiZSB3cml0dGVuIGxp
769
- a2UgdGhpczpcbiAgICAgXG4gICAgICAgICBbXCJpblwiLCBbXCJmYWN0XCIs
770
- IFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMFwiLCBcImRl
771
- OmVhOmRiOmVlOmYwOjAxXCJdXG4gICAgIFxuICAgICBUaGUgc3ludGF4IGZv
772
- ciBydWxlIGV4cHJlc3Npb25zIGlzIGRlZmluZWQgaW4gYGxpYi9yYXpvci9t
773
- YXRjaGVyLnJiYC5cbiAgICAgRXhwcmVzc2lvbnMgYXJlIG9mIHRoZSBmb3Jt
774
- IGBbb3AgYXJnMSBhcmcyIC4uIGFyZ25dYFxuICAgICB3aGVyZSBvcCBpcyBv
775
- bmUgb2YgdGhlIG9wZXJhdG9ycyBiZWxvdywgYW5kIGFyZzEgdGhyb3VnaCBh
776
- cmduIGFyZSB0aGVcbiAgICAgYXJndW1lbnRzIGZvciB0aGUgb3BlcmF0b3Iu
777
- IElmIHRoZXkgYXJlIGV4cHJlc3Npb25zIHRoZW1zZWx2ZXMsIHRoZXkgd2ls
778
- bFxuICAgICBiZSBldmFsdWF0ZWQgYmVmb3JlIGBvcGAgaXMgZXZhbHVhdGVk
779
- LlxuICAgLSBUaGlzIGF0dHJpYnV0ZSBpcyByZXF1aXJlZC5cbiAgIC0gSXQg
780
- bXVzdCBiZSBvZiB0eXBlIGFycmF5LlxuIiwiZXhhbXBsZXMiOnsiYXBpIjoi
781
- Q3JlYXRlIGEgc2ltcGxlIHRhZzpcblxue1xuICBcIm5hbWVcIjogXCJzbWFs
782
- bFwiLFxuICBcInJ1bGVcIjogW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vz
783
- c29yY291bnRcIl0sIFwiMlwiXVxufSIsImNsaSI6IkNyZWF0ZSBhIHNpbXBs
784
- ZSB0YWc6XG5cbnJhem9yIGNyZWF0ZS10YWcgLS1uYW1lIHNtYWxsIC0tcnVs
785
- ZSAnW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vzc29yY291bnRcIl0sIFwi
786
- MlwiXScifSwiZnVsbCI6IiMgU1lOT1BTSVNcbkNyZWF0ZSBhIG5ldyB0YWdc
787
- blxuIyBERVNDUklQVElPTlxuQ3JlYXRlIGEgbmV3IHRhZywgYW5kIHNldCB0
788
- aGUgcnVsZSBpdCB3aWxsIHVzZSB0byBtYXRjaCBvbiBmYWN0cyBhbmQgbm9k
789
- ZVxubWV0YWRhdGEuXG4jIEFjY2VzcyBDb250cm9sXG5cblRoaXMgY29tbWFu
790
- ZCdzIGFjY2VzcyBjb250cm9sIHBhdHRlcm46IGBjb21tYW5kczpjcmVhdGUt
791
- dGFnOiV7bmFtZX1gXG5cbldvcmRzIHN1cnJvdW5kZWQgYnkgYCV7Li4ufWAg
792
- YXJlIHN1YnN0aXR1dGlvbnMgZnJvbSB0aGUgaW5wdXQgZGF0YTogdHlwaWNh
793
- bGx5XG50aGUgbmFtZSBvZiB0aGUgb2JqZWN0IGJlaW5nIG1vZGlmaWVkLCBv
794
- ciBzb21lIG90aGVyIGNyaXRpY2FsIGRldGFpbCwgdGhlc2VcbmFsbG93IHJv
795
- bGVzIHRvIGJlIGdyYW50ZWQgcGFydGlhbCBhY2Nlc3MgdG8gbW9kaWZ5IHRo
796
- ZSBzeXN0ZW0uXG5cbkZvciBtb3JlIGRldGFpbCBvbiBob3cgdGhlIHBlcm1p
797
- c3Npb24gc3RyaW5ncyBhcmUgc3RydWN0dXJlZCBhbmQgd29yaywgeW91IGNh
798
- blxuc2VlIHRoZSBbU2hpcm8gUGVybWlzc2lvbnMgZG9jdW1lbnRhdGlvbl1b
799
- c2hpcm9dLiAgVGhhdCBwYXR0ZXJuIGlzIGV4cGFuZGVkXG5hbmQgdGhlbiBh
800
- IHBlcm1pc3Npb24gY2hlY2sgYXBwbGllZCB0byBpdCwgYmVmb3JlIHRoZSBj
801
- b21tYW5kIGlzIGF1dGhvcml6ZWQuXG5cblRoZXNlIGNoZWNrcyBvbmx5IGFw
802
- cGx5IGlmIHNlY3VyaXR5IGlzIGVuYWJsZWQgaW4gdGhlIFJhem9yIGNvbmZp
803
- Z3VyYXRpb25cbmZpbGU7IG9uIHRoaXMgc2VydmVyIHNlY3VyaXR5IGlzIGN1
804
- cnJlbnRseSBkaXNhYmxlZC5cblxuW3NoaXJvXTogaHR0cDovL3NoaXJvLmFw
805
- YWNoZS5vcmcvcGVybWlzc2lvbnMuaHRtbFxuXG4jIEF0dHJpYnV0ZXNcblxu
806
- ICogbmFtZVxuICAgLSBUaGUgbmFtZSBvZiB0aGUgdGFnLlxuICAgLSBUaGlz
807
- IGF0dHJpYnV0ZSBpcyByZXF1aXJlZC5cbiAgIC0gSXQgbXVzdCBiZSBvZiB0
808
- eXBlIHN0cmluZy5cbiAgIC0gSXQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIElu
809
- ZmluaXR5IGluIGxlbmd0aC5cblxuICogcnVsZVxuICAgLSBUaGUgdGFnIG1h
810
- dGNoZXMgYSBub2RlIGlmIGV2YWx1YXRpbmcgdGhpcyBydW4gYWdhaW5zdCB0
811
- aGUgdGFn4oCZcyBmYWN0c1xuICAgICByZXN1bHRzIGluIHRydWUuIE5vdGUg
812
- dGhhdCB0YWcgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUuXG4gICAgIFxu
813
- ICAgICBGb3IgZXhhbXBsZSwgaGVyZSBpcyBhIHRhZyBydWxlOlxuICAgICBc
814
- biAgICAgICAgIFtcIm9yXCIsXG4gICAgICAgICAgW1wiPVwiLCBbXCJmYWN0
815
- XCIsIFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMFwiXVxu
816
- ICAgICAgICAgIFtcIj1cIiwgW1wiZmFjdFwiLCBcIm1hY2FkZHJlc3NcIl0s
817
- IFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1dXG4gICAgIFxuICAgICBUaGUgdGFn
818
- IGNvdWxkIGFsc28gYmUgd3JpdHRlbiBsaWtlIHRoaXM6XG4gICAgIFxuICAg
819
- ICAgICAgW1wiaW5cIiwgW1wiZmFjdFwiLCBcIm1hY2FkZHJlc3NcIl0sIFwi
820
- ZGU6ZWE6ZGI6ZWU6ZjA6MDBcIiwgXCJkZTplYTpkYjplZTpmMDowMVwiXVxu
821
- ICAgICBcbiAgICAgVGhlIHN5bnRheCBmb3IgcnVsZSBleHByZXNzaW9ucyBp
822
- cyBkZWZpbmVkIGluIGBsaWIvcmF6b3IvbWF0Y2hlci5yYmAuXG4gICAgIEV4
823
- cHJlc3Npb25zIGFyZSBvZiB0aGUgZm9ybSBgW29wIGFyZzEgYXJnMiAuLiBh
824
- cmduXWBcbiAgICAgd2hlcmUgb3AgaXMgb25lIG9mIHRoZSBvcGVyYXRvcnMg
825
- YmVsb3csIGFuZCBhcmcxIHRocm91Z2ggYXJnbiBhcmUgdGhlXG4gICAgIGFy
826
- Z3VtZW50cyBmb3IgdGhlIG9wZXJhdG9yLiBJZiB0aGV5IGFyZSBleHByZXNz
827
- aW9ucyB0aGVtc2VsdmVzLCB0aGV5IHdpbGxcbiAgICAgYmUgZXZhbHVhdGVk
828
- IGJlZm9yZSBgb3BgIGlzIGV2YWx1YXRlZC5cbiAgIC0gVGhpcyBhdHRyaWJ1
829
- dGUgaXMgcmVxdWlyZWQuXG4gICAtIEl0IG11c3QgYmUgb2YgdHlwZSBhcnJh
830
- eS5cblxuIyBFWEFNUExFU1xuXG4gIENyZWF0ZSBhIHNpbXBsZSB0YWc6XG4g
831
- IFxuICB7XG4gICAgXCJuYW1lXCI6IFwic21hbGxcIixcbiAgICBcInJ1bGVc
832
- IjogW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vzc29yY291bnRcIl0sIFwi
833
- MlwiXVxuICB9XG4ifSwic2NoZW1hIjp7Im5hbWUiOnsidHlwZSI6InN0cmlu
834
- ZyJ9LCJydWxlIjp7InR5cGUiOiJhcnJheSJ9fX0=
829
+ IGJlIGJldHdlZW4gMSBhbmQgSW5maW5pdHkgaW4gbGVuZ3RoLlxuICAgLSBJ
830
+ dHMgYXJndW1lbnQgcG9zaXRpb24gaXMgMC5cblxuICogcnVsZVxuICAgLSBU
831
+ aGUgdGFnIG1hdGNoZXMgYSBub2RlIGlmIGV2YWx1YXRpbmcgdGhpcyBydW4g
832
+ YWdhaW5zdCB0aGUgdGFn4oCZcyBmYWN0c1xuICAgICByZXN1bHRzIGluIHRy
833
+ dWUuIE5vdGUgdGhhdCB0YWcgbWF0Y2hpbmcgaXMgY2FzZSBzZW5zaXRpdmUu
834
+ XG4gICAgIFxuICAgICBGb3IgZXhhbXBsZSwgaGVyZSBpcyBhIHRhZyBydWxl
835
+ OlxuICAgICBcbiAgICAgICAgIFtcIm9yXCIsXG4gICAgICAgICAgW1wiPVwi
836
+ LCBbXCJmYWN0XCIsIFwibWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpm
837
+ MDowMFwiXVxuICAgICAgICAgIFtcIj1cIiwgW1wiZmFjdFwiLCBcIm1hY2Fk
838
+ ZHJlc3NcIl0sIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1dXG4gICAgIFxuICAg
839
+ ICBUaGUgdGFnIGNvdWxkIGFsc28gYmUgd3JpdHRlbiBsaWtlIHRoaXM6XG4g
840
+ ICAgIFxuICAgICAgICAgW1wiaW5cIiwgW1wiZmFjdFwiLCBcIm1hY2FkZHJl
841
+ c3NcIl0sIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDBcIiwgXCJkZTplYTpkYjplZTpm
842
+ MDowMVwiXVxuICAgICBcbiAgICAgVGhlIHN5bnRheCBmb3IgcnVsZSBleHBy
843
+ ZXNzaW9ucyBpcyBkZWZpbmVkIGluIGBsaWIvcmF6b3IvbWF0Y2hlci5yYmAu
844
+ XG4gICAgIEV4cHJlc3Npb25zIGFyZSBvZiB0aGUgZm9ybSBgW29wIGFyZzEg
845
+ YXJnMiAuLiBhcmduXWBcbiAgICAgd2hlcmUgb3AgaXMgb25lIG9mIHRoZSBv
846
+ cGVyYXRvcnMgYmVsb3csIGFuZCBhcmcxIHRocm91Z2ggYXJnbiBhcmUgdGhl
847
+ XG4gICAgIGFyZ3VtZW50cyBmb3IgdGhlIG9wZXJhdG9yLiBJZiB0aGV5IGFy
848
+ ZSBleHByZXNzaW9ucyB0aGVtc2VsdmVzLCB0aGV5IHdpbGxcbiAgICAgYmUg
849
+ ZXZhbHVhdGVkIGJlZm9yZSBgb3BgIGlzIGV2YWx1YXRlZC5cbiAgIC0gVGhp
850
+ cyBhdHRyaWJ1dGUgaXMgcmVxdWlyZWQuXG4gICAtIEl0IG11c3QgYmUgb2Yg
851
+ dHlwZSBhcnJheS5cbiAgIC0gSXRzIGFyZ3VtZW50IHBvc2l0aW9uIGlzIDEu
852
+ XG4iLCJleGFtcGxlcyI6eyJhcGkiOiJDcmVhdGUgYSBzaW1wbGUgdGFnOlxu
853
+ XG57XG4gIFwibmFtZVwiOiBcInNtYWxsXCIsXG4gIFwicnVsZVwiOiBbXCI9
854
+ XCIsIFtcImZhY3RcIiwgXCJwcm9jZXNzb3Jjb3VudFwiXSwgXCIyXCJdXG59
855
+ IiwiY2xpIjoiQ3JlYXRlIGEgc2ltcGxlIHRhZzpcblxuICAgIHJhem9yIGNy
856
+ ZWF0ZS10YWcgLS1uYW1lIHNtYWxsIC0tcnVsZSAnW1wiPVwiLCBbXCJmYWN0
857
+ XCIsIFwicHJvY2Vzc29yY291bnRcIl0sIFwiMlwiXSdcblxuV2l0aCBwb3Np
858
+ dGlvbmFsIGFyZ3VtZW50cywgdGhpcyBjYW4gYmUgc2hvcnRlbmVkOjpcblxu
859
+ ICAgIHJhem9yIGNyZWF0ZS10YWcgc21hbGwgJ1tcIj1cIiwgW1wiZmFjdFwi
860
+ LCBcInByb2Nlc3NvcmNvdW50XCJdLCBcIjJcIl0nIn0sImZ1bGwiOiIjIFNZ
861
+ Tk9QU0lTXG5DcmVhdGUgYSBuZXcgdGFnXG5cbiMgREVTQ1JJUFRJT05cbkNy
862
+ ZWF0ZSBhIG5ldyB0YWcsIGFuZCBzZXQgdGhlIHJ1bGUgaXQgd2lsbCB1c2Ug
863
+ dG8gbWF0Y2ggb24gZmFjdHMgYW5kIG5vZGVcbm1ldGFkYXRhLlxuIyBBY2Nl
864
+ c3MgQ29udHJvbFxuXG5UaGlzIGNvbW1hbmQncyBhY2Nlc3MgY29udHJvbCBw
865
+ YXR0ZXJuOiBgY29tbWFuZHM6Y3JlYXRlLXRhZzole25hbWV9YFxuXG5Xb3Jk
866
+ cyBzdXJyb3VuZGVkIGJ5IGAley4uLn1gIGFyZSBzdWJzdGl0dXRpb25zIGZy
867
+ b20gdGhlIGlucHV0IGRhdGE6IHR5cGljYWxseVxudGhlIG5hbWUgb2YgdGhl
868
+ IG9iamVjdCBiZWluZyBtb2RpZmllZCwgb3Igc29tZSBvdGhlciBjcml0aWNh
869
+ bCBkZXRhaWwsIHRoZXNlXG5hbGxvdyByb2xlcyB0byBiZSBncmFudGVkIHBh
870
+ cnRpYWwgYWNjZXNzIHRvIG1vZGlmeSB0aGUgc3lzdGVtLlxuXG5Gb3IgbW9y
871
+ ZSBkZXRhaWwgb24gaG93IHRoZSBwZXJtaXNzaW9uIHN0cmluZ3MgYXJlIHN0
872
+ cnVjdHVyZWQgYW5kIHdvcmssIHlvdSBjYW5cbnNlZSB0aGUgW1NoaXJvIFBl
873
+ cm1pc3Npb25zIGRvY3VtZW50YXRpb25dW3NoaXJvXS4gIFRoYXQgcGF0dGVy
874
+ biBpcyBleHBhbmRlZFxuYW5kIHRoZW4gYSBwZXJtaXNzaW9uIGNoZWNrIGFw
875
+ cGxpZWQgdG8gaXQsIGJlZm9yZSB0aGUgY29tbWFuZCBpcyBhdXRob3JpemVk
876
+ LlxuXG5UaGVzZSBjaGVja3Mgb25seSBhcHBseSBpZiBzZWN1cml0eSBpcyBl
877
+ bmFibGVkIGluIHRoZSBSYXpvciBjb25maWd1cmF0aW9uXG5maWxlOyBvbiB0
878
+ aGlzIHNlcnZlciBzZWN1cml0eSBpcyBjdXJyZW50bHkgZGlzYWJsZWQuXG5c
879
+ bltzaGlyb106IGh0dHA6Ly9zaGlyby5hcGFjaGUub3JnL3Blcm1pc3Npb25z
880
+ Lmh0bWxcblxuIyBBdHRyaWJ1dGVzXG5cbiAqIG5hbWVcbiAgIC0gVGhlIG5h
881
+ bWUgb2YgdGhlIHRhZy5cbiAgIC0gVGhpcyBhdHRyaWJ1dGUgaXMgcmVxdWly
882
+ ZWQuXG4gICAtIEl0IG11c3QgYmUgb2YgdHlwZSBzdHJpbmcuXG4gICAtIEl0
883
+ IG11c3QgYmUgYmV0d2VlbiAxIGFuZCBJbmZpbml0eSBpbiBsZW5ndGguXG4g
884
+ ICAtIEl0cyBhcmd1bWVudCBwb3NpdGlvbiBpcyAwLlxuXG4gKiBydWxlXG4g
885
+ ICAtIFRoZSB0YWcgbWF0Y2hlcyBhIG5vZGUgaWYgZXZhbHVhdGluZyB0aGlz
886
+ IHJ1biBhZ2FpbnN0IHRoZSB0YWfigJlzIGZhY3RzXG4gICAgIHJlc3VsdHMg
887
+ aW4gdHJ1ZS4gTm90ZSB0aGF0IHRhZyBtYXRjaGluZyBpcyBjYXNlIHNlbnNp
888
+ dGl2ZS5cbiAgICAgXG4gICAgIEZvciBleGFtcGxlLCBoZXJlIGlzIGEgdGFn
889
+ IHJ1bGU6XG4gICAgIFxuICAgICAgICAgW1wib3JcIixcbiAgICAgICAgICBb
890
+ XCI9XCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBcImRlOmVhOmRi
891
+ OmVlOmYwOjAwXCJdXG4gICAgICAgICAgW1wiPVwiLCBbXCJmYWN0XCIsIFwi
892
+ bWFjYWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMVwiXV1cbiAgICAg
893
+ XG4gICAgIFRoZSB0YWcgY291bGQgYWxzbyBiZSB3cml0dGVuIGxpa2UgdGhp
894
+ czpcbiAgICAgXG4gICAgICAgICBbXCJpblwiLCBbXCJmYWN0XCIsIFwibWFj
895
+ YWRkcmVzc1wiXSwgXCJkZTplYTpkYjplZTpmMDowMFwiLCBcImRlOmVhOmRi
896
+ OmVlOmYwOjAxXCJdXG4gICAgIFxuICAgICBUaGUgc3ludGF4IGZvciBydWxl
897
+ IGV4cHJlc3Npb25zIGlzIGRlZmluZWQgaW4gYGxpYi9yYXpvci9tYXRjaGVy
898
+ LnJiYC5cbiAgICAgRXhwcmVzc2lvbnMgYXJlIG9mIHRoZSBmb3JtIGBbb3Ag
899
+ YXJnMSBhcmcyIC4uIGFyZ25dYFxuICAgICB3aGVyZSBvcCBpcyBvbmUgb2Yg
900
+ dGhlIG9wZXJhdG9ycyBiZWxvdywgYW5kIGFyZzEgdGhyb3VnaCBhcmduIGFy
901
+ ZSB0aGVcbiAgICAgYXJndW1lbnRzIGZvciB0aGUgb3BlcmF0b3IuIElmIHRo
902
+ ZXkgYXJlIGV4cHJlc3Npb25zIHRoZW1zZWx2ZXMsIHRoZXkgd2lsbFxuICAg
903
+ ICBiZSBldmFsdWF0ZWQgYmVmb3JlIGBvcGAgaXMgZXZhbHVhdGVkLlxuICAg
904
+ LSBUaGlzIGF0dHJpYnV0ZSBpcyByZXF1aXJlZC5cbiAgIC0gSXQgbXVzdCBi
905
+ ZSBvZiB0eXBlIGFycmF5LlxuICAgLSBJdHMgYXJndW1lbnQgcG9zaXRpb24g
906
+ aXMgMS5cblxuIyBFWEFNUExFU1xuXG4gIENyZWF0ZSBhIHNpbXBsZSB0YWc6
907
+ XG4gIFxuICB7XG4gICAgXCJuYW1lXCI6IFwic21hbGxcIixcbiAgICBcInJ1
908
+ bGVcIjogW1wiPVwiLCBbXCJmYWN0XCIsIFwicHJvY2Vzc29yY291bnRcIl0s
909
+ IFwiMlwiXVxuICB9XG4ifSwic2NoZW1hIjp7Im5hbWUiOnsidHlwZSI6InN0
910
+ cmluZyIsInBvc2l0aW9uIjowfSwicnVsZSI6eyJ0eXBlIjoiYXJyYXkiLCJw
911
+ b3NpdGlvbiI6MX19fQ==
835
912
  http_version:
836
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
913
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
837
914
  - request:
838
915
  method: post
839
916
  uri: http://localhost:8150/api/commands/create-tag
@@ -845,12 +922,16 @@ http_interactions:
845
922
  - application/json
846
923
  Accept-Encoding:
847
924
  - gzip, deflate
925
+ User-Agent:
926
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
848
927
  Content-Type:
849
928
  - application/json
929
+ Accept-Language:
930
+ - en_US,en
850
931
  Content-Length:
851
932
  - '58'
852
- User-Agent:
853
- - Ruby
933
+ Host:
934
+ - localhost:8150
854
935
  response:
855
936
  status:
856
937
  code: 202
@@ -861,16 +942,16 @@ http_interactions:
861
942
  X-Content-Type-Options:
862
943
  - nosniff
863
944
  Content-Type:
864
- - application/json;charset=utf-8
945
+ - application/json
865
946
  Content-Length:
866
947
  - '199'
867
948
  Date:
868
- - Mon, 09 Mar 2015 19:53:20 GMT
949
+ - Mon, 23 Apr 2018 19:46:28 GMT
869
950
  body:
870
- encoding: US-ASCII
951
+ encoding: UTF-8
871
952
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:8150/api/collections/tags/tag2","name":"tag2","command":"http://localhost:8150/api/collections/commands/4"}'
872
953
  http_version:
873
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
954
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
874
955
  - request:
875
956
  method: get
876
957
  uri: http://localhost:8150/api/collections/tags/tag2
@@ -883,7 +964,11 @@ http_interactions:
883
964
  Accept-Encoding:
884
965
  - gzip, deflate
885
966
  User-Agent:
886
- - Ruby
967
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
968
+ Accept-Language:
969
+ - en_US,en
970
+ Host:
971
+ - localhost:8150
887
972
  response:
888
973
  status:
889
974
  code: 200
@@ -894,16 +979,16 @@ http_interactions:
894
979
  X-Content-Type-Options:
895
980
  - nosniff
896
981
  Content-Type:
897
- - application/json;charset=utf-8
982
+ - application/json
898
983
  Content-Length:
899
984
  - '382'
900
985
  Date:
901
- - Mon, 09 Mar 2015 19:53:20 GMT
986
+ - Mon, 23 Apr 2018 19:46:28 GMT
902
987
  body:
903
- encoding: US-ASCII
988
+ encoding: UTF-8
904
989
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:8150/api/collections/tags/tag2","name":"tag2","rule":["=",["fact","processorcount"],"2"],"nodes":{"id":"http://localhost:8150/api/collections/tags/tag2/nodes","count":0,"name":"nodes"},"policies":{"id":"http://localhost:8150/api/collections/tags/tag2/policies","count":0,"name":"policies"}}'
905
990
  http_version:
906
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
991
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
907
992
  - request:
908
993
  method: get
909
994
  uri: http://localhost:8150/api
@@ -916,7 +1001,11 @@ http_interactions:
916
1001
  Accept-Encoding:
917
1002
  - gzip, deflate
918
1003
  User-Agent:
919
- - Ruby
1004
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
1005
+ Accept-Language:
1006
+ - en_US,en
1007
+ Host:
1008
+ - localhost:8150
920
1009
  response:
921
1010
  status:
922
1011
  code: 200
@@ -927,16 +1016,16 @@ http_interactions:
927
1016
  X-Content-Type-Options:
928
1017
  - nosniff
929
1018
  Content-Type:
930
- - application/json;charset=utf-8
1019
+ - application/json
931
1020
  Content-Length:
932
- - '5650'
1021
+ - '7110'
933
1022
  Date:
934
- - Mon, 09 Mar 2015 19:53:20 GMT
1023
+ - Mon, 23 Apr 2018 19:46:28 GMT
935
1024
  body:
936
- encoding: US-ASCII
937
- 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"}}'
1025
+ encoding: UTF-8
1026
+ 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":"run-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/run-hook","id":"http://localhost:8150/api/commands/run-hook"},{"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-broker-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-broker-configuration","id":"http://localhost:8150/api/commands/update-broker-configuration"},{"name":"update-hook-configuration","rel":"http://api.puppetlabs.com/razor/v1/commands/update-hook-configuration","id":"http://localhost:8150/api/commands/update-hook-configuration"},{"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-policy-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-broker","id":"http://localhost:8150/api/commands/update-policy-broker"},{"name":"update-policy-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-node-metadata","id":"http://localhost:8150/api/commands/update-policy-node-metadata"},{"name":"update-policy-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-repo","id":"http://localhost:8150/api/commands/update-policy-repo"},{"name":"update-policy-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-policy-task","id":"http://localhost:8150/api/commands/update-policy-task"},{"name":"update-repo-task","rel":"http://api.puppetlabs.com/razor/v1/commands/update-repo-task","id":"http://localhost:8150/api/commands/update-repo-task"},{"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"},{"name":"config","rel":"http://api.puppetlabs.com/razor/v1/collections/config","id":"http://localhost:8150/api/collections/config"}],"version":{"server":"v1.8.0-dirty"}}'
938
1027
  http_version:
939
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
1028
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
940
1029
  - request:
941
1030
  method: get
942
1031
  uri: http://localhost:8150/api/commands/create-policy
@@ -949,7 +1038,11 @@ http_interactions:
949
1038
  Accept-Encoding:
950
1039
  - gzip, deflate
951
1040
  User-Agent:
952
- - Ruby
1041
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
1042
+ Accept-Language:
1043
+ - en_US,en
1044
+ Host:
1045
+ - localhost:8150
953
1046
  response:
954
1047
  status:
955
1048
  code: 200
@@ -958,17 +1051,17 @@ http_interactions:
958
1051
  Server:
959
1052
  - Apache-Coyote/1.1
960
1053
  Etag:
961
- - '"server-version-v0.16.1-18-gd3acc7a-dirty"'
1054
+ - '"server-version-v1.8.0-dirty"'
962
1055
  X-Content-Type-Options:
963
1056
  - nosniff
964
1057
  Content-Type:
965
- - application/json;charset=utf-8
1058
+ - application/json
966
1059
  Content-Length:
967
- - '11193'
1060
+ - '11422'
968
1061
  Date:
969
- - Mon, 09 Mar 2015 19:53:20 GMT
1062
+ - Mon, 23 Apr 2018 19:46:28 GMT
970
1063
  body:
971
- encoding: US-ASCII
1064
+ encoding: UTF-8
972
1065
  string: '{"name":"create-policy","help":{"summary":"Create a new policy","description":"Policies
973
1066
  tie together the rules, as tags, with the task and repo containing\nthe OS
974
1067
  to install, and the broker for post-install configuration.\n\nThe overall
@@ -987,33 +1080,34 @@ http_interactions:
987
1080
  security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
988
1081
  Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
989
1082
  is required.\n - It must be of type string.\n - It must be between 1 and
990
- Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
991
- installed nodes. This is filled\n in on a per-node basis, and then supplied
992
- to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
993
- are performed using `${...}` syntax, and the available\n substitution
994
- names on your server are:\n \n - id -- the internal node ID number\n -
995
- This attribute is required.\n - It must be of type string.\n - It must
996
- be between 1 and Infinity in length.\n\n * root_password\n - The root password
997
- for newly installed systems. This is passed directly\n to the individual
998
- task, rather than \"understood\" by the server, so the\n valid values
999
- are dependent on the individual task capabilities.\n - This attribute is
1000
- required.\n - It must be of type string.\n - It must be between 1 and
1001
- Infinity in length.\n\n * enabled\n - Is this policy enabled when first
1002
- created?\n - It must be of type boolean.\n\n * max_count\n - The maximum
1003
- number of nodes that can bind to this policy.\n If omitted, the policy
1004
- is ''unlimited'', and no maximum is applied.\n - It must be of type number.\n\n
1005
- * before\n - The name of the policy to create this policy before in the
1006
- policy list.\n - It must be of type string.\n - If present, after must
1007
- not be present.\n - It must match the name of an existing policy.\n\n *
1008
- after\n - The name of the policy to create this policy after in the policy
1009
- list.\n - It must be of type string.\n - If present, before must not be
1010
- present.\n - It must match the name of an existing policy.\n\n * tags\n -
1011
- The names of tags that are used for matching nodes to this policy.\n \n When
1012
- a node has all these tags matched on it, it will be a candidate\n for
1013
- binding to this policy.\n - It must be of type array.\n - All elements
1014
- must be of type string.\n - All elements must match the name of an existing
1015
- tag.\n\n * repo\n - The name of the repository containing the OS to be installed
1016
- by this policy.\n This should match the task assigned, or bad things will
1083
+ Infinity in length.\n - Its argument position is 0.\n\n * hostname\n -
1084
+ The hostname pattern to use for newly installed nodes. This is filled\n in
1085
+ on a per-node basis, and then supplied to the task to be configured\n appropriately
1086
+ on the newly installed node.\n \n Substitutions are performed using
1087
+ `${...}` syntax, and the available\n substitution names on your server
1088
+ are:\n \n - id -- the internal node ID number\n - This attribute
1089
+ is required.\n - It must be of type string.\n - It must be between 1 and
1090
+ Infinity in length.\n\n * root_password\n - The root password for newly
1091
+ installed systems. This is passed directly\n to the individual task,
1092
+ rather than \"understood\" by the server, so the\n valid values are dependent
1093
+ on the individual task capabilities.\n - This attribute is required.\n -
1094
+ It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
1095
+ * enabled\n - Is this policy enabled when first created?\n - It must be
1096
+ of type boolean.\n\n * max_count\n - The maximum number of nodes that can
1097
+ bind to this policy.\n If omitted, the policy is ''unlimited'', and no
1098
+ maximum is applied.\n - It must be of type number.\n\n * before\n - The
1099
+ name of the policy to create this policy before in the policy list.\n -
1100
+ It must be of type string.\n - If present, after must not be present.\n -
1101
+ It must match the name of an existing policy.\n\n * after\n - The name of
1102
+ the policy to create this policy after in the policy list.\n - It must be
1103
+ of type string.\n - If present, before must not be present.\n - It must
1104
+ match the name of an existing policy.\n\n * tags\n - The names of tags that
1105
+ are used for matching nodes to this policy.\n \n When a node has all
1106
+ these tags matched on it, it will be a candidate\n for binding to this
1107
+ policy.\n - It must be of type array.\n - All elements must be of type
1108
+ string.\n - All elements must match the name of an existing tag.\n\n *
1109
+ repo\n - The name of the repository containing the OS to be installed by
1110
+ this policy.\n This should match the task assigned, or bad things will
1017
1111
  happen.\n - This attribute is required.\n - It must be of type string.\n -
1018
1112
  It must match the name of an existing repo.\n\n * broker\n - The name of
1019
1113
  the broker to use when the node is fully installed, and is ready\n to
@@ -1024,54 +1118,56 @@ http_interactions:
1024
1118
  It must be of type string.\n - It must match the name of an existing broker.\n\n
1025
1119
  * task\n - The name of the task used to install nodes that match this policy. This
1026
1120
  must\n match the selected repo, as it references files contained within
1027
- that repository.\n - This attribute is required.\n - It must be of type
1028
- string.\n\n * node_metadata\n - Allows a policy to apply metadata to a node
1029
- when it binds. This is NON\n AUTHORITATIVE in that it will not replace
1030
- existing metadata on the node\n with the same keys it will only add keys
1031
- that are missing.\n - It must be of type object.\n","examples":{"api":"A
1121
+ that repository.\n - It must be of type string.\n\n * node_metadata\n -
1122
+ Allows a policy to apply metadata to a node when it binds. This is NON\n AUTHORITATIVE
1123
+ in that it will not replace existing metadata on the node\n with the same
1124
+ keys it will only add keys that are missing.\n - It must be of type object.\n","examples":{"api":"A
1032
1125
  sample policy installing CentOS 6.4:\n\n{\n \"name\": \"centos-for-small\",\n \"repo\": \"centos-6.4\",\n \"task\": \"centos\",\n \"broker\": \"noop\",\n \"enabled\": true,\n \"hostname\": \"host${id}.example.com\",\n \"root_password\":
1033
1126
  \"secret\",\n \"max_count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"],\n \"node_metadata\":
1034
- {\"key\": \"value\"}\n}","cli":"A sample policy installing CentOS 6.4:\n\nrazor
1035
- create-policy --name centos-for-small \\\n --repo centos-6.4 --task centos
1036
- --broker noop \\\n --enabled --hostname \"host${id}.example.com\" \\\n --root-password
1037
- secret --max-count 20 \\\n --before \"other policy\" --tag small --node-metadata
1038
- key=value"},"full":"# SYNOPSIS\nCreate a new policy\n\n# DESCRIPTION\nPolicies
1039
- tie together the rules, as tags, with the task and repo containing\nthe OS
1040
- to install, and the broker for post-install configuration.\n\nThe overall
1041
- list of policies is ordered, and policies are considered in that\norder. When
1042
- a new policy is created, the entry `before` or `after` can be\nused to put
1043
- the new policy into the table before or after another\npolicy. If neither
1044
- `before` or `after` are specified, the policy is\nappended to the policy table.\n#
1045
- Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
1046
- surrounded by `%{...}` are substitutions from the input data: typically\nthe
1047
- name of the object being modified, or some other critical detail, these\nallow
1048
- roles to be granted partial access to modify the system.\n\nFor more detail
1049
- on how the permission strings are structured and work, you can\nsee the [Shiro
1050
- Permissions documentation][shiro]. That pattern is expanded\nand then a permission
1051
- check applied to it, before the command is authorized.\n\nThese checks only
1052
- apply if security is enabled in the Razor configuration\nfile; on this server
1053
- security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
1054
- Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
1055
- is required.\n - It must be of type string.\n - It must be between 1 and
1056
- Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
1057
- installed nodes. This is filled\n in on a per-node basis, and then supplied
1058
- to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
1059
- are performed using `${...}` syntax, and the available\n substitution
1060
- names on your server are:\n \n - id -- the internal node ID number\n -
1061
- This attribute is required.\n - It must be of type string.\n - It must
1062
- be between 1 and Infinity in length.\n\n * root_password\n - The root password
1063
- for newly installed systems. This is passed directly\n to the individual
1064
- task, rather than \"understood\" by the server, so the\n valid values
1065
- are dependent on the individual task capabilities.\n - This attribute is
1066
- required.\n - It must be of type string.\n - It must be between 1 and
1067
- Infinity in length.\n\n * enabled\n - Is this policy enabled when first
1068
- created?\n - It must be of type boolean.\n\n * max_count\n - The maximum
1069
- number of nodes that can bind to this policy.\n If omitted, the policy
1070
- is ''unlimited'', and no maximum is applied.\n - It must be of type number.\n\n
1071
- * before\n - The name of the policy to create this policy before in the
1072
- policy list.\n - It must be of type string.\n - If present, after must
1073
- not be present.\n - It must match the name of an existing policy.\n\n *
1074
- after\n - The name of the policy to create this policy after in the policy
1127
+ {\"key\": \"value\"}\n}","cli":"A sample policy installing CentOS 6.4:\n\n razor
1128
+ create-policy --name centos-for-small \\\n --repo centos-6.4 --task centos
1129
+ --broker noop \\\n --enabled --hostname ''host${id}.example.com'' \\\n --root-password
1130
+ secret --max-count 20 \\\n --before \"other policy\" --tag small --node-metadata
1131
+ key=value\n\nWith positional arguments, this can be shortened::\n\n razor
1132
+ create-policy centos-for-small --repo centos-6.4 --broker noop \\\n --hostname
1133
+ ''host${id}.example.com'' --root-password secret"},"full":"# SYNOPSIS\nCreate
1134
+ a new policy\n\n# DESCRIPTION\nPolicies tie together the rules, as tags, with
1135
+ the task and repo containing\nthe OS to install, and the broker for post-install
1136
+ configuration.\n\nThe overall list of policies is ordered, and policies are
1137
+ considered in that\norder. When a new policy is created, the entry `before`
1138
+ or `after` can be\nused to put the new policy into the table before or after
1139
+ another\npolicy. If neither `before` or `after` are specified, the policy
1140
+ is\nappended to the policy table.\n# Access Control\n\nThis command''s access
1141
+ control pattern: `commands:create-policy:%{name}`\n\nWords surrounded by `%{...}`
1142
+ are substitutions from the input data: typically\nthe name of the object being
1143
+ modified, or some other critical detail, these\nallow roles to be granted
1144
+ partial access to modify the system.\n\nFor more detail on how the permission
1145
+ strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
1146
+ pattern is expanded\nand then a permission check applied to it, before the
1147
+ command is authorized.\n\nThese checks only apply if security is enabled in
1148
+ the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
1149
+ http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
1150
+ The name of the policy to create.\n - This attribute is required.\n -
1151
+ It must be of type string.\n - It must be between 1 and Infinity in length.\n -
1152
+ Its argument position is 0.\n\n * hostname\n - The hostname pattern to use
1153
+ for newly installed nodes. This is filled\n in on a per-node basis, and
1154
+ then supplied to the task to be configured\n appropriately on the newly
1155
+ installed node.\n \n Substitutions are performed using `${...}` syntax,
1156
+ and the available\n substitution names on your server are:\n \n -
1157
+ id -- the internal node ID number\n - This attribute is required.\n -
1158
+ It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
1159
+ * root_password\n - The root password for newly installed systems. This
1160
+ is passed directly\n to the individual task, rather than \"understood\"
1161
+ by the server, so the\n valid values are dependent on the individual task
1162
+ capabilities.\n - This attribute is required.\n - It must be of type string.\n -
1163
+ It must be between 1 and Infinity in length.\n\n * enabled\n - Is this policy
1164
+ enabled when first created?\n - It must be of type boolean.\n\n * max_count\n -
1165
+ The maximum number of nodes that can bind to this policy.\n If omitted,
1166
+ the policy is ''unlimited'', and no maximum is applied.\n - It must be of
1167
+ type number.\n\n * before\n - The name of the policy to create this policy
1168
+ before in the policy list.\n - It must be of type string.\n - If present,
1169
+ after must not be present.\n - It must match the name of an existing policy.\n\n
1170
+ * after\n - The name of the policy to create this policy after in the policy
1075
1171
  list.\n - It must be of type string.\n - If present, before must not be
1076
1172
  present.\n - It must match the name of an existing policy.\n\n * tags\n -
1077
1173
  The names of tags that are used for matching nodes to this policy.\n \n When
@@ -1090,16 +1186,15 @@ http_interactions:
1090
1186
  It must be of type string.\n - It must match the name of an existing broker.\n\n
1091
1187
  * task\n - The name of the task used to install nodes that match this policy. This
1092
1188
  must\n match the selected repo, as it references files contained within
1093
- that repository.\n - This attribute is required.\n - It must be of type
1094
- string.\n\n * node_metadata\n - Allows a policy to apply metadata to a node
1095
- when it binds. This is NON\n AUTHORITATIVE in that it will not replace
1096
- existing metadata on the node\n with the same keys it will only add keys
1097
- that are missing.\n - It must be of type object.\n\n# EXAMPLES\n\n A sample
1098
- policy installing CentOS 6.4:\n \n {\n \"name\": \"centos-for-small\",\n \"repo\": \"centos-6.4\",\n \"task\": \"centos\",\n \"broker\": \"noop\",\n \"enabled\": true,\n \"hostname\": \"host${id}.example.com\",\n \"root_password\":
1189
+ that repository.\n - It must be of type string.\n\n * node_metadata\n -
1190
+ Allows a policy to apply metadata to a node when it binds. This is NON\n AUTHORITATIVE
1191
+ in that it will not replace existing metadata on the node\n with the same
1192
+ keys it will only add keys that are missing.\n - It must be of type object.\n\n#
1193
+ EXAMPLES\n\n A sample policy installing CentOS 6.4:\n \n {\n \"name\": \"centos-for-small\",\n \"repo\": \"centos-6.4\",\n \"task\": \"centos\",\n \"broker\": \"noop\",\n \"enabled\": true,\n \"hostname\": \"host${id}.example.com\",\n \"root_password\":
1099
1194
  \"secret\",\n \"max_count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"],\n \"node_metadata\":
1100
- {\"key\": \"value\"}\n }\n"},"schema":{"name":{"type":"string"},"hostname":{"type":"string"},"root_password":{"type":"string","aliases":["root-password"]},"enabled":{"type":"boolean"},"max_count":{"type":"number","aliases":["max-count"]},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array","aliases":["tag"]},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"},"node_metadata":{"type":"object","aliases":["node-metadata"]}}}'
1195
+ {\"key\": \"value\"}\n }\n"},"schema":{"name":{"type":"string","position":0},"hostname":{"type":"string"},"root_password":{"type":"string","aliases":["root-password"]},"enabled":{"type":"boolean"},"max_count":{"type":"number","aliases":["max-count"]},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array","aliases":["tag"]},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"},"node_metadata":{"type":"object","aliases":["node-metadata"]}}}'
1101
1196
  http_version:
1102
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
1197
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
1103
1198
  - request:
1104
1199
  method: post
1105
1200
  uri: http://localhost:8150/api/commands/create-policy
@@ -1111,12 +1206,16 @@ http_interactions:
1111
1206
  - application/json
1112
1207
  Accept-Encoding:
1113
1208
  - gzip, deflate
1209
+ User-Agent:
1210
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
1114
1211
  Content-Type:
1115
1212
  - application/json
1213
+ Accept-Language:
1214
+ - en_US,en
1116
1215
  Content-Length:
1117
1216
  - '127'
1118
- User-Agent:
1119
- - Ruby
1217
+ Host:
1218
+ - localhost:8150
1120
1219
  response:
1121
1220
  status:
1122
1221
  code: 202
@@ -1127,16 +1226,16 @@ http_interactions:
1127
1226
  X-Content-Type-Options:
1128
1227
  - nosniff
1129
1228
  Content-Type:
1130
- - application/json;charset=utf-8
1229
+ - application/json
1131
1230
  Content-Length:
1132
1231
  - '207'
1133
1232
  Date:
1134
- - Mon, 09 Mar 2015 19:53:20 GMT
1233
+ - Mon, 23 Apr 2018 19:46:28 GMT
1135
1234
  body:
1136
- encoding: US-ASCII
1235
+ encoding: UTF-8
1137
1236
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/policies/member","id":"http://localhost:8150/api/collections/policies/test","name":"test","command":"http://localhost:8150/api/collections/commands/5"}'
1138
1237
  http_version:
1139
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
1238
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
1140
1239
  - request:
1141
1240
  method: get
1142
1241
  uri: http://localhost:8150/api/collections/policies/test
@@ -1149,7 +1248,11 @@ http_interactions:
1149
1248
  Accept-Encoding:
1150
1249
  - gzip, deflate
1151
1250
  User-Agent:
1152
- - Ruby
1251
+ - rest-client/2.0.2 (darwin x86_64) jruby/9.1.5.0 (2.3.1p0)
1252
+ Accept-Language:
1253
+ - en_US,en
1254
+ Host:
1255
+ - localhost:8150
1153
1256
  response:
1154
1257
  status:
1155
1258
  code: 200
@@ -1160,14 +1263,14 @@ http_interactions:
1160
1263
  X-Content-Type-Options:
1161
1264
  - nosniff
1162
1265
  Content-Type:
1163
- - application/json;charset=utf-8
1266
+ - application/json
1164
1267
  Content-Length:
1165
1268
  - '1071'
1166
1269
  Date:
1167
- - Mon, 09 Mar 2015 19:53:20 GMT
1270
+ - Mon, 23 Apr 2018 19:46:28 GMT
1168
1271
  body:
1169
- encoding: US-ASCII
1272
+ encoding: UTF-8
1170
1273
  string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/policies/member","id":"http://localhost:8150/api/collections/policies/test","name":"test","repo":{"spec":"http://api.puppetlabs.com/razor/v1/collections/repos/member","id":"http://localhost:8150/api/collections/repos/name","name":"name"},"task":{"spec":"http://api.puppetlabs.com/razor/v1/collections/tasks/member","id":"http://localhost:8150/api/collections/tasks/noop","name":"noop"},"broker":{"spec":"http://api.puppetlabs.com/razor/v1/collections/brokers/member","id":"http://localhost:8150/api/collections/brokers/puppet","name":"puppet"},"enabled":true,"configuration":{"hostname_pattern":"abc.com","root_password":"abc"},"tags":[{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:8150/api/collections/tags/tag1","name":"tag1"},{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:8150/api/collections/tags/tag2","name":"tag2"}],"nodes":{"id":"http://localhost:8150/api/collections/policies/test/nodes","count":0,"name":"nodes"}}'
1171
1274
  http_version:
1172
- recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
1173
- recorded_with: VCR 2.5.0
1275
+ recorded_at: Mon, 23 Apr 2018 19:46:28 GMT
1276
+ recorded_with: VCR 4.0.0