pe-razor-client 0.15.2.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/NEWS.md +27 -0
- data/bin/razor +27 -2
- data/lib/razor/cli.rb +11 -2
- data/lib/razor/cli/command.rb +150 -0
- data/lib/razor/cli/document.rb +8 -4
- data/lib/razor/cli/format.rb +46 -22
- data/lib/razor/cli/navigate.rb +28 -156
- data/lib/razor/cli/parse.rb +49 -7
- data/lib/razor/cli/query.rb +69 -0
- data/lib/razor/cli/table_format.rb +41 -0
- data/lib/razor/cli/transforms.rb +25 -0
- data/lib/razor/cli/version.rb +1 -1
- data/lib/razor/cli/views.yaml +53 -2
- data/spec/cli/command_spec.rb +66 -0
- data/spec/cli/format_spec.rb +95 -5
- data/spec/cli/navigate_spec.rb +50 -6
- data/spec/cli/parse_spec.rb +42 -2
- data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_in_string.yml +233 -0
- data/spec/fixtures/vcr/Razor_CLI_Navigate/argument_formatting/should_allow_spaces.yml +281 -548
- data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_--help_command_.yml +160 -37
- data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_-h_command_.yml +160 -37
- data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_--help_.yml +160 -37
- data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_-h_.yml +160 -37
- data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_command_help_.yml +160 -37
- data/spec/fixtures/vcr/Razor_CLI_Navigate/for_command_help/should_provide_command_help_for_razor_help_command_.yml +160 -37
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_authentication/should_preserve_that_across_navigation.yml +10 -10
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_authentication/should_supply_that_to_the_API_service.yml +5 -5
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_invalid_parameter/should_fail_with_bad_JSON.yml +71 -166
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_invalid_parameter/should_fail_with_malformed_argument.yml +109 -59
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_array/should_merge_an_array_into_an_existing_array.yml +527 -1360
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_array/should_merge_the_arguments_as_an_array.yml +528 -1361
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_array/should_merge_the_arguments_into_an_existing_array.yml +528 -1361
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_construct_a_json_object.yml +80 -111
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_construct_a_json_object_with_unicode.yml +137 -123
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_fail_with_mixed_types_array_then_hash_.yml +71 -166
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_multiple_arguments_with_same_name/combining_as_an_object/should_fail_with_mixed_types_hash_then_array_.yml +71 -102
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_no_parameters/should_fail_with_bad_JSON.yml +98 -5
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_limit.yml +69 -0
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_append_start.yml +69 -0
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_not_fail_when_query_returns_details_for_one_item.yml +313 -0
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_store_query_without_query_parameters.yml +557 -0
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_throw_an_error_if_the_query_parameter_is_not_in_the_API.yml +36 -0
- data/spec/fixtures/vcr/Razor_CLI_Navigate/with_query_parameters/should_throw_an_error_if_the_query_parameter_is_not_in_the_API_from_a_single_item.yml +280 -0
- data/spec/fixtures/vcr/Razor_CLI_Parse/_new/_help/should_print_a_list_of_known_endpoints.yml +5 -5
- data/spec/spec_helper.rb +8 -4
- metadata +26 -7
@@ -2,7 +2,7 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: http://localhost:
|
5
|
+
uri: http://localhost:8150/api
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ''
|
@@ -25,17 +25,17 @@ http_interactions:
|
|
25
25
|
Content-Type:
|
26
26
|
- application/json;charset=utf-8
|
27
27
|
Content-Length:
|
28
|
-
- '
|
28
|
+
- '5650'
|
29
29
|
Date:
|
30
|
-
-
|
30
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
31
31
|
body:
|
32
32
|
encoding: US-ASCII
|
33
|
-
string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:
|
33
|
+
string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:8150/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8150/api/commands/create-broker"},{"name":"create-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/create-hook","id":"http://localhost:8150/api/commands/create-hook"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8150/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8150/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8150/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8150/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8150/api/commands/delete-broker"},{"name":"delete-hook","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-hook","id":"http://localhost:8150/api/commands/delete-hook"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8150/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8150/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8150/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8150/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8150/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8150/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8150/api/commands/modify-node-metadata"},{"name":"modify-policy-max-count","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-policy-max-count","id":"http://localhost:8150/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8150/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8150/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8150/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8150/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8150/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8150/api/commands/remove-policy-tag"},{"name":"set-node-desired-power-state","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-desired-power-state","id":"http://localhost:8150/api/commands/set-node-desired-power-state"},{"name":"set-node-hw-info","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-hw-info","id":"http://localhost:8150/api/commands/set-node-hw-info"},{"name":"set-node-ipmi-credentials","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-ipmi-credentials","id":"http://localhost:8150/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8150/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8150/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8150/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8150/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8150/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8150/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8150/api/collections/nodes","params":{"start":{"type":"number"},"limit":{"type":"number"}}},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8150/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8150/api/collections/commands"},{"name":"events","rel":"http://api.puppetlabs.com/razor/v1/collections/events","id":"http://localhost:8150/api/collections/events","params":{"start":{"type":"number"},"limit":{"type":"number"}}},{"name":"hooks","rel":"http://api.puppetlabs.com/razor/v1/collections/hooks","id":"http://localhost:8150/api/collections/hooks"}],"version":{"server":"v0.16.1-18-gd3acc7a-dirty"}}'
|
34
34
|
http_version:
|
35
|
-
recorded_at:
|
35
|
+
recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
|
36
36
|
- request:
|
37
37
|
method: get
|
38
|
-
uri: http://localhost:
|
38
|
+
uri: http://localhost:8150/api/commands/create-repo
|
39
39
|
body:
|
40
40
|
encoding: US-ASCII
|
41
41
|
string: ''
|
@@ -54,23 +54,23 @@ http_interactions:
|
|
54
54
|
Server:
|
55
55
|
- Apache-Coyote/1.1
|
56
56
|
Etag:
|
57
|
-
- '"server-version-v0.
|
57
|
+
- '"server-version-v0.16.1-18-gd3acc7a-dirty"'
|
58
58
|
X-Content-Type-Options:
|
59
59
|
- nosniff
|
60
60
|
Content-Type:
|
61
61
|
- application/json;charset=utf-8
|
62
62
|
Content-Length:
|
63
|
-
- '
|
63
|
+
- '7794'
|
64
64
|
Date:
|
65
|
-
-
|
65
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
66
66
|
body:
|
67
67
|
encoding: US-ASCII
|
68
|
-
string: '{"name":"create-repo","help":{"
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
68
|
+
string: '{"name":"create-repo","help":{"summary":"Create a new repository, from
|
69
|
+
an ISO image or a URL","description":"Create a new repository, which can either
|
70
|
+
contain the content to install a\nnode, or simply point to an existing online
|
71
|
+
repository by URL.","schema":"# Access Control\n\nThis command''s access control
|
72
|
+
pattern: `commands:create-repo:%{name}`\n\nWords surrounded by `%{...}` are
|
73
|
+
substitutions from the input data: typically\nthe name of the object being
|
74
74
|
modified, or some other critical detail, these\nallow roles to be granted
|
75
75
|
partial access to modify the system.\n\nFor more detail on how the permission
|
76
76
|
strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
|
@@ -78,71 +78,50 @@ http_interactions:
|
|
78
78
|
command is authorized.\n\nThese checks only apply if security is enabled in
|
79
79
|
the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
|
80
80
|
http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
|
81
|
-
The name of the repository.\n - This attribute is required
|
81
|
+
The name of the repository.\n - This attribute is required.\n - It must
|
82
82
|
be of type string.\n - It must be between 1 and 250 in length.\n\n * url\n -
|
83
83
|
The URL of the remote repository to use.\n - It must be of type string.\n -
|
84
|
-
If present,
|
85
|
-
in length.\n\n *
|
86
|
-
to create the\n
|
87
|
-
be a\n
|
88
|
-
as a path on the\n
|
89
|
-
requires that\n
|
90
|
-
the\n
|
91
|
-
not be present.\n - It must be between
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
\"
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
headers:
|
126
|
-
Server:
|
127
|
-
- Apache-Coyote/1.1
|
128
|
-
Etag:
|
129
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
130
|
-
X-Content-Type-Options:
|
131
|
-
- nosniff
|
132
|
-
Content-Type:
|
133
|
-
- application/json;charset=utf-8
|
134
|
-
Content-Length:
|
135
|
-
- '3227'
|
136
|
-
Date:
|
137
|
-
- Fri, 16 May 2014 22:18:08 GMT
|
138
|
-
body:
|
139
|
-
encoding: US-ASCII
|
140
|
-
string: '{"name":"create-repo","help":{"full":"# SYNOPSIS\nCreate a new repository,
|
141
|
-
from an ISO image or a URL\n\n# DESCRIPTION\nCreate a new repository, which
|
142
|
-
can either contain the content to install a\nnode, or simply point to an existing
|
143
|
-
online repository by URL.\n\n\n# Access Control\n\nThis command''s access
|
144
|
-
control pattern: `commands:create-repo:%{name}`\n\nWords surrounded by `%{...}`
|
145
|
-
are substitutions from the input data: typically\nthe name of the object being
|
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
|
100
|
+
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
|
103
|
+
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,
|
106
|
+
you can provide a `url` property when you create the repository;\nthis form
|
107
|
+
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\":
|
109
|
+
\"fedora\"\n }","cli":"Create a repository from an ISO image, which will
|
110
|
+
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
|
112
|
+
\\\n --task fedora\n\nYou can also unpack an ISO image from a file
|
113
|
+
*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
|
115
|
+
\\\n --task fedora\n\nFinally, you can provide a `url` property when
|
116
|
+
you create the repository;\nthis form is merely a pointer to a resource somewhere
|
117
|
+
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
|
146
125
|
modified, or some other critical detail, these\nallow roles to be granted
|
147
126
|
partial access to modify the system.\n\nFor more detail on how the permission
|
148
127
|
strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
|
@@ -150,108 +129,40 @@ http_interactions:
|
|
150
129
|
command is authorized.\n\nThese checks only apply if security is enabled in
|
151
130
|
the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
|
152
131
|
http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
|
153
|
-
The name of the repository.\n - This attribute is required
|
132
|
+
The name of the repository.\n - This attribute is required.\n - It must
|
154
133
|
be of type string.\n - It must be between 1 and 250 in length.\n\n * url\n -
|
155
134
|
The URL of the remote repository to use.\n - It must be of type string.\n -
|
156
|
-
If present,
|
157
|
-
in length.\n\n *
|
158
|
-
to create the\n
|
159
|
-
be a\n
|
160
|
-
as a path on the\n
|
161
|
-
requires that\n
|
162
|
-
the\n
|
163
|
-
not be present.\n - It must be between
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
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\":
|
170
153
|
\"http://example.com/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n You
|
171
154
|
can also unpack an ISO image from a file *on the server*; this does not\n upload
|
172
|
-
the file from the client:\n {\n \"name\": \"fedora19\",\n \"
|
155
|
+
the file from the client:\n {\n \"name\": \"fedora19\",\n \"iso_url\":
|
173
156
|
\"file:///tmp/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n Finally,
|
174
|
-
you can
|
175
|
-
|
157
|
+
you can provide a `url` property when you create the repository;\n this form
|
158
|
+
is merely a pointer to a resource somewhere and nothing will be\n downloaded
|
176
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\":
|
177
|
-
\"fedora\"\n }\n
|
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"}}}'
|
178
161
|
http_version:
|
179
|
-
recorded_at:
|
180
|
-
- request:
|
181
|
-
method: get
|
182
|
-
uri: http://localhost:8080/api/commands/create-repo
|
183
|
-
body:
|
184
|
-
encoding: US-ASCII
|
185
|
-
string: ''
|
186
|
-
headers:
|
187
|
-
Accept:
|
188
|
-
- application/json
|
189
|
-
Accept-Encoding:
|
190
|
-
- gzip, deflate
|
191
|
-
User-Agent:
|
192
|
-
- Ruby
|
193
|
-
response:
|
194
|
-
status:
|
195
|
-
code: 200
|
196
|
-
message: OK
|
197
|
-
headers:
|
198
|
-
Server:
|
199
|
-
- Apache-Coyote/1.1
|
200
|
-
Etag:
|
201
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
202
|
-
X-Content-Type-Options:
|
203
|
-
- nosniff
|
204
|
-
Content-Type:
|
205
|
-
- application/json;charset=utf-8
|
206
|
-
Content-Length:
|
207
|
-
- '3227'
|
208
|
-
Date:
|
209
|
-
- Fri, 16 May 2014 22:18:08 GMT
|
210
|
-
body:
|
211
|
-
encoding: US-ASCII
|
212
|
-
string: '{"name":"create-repo","help":{"full":"# SYNOPSIS\nCreate a new repository,
|
213
|
-
from an ISO image or a URL\n\n# DESCRIPTION\nCreate a new repository, which
|
214
|
-
can either contain the content to install a\nnode, or simply point to an existing
|
215
|
-
online repository by URL.\n\n\n# Access Control\n\nThis command''s access
|
216
|
-
control pattern: `commands:create-repo:%{name}`\n\nWords surrounded by `%{...}`
|
217
|
-
are substitutions from the input data: typically\nthe name of the object being
|
218
|
-
modified, or some other critical detail, these\nallow roles to be granted
|
219
|
-
partial access to modify the system.\n\nFor more detail on how the permission
|
220
|
-
strings are structured and work, you can\nsee the [Shiro Permissions documentation][shiro]. That
|
221
|
-
pattern is expanded\nand then a permission check applied to it, before the
|
222
|
-
command is authorized.\n\nThese checks only apply if security is enabled in
|
223
|
-
the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
|
224
|
-
http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
|
225
|
-
The name of the repository.\n - This attribute is required\n - It must
|
226
|
-
be of type string.\n - It must be between 1 and 250 in length.\n\n * url\n -
|
227
|
-
The URL of the remote repository to use.\n - It must be of type string.\n -
|
228
|
-
If present, iso-url must not be present.\n - It must be between 1 and 1000
|
229
|
-
in length.\n\n * iso-url\n - The URL of the ISO image to download and unpack
|
230
|
-
to create the\n repository. This can be an HTTP or HTTPS URL, or it can
|
231
|
-
be a\n file URL.\n \n In the later case, the file path is interpreted
|
232
|
-
as a path on the\n Razor server, rather than a path on the client. This
|
233
|
-
requires that\n you manually place the ISO image on the server before invoking
|
234
|
-
the\n command.\n - It must be of type string.\n - If present, url must
|
235
|
-
not be present.\n - It must be between 1 and 1000 in length.\n\n * task\n -
|
236
|
-
The name of the task associated with this repository. This is used to\n install
|
237
|
-
nodes that match a policy using this repository; generally it\n should match
|
238
|
-
the OS that the URL or ISO-URL attributes point to.\n - This attribute is
|
239
|
-
required\n - It must be of type string.\n\n\n\n# EXAMPLES\n Create a repository
|
240
|
-
from an ISO image, which will be downloaded and unpacked\n by the razor-server
|
241
|
-
in the background:\n \n {\n \"name\": \"fedora19\",\n \"iso-url\":
|
242
|
-
\"http://example.com/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n You
|
243
|
-
can also unpack an ISO image from a file *on the server*; this does not\n upload
|
244
|
-
the file from the client:\n {\n \"name\": \"fedora19\",\n \"iso-url\":
|
245
|
-
\"file:///tmp/Fedora-19-x86_64-DVD.iso\"\n \"task\": \"fedora\"\n }\n \n Finally,
|
246
|
-
you can providing a `url` property when you create the repository;\n this
|
247
|
-
form is merely a pointer to a resource somehwere and nothing will be\n downloaded
|
248
|
-
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\":
|
249
|
-
\"fedora\"\n }\n\n"},"schema":{"name":{"type":"string"},"url":{"type":"string"},"iso-url":{"type":"string"},"task":{"type":"string"}}}'
|
250
|
-
http_version:
|
251
|
-
recorded_at: Fri, 16 May 2014 22:18:08 GMT
|
162
|
+
recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
|
252
163
|
- request:
|
253
164
|
method: post
|
254
|
-
uri: http://localhost:
|
165
|
+
uri: http://localhost:8150/api/commands/create-repo
|
255
166
|
body:
|
256
167
|
encoding: UTF-8
|
257
168
|
string: '{"name":"name","url":"http://url.com/some.iso","task":"noop"}'
|
@@ -280,15 +191,15 @@ http_interactions:
|
|
280
191
|
Content-Length:
|
281
192
|
- '201'
|
282
193
|
Date:
|
283
|
-
-
|
194
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
284
195
|
body:
|
285
196
|
encoding: US-ASCII
|
286
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/repos/member","id":"http://localhost:
|
197
|
+
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"}'
|
287
198
|
http_version:
|
288
|
-
recorded_at:
|
199
|
+
recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
|
289
200
|
- request:
|
290
201
|
method: get
|
291
|
-
uri: http://localhost:
|
202
|
+
uri: http://localhost:8150/api/collections/repos/name
|
292
203
|
body:
|
293
204
|
encoding: US-ASCII
|
294
205
|
string: ''
|
@@ -313,112 +224,15 @@ http_interactions:
|
|
313
224
|
Content-Length:
|
314
225
|
- '335'
|
315
226
|
Date:
|
316
|
-
-
|
317
|
-
body:
|
318
|
-
encoding: US-ASCII
|
319
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/repos/member","id":"http://localhost:8080/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:8080/api/collections/tasks/noop","name":"noop"}}'
|
320
|
-
http_version:
|
321
|
-
recorded_at: Fri, 16 May 2014 22:18:08 GMT
|
322
|
-
- request:
|
323
|
-
method: get
|
324
|
-
uri: http://localhost:8080/api
|
325
|
-
body:
|
326
|
-
encoding: US-ASCII
|
327
|
-
string: ''
|
328
|
-
headers:
|
329
|
-
Accept:
|
330
|
-
- application/json
|
331
|
-
Accept-Encoding:
|
332
|
-
- gzip, deflate
|
333
|
-
User-Agent:
|
334
|
-
- Ruby
|
335
|
-
response:
|
336
|
-
status:
|
337
|
-
code: 200
|
338
|
-
message: OK
|
339
|
-
headers:
|
340
|
-
Server:
|
341
|
-
- Apache-Coyote/1.1
|
342
|
-
X-Content-Type-Options:
|
343
|
-
- nosniff
|
344
|
-
Content-Type:
|
345
|
-
- application/json;charset=utf-8
|
346
|
-
Content-Length:
|
347
|
-
- '4982'
|
348
|
-
Date:
|
349
|
-
- Fri, 16 May 2014 22:18:08 GMT
|
350
|
-
body:
|
351
|
-
encoding: US-ASCII
|
352
|
-
string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:8080/api/commands/add-policy-tag"},{"name":"create-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/create-broker","id":"http://localhost:8080/api/commands/create-broker"},{"name":"create-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/create-policy","id":"http://localhost:8080/api/commands/create-policy"},{"name":"create-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/create-repo","id":"http://localhost:8080/api/commands/create-repo"},{"name":"create-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/create-tag","id":"http://localhost:8080/api/commands/create-tag"},{"name":"create-task","rel":"http://api.puppetlabs.com/razor/v1/commands/create-task","id":"http://localhost:8080/api/commands/create-task"},{"name":"delete-broker","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-broker","id":"http://localhost:8080/api/commands/delete-broker"},{"name":"delete-node","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-node","id":"http://localhost:8080/api/commands/delete-node"},{"name":"delete-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-policy","id":"http://localhost:8080/api/commands/delete-policy"},{"name":"delete-repo","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-repo","id":"http://localhost:8080/api/commands/delete-repo"},{"name":"delete-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/delete-tag","id":"http://localhost:8080/api/commands/delete-tag"},{"name":"disable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/disable-policy","id":"http://localhost:8080/api/commands/disable-policy"},{"name":"enable-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/enable-policy","id":"http://localhost:8080/api/commands/enable-policy"},{"name":"modify-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-node-metadata","id":"http://localhost:8080/api/commands/modify-node-metadata"},{"name":"modify-policy-max-count","rel":"http://api.puppetlabs.com/razor/v1/commands/modify-policy-max-count","id":"http://localhost:8080/api/commands/modify-policy-max-count"},{"name":"move-policy","rel":"http://api.puppetlabs.com/razor/v1/commands/move-policy","id":"http://localhost:8080/api/commands/move-policy"},{"name":"reboot-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reboot-node","id":"http://localhost:8080/api/commands/reboot-node"},{"name":"register-node","rel":"http://api.puppetlabs.com/razor/v1/commands/register-node","id":"http://localhost:8080/api/commands/register-node"},{"name":"reinstall-node","rel":"http://api.puppetlabs.com/razor/v1/commands/reinstall-node","id":"http://localhost:8080/api/commands/reinstall-node"},{"name":"remove-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-node-metadata","id":"http://localhost:8080/api/commands/remove-node-metadata"},{"name":"remove-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/remove-policy-tag","id":"http://localhost:8080/api/commands/remove-policy-tag"},{"name":"set-node-desired-power-state","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-desired-power-state","id":"http://localhost:8080/api/commands/set-node-desired-power-state"},{"name":"set-node-hw-info","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-hw-info","id":"http://localhost:8080/api/commands/set-node-hw-info"},{"name":"set-node-ipmi-credentials","rel":"http://api.puppetlabs.com/razor/v1/commands/set-node-ipmi-credentials","id":"http://localhost:8080/api/commands/set-node-ipmi-credentials"},{"name":"update-node-metadata","rel":"http://api.puppetlabs.com/razor/v1/commands/update-node-metadata","id":"http://localhost:8080/api/commands/update-node-metadata"},{"name":"update-tag-rule","rel":"http://api.puppetlabs.com/razor/v1/commands/update-tag-rule","id":"http://localhost:8080/api/commands/update-tag-rule"}],"collections":[{"name":"brokers","rel":"http://api.puppetlabs.com/razor/v1/collections/brokers","id":"http://localhost:8080/api/collections/brokers"},{"name":"repos","rel":"http://api.puppetlabs.com/razor/v1/collections/repos","id":"http://localhost:8080/api/collections/repos"},{"name":"tags","rel":"http://api.puppetlabs.com/razor/v1/collections/tags","id":"http://localhost:8080/api/collections/tags"},{"name":"policies","rel":"http://api.puppetlabs.com/razor/v1/collections/policies","id":"http://localhost:8080/api/collections/policies"},{"name":"nodes","rel":"http://api.puppetlabs.com/razor/v1/collections/nodes","id":"http://localhost:8080/api/collections/nodes"},{"name":"tasks","rel":"http://api.puppetlabs.com/razor/v1/collections/tasks","id":"http://localhost:8080/api/collections/tasks"},{"name":"commands","rel":"http://api.puppetlabs.com/razor/v1/collections/commands","id":"http://localhost:8080/api/collections/commands"}],"version":{"server":"v0.14.1-113-g8b33d83-dirty"}}'
|
353
|
-
http_version:
|
354
|
-
recorded_at: Fri, 16 May 2014 22:18:08 GMT
|
355
|
-
- request:
|
356
|
-
method: get
|
357
|
-
uri: http://localhost:8080/api/commands/create-broker
|
358
|
-
body:
|
359
|
-
encoding: US-ASCII
|
360
|
-
string: ''
|
361
|
-
headers:
|
362
|
-
Accept:
|
363
|
-
- application/json
|
364
|
-
Accept-Encoding:
|
365
|
-
- gzip, deflate
|
366
|
-
User-Agent:
|
367
|
-
- Ruby
|
368
|
-
response:
|
369
|
-
status:
|
370
|
-
code: 200
|
371
|
-
message: OK
|
372
|
-
headers:
|
373
|
-
Server:
|
374
|
-
- Apache-Coyote/1.1
|
375
|
-
Etag:
|
376
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
377
|
-
X-Content-Type-Options:
|
378
|
-
- nosniff
|
379
|
-
Content-Type:
|
380
|
-
- application/json;charset=utf-8
|
381
|
-
Content-Length:
|
382
|
-
- '2496'
|
383
|
-
Date:
|
384
|
-
- Fri, 16 May 2014 22:18:08 GMT
|
227
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
385
228
|
body:
|
386
229
|
encoding: US-ASCII
|
387
|
-
string: '{"name":"
|
388
|
-
configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
|
389
|
-
broker configuration. Brokers are responsible for handing a node\noff to
|
390
|
-
a config management system, such as Puppet or Chef. In cases where you\nhave
|
391
|
-
no configuration management system, you can use the `noop` broker.\n\n\n#
|
392
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
|
393
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
394
|
-
name of the object being modified, or some other critical detail, these\nallow
|
395
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
396
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
397
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
398
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
399
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
400
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
401
|
-
Attributes\n\n * name\n - The name of the broker, as it will be referenced
|
402
|
-
within Razor.\n This is the name that you supply to, eg, `create-policy`
|
403
|
-
to specify\n which broker the node will be handed off via after installation.\n -
|
404
|
-
This attribute is required\n - It must be of type string.\n - It must
|
405
|
-
be between 1 and 250 in length.\n\n * broker-type\n - The broker type that
|
406
|
-
this broker is created from. The available\n broker types on your server
|
407
|
-
are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
|
408
|
-
attribute is required\n - It must be of type string.\n - It must match
|
409
|
-
the name of an existing broker type.\n\n * configuration\n - The configuration
|
410
|
-
for the broker. The acceptable values here are\n determined by the `broker-type`
|
411
|
-
selected. In general this has\n settings like which server to contact,
|
412
|
-
and other configuration\n related to handing on the newly installed system
|
413
|
-
to the final\n configuration management system.\n - It must be of type
|
414
|
-
object.\n \n \n\n\n\n# EXAMPLES\n Creating a simple Puppet broker:\n \n {\n \"name\":
|
415
|
-
\"puppet\",\n \"configuration\": {\n \"server\": \"puppet.example.org\",\n \"environment\":
|
416
|
-
\"production\"\n },\n \"broker-type\": \"puppet\"\n }\n\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
|
230
|
+
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"}}'
|
417
231
|
http_version:
|
418
|
-
recorded_at:
|
232
|
+
recorded_at: Mon, 09 Mar 2015 19:53:20 GMT
|
419
233
|
- request:
|
420
234
|
method: get
|
421
|
-
uri: http://localhost:
|
235
|
+
uri: http://localhost:8150/api
|
422
236
|
body:
|
423
237
|
encoding: US-ASCII
|
424
238
|
string: ''
|
@@ -436,53 +250,22 @@ http_interactions:
|
|
436
250
|
headers:
|
437
251
|
Server:
|
438
252
|
- Apache-Coyote/1.1
|
439
|
-
Etag:
|
440
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
441
253
|
X-Content-Type-Options:
|
442
254
|
- nosniff
|
443
255
|
Content-Type:
|
444
256
|
- application/json;charset=utf-8
|
445
257
|
Content-Length:
|
446
|
-
- '
|
258
|
+
- '5650'
|
447
259
|
Date:
|
448
|
-
-
|
260
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
449
261
|
body:
|
450
262
|
encoding: US-ASCII
|
451
|
-
string: '{"name":"create-broker","
|
452
|
-
configuration for hand-off of installed nodes\n\n# DESCRIPTION\nCreate a new
|
453
|
-
broker configuration. Brokers are responsible for handing a node\noff to
|
454
|
-
a config management system, such as Puppet or Chef. In cases where you\nhave
|
455
|
-
no configuration management system, you can use the `noop` broker.\n\n\n#
|
456
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-broker:%{name}`\n\nWords
|
457
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
458
|
-
name of the object being modified, or some other critical detail, these\nallow
|
459
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
460
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
461
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
462
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
463
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
464
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
465
|
-
Attributes\n\n * name\n - The name of the broker, as it will be referenced
|
466
|
-
within Razor.\n This is the name that you supply to, eg, `create-policy`
|
467
|
-
to specify\n which broker the node will be handed off via after installation.\n -
|
468
|
-
This attribute is required\n - It must be of type string.\n - It must
|
469
|
-
be between 1 and 250 in length.\n\n * broker-type\n - The broker type that
|
470
|
-
this broker is created from. The available\n broker types on your server
|
471
|
-
are:\n - chef\n - noop\n - puppet-pe\n - puppet\n - This
|
472
|
-
attribute is required\n - It must be of type string.\n - It must match
|
473
|
-
the name of an existing broker type.\n\n * configuration\n - The configuration
|
474
|
-
for the broker. The acceptable values here are\n determined by the `broker-type`
|
475
|
-
selected. In general this has\n settings like which server to contact,
|
476
|
-
and other configuration\n related to handing on the newly installed system
|
477
|
-
to the final\n configuration management system.\n - It must be of type
|
478
|
-
object.\n \n \n\n\n\n# EXAMPLES\n Creating a simple Puppet broker:\n \n {\n \"name\":
|
479
|
-
\"puppet\",\n \"configuration\": {\n \"server\": \"puppet.example.org\",\n \"environment\":
|
480
|
-
\"production\"\n },\n \"broker-type\": \"puppet\"\n }\n\n"},"schema":{"name":{"type":"string"},"broker-type":{"type":"string"},"configuration":{"type":"object"}}}'
|
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"}}'
|
481
264
|
http_version:
|
482
|
-
recorded_at:
|
265
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
483
266
|
- request:
|
484
267
|
method: get
|
485
|
-
uri: http://localhost:
|
268
|
+
uri: http://localhost:8150/api/commands/create-broker
|
486
269
|
body:
|
487
270
|
encoding: US-ASCII
|
488
271
|
string: ''
|
@@ -501,55 +284,88 @@ http_interactions:
|
|
501
284
|
Server:
|
502
285
|
- Apache-Coyote/1.1
|
503
286
|
Etag:
|
504
|
-
- '"server-version-v0.
|
287
|
+
- '"server-version-v0.16.1-18-gd3acc7a-dirty"'
|
505
288
|
X-Content-Type-Options:
|
506
289
|
- nosniff
|
507
290
|
Content-Type:
|
508
291
|
- application/json;charset=utf-8
|
509
292
|
Content-Length:
|
510
|
-
- '
|
293
|
+
- '5184'
|
511
294
|
Date:
|
512
|
-
-
|
295
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
513
296
|
body:
|
514
297
|
encoding: US-ASCII
|
515
|
-
string: '{"name":"create-broker","help":{"
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
298
|
+
string: '{"name":"create-broker","help":{"summary":"Create a new broker configuration
|
299
|
+
for hand-off of installed nodes","description":"Create a new broker configuration. Brokers
|
300
|
+
are responsible for handing a node\noff to a config management system, such
|
301
|
+
as Puppet or Chef. In cases where you\nhave no configuration management system,
|
302
|
+
you can use the `noop` broker.","schema":"# Access Control\n\nThis command''s
|
303
|
+
access control pattern: `commands:create-broker:%{name}`\n\nWords surrounded
|
304
|
+
by `%{...}` are substitutions from the input data: typically\nthe name of
|
305
|
+
the object being modified, or some other critical detail, these\nallow roles
|
306
|
+
to be granted partial access to modify the system.\n\nFor more detail on how
|
307
|
+
the permission strings are structured and work, you can\nsee the [Shiro Permissions
|
308
|
+
documentation][shiro]. That pattern is expanded\nand then a permission check
|
309
|
+
applied to it, before the command is authorized.\n\nThese checks only apply
|
310
|
+
if security is enabled in the Razor configuration\nfile; on this server security
|
311
|
+
is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
529
312
|
Attributes\n\n * name\n - The name of the broker, as it will be referenced
|
530
|
-
within Razor.\n
|
531
|
-
to specify\n
|
532
|
-
This attribute is required
|
533
|
-
be between 1 and 250 in length.\n\n *
|
534
|
-
this broker is created
|
535
|
-
are:\n
|
536
|
-
attribute is required
|
313
|
+
within Razor.\n This is the name that you supply to, eg, `create-policy`
|
314
|
+
to specify\n which broker the node will be handed off via after installation.\n -
|
315
|
+
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
|
537
320
|
the name of an existing broker type.\n\n * configuration\n - The configuration
|
538
|
-
for the broker. The acceptable values here are\n
|
539
|
-
selected. In general this has\n
|
540
|
-
and other configuration\n
|
541
|
-
to the final\n
|
542
|
-
|
543
|
-
\
|
544
|
-
\"
|
321
|
+
for the broker. The acceptable values here are\n determined by the `broker_type`
|
322
|
+
selected. In general this has\n settings like which server to contact,
|
323
|
+
and other configuration\n related to handing on the newly installed system
|
324
|
+
to the final\n configuration management system.\n \n This attribute
|
325
|
+
can be abbreviated as `c` for convenience.\n - It must be of type object.\n","examples":{"api":"Creating
|
326
|
+
a simple Puppet broker:\n\n{\n \"name\": \"puppet\",\n \"configuration\":
|
327
|
+
{\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
|
340
|
+
pattern is expanded\nand then a permission check applied to it, before the
|
341
|
+
command is authorized.\n\nThese checks only apply if security is enabled in
|
342
|
+
the Razor configuration\nfile; on this server security is currently disabled.\n\n[shiro]:
|
343
|
+
http://shiro.apache.org/permissions.html\n\n# Attributes\n\n * name\n -
|
344
|
+
The name of the broker, as it will be referenced within Razor.\n This
|
345
|
+
is the name that you supply to, eg, `create-policy` to specify\n which
|
346
|
+
broker the node will be handed off via after installation.\n - This attribute
|
347
|
+
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`
|
354
|
+
selected. In general this has\n settings like which server to contact,
|
355
|
+
and other configuration\n related to handing on the newly installed system
|
356
|
+
to the final\n configuration management system.\n \n This attribute
|
357
|
+
can be abbreviated as `c` for convenience.\n - It must be of type object.\n\n#
|
358
|
+
EXAMPLES\n\n Creating a simple Puppet broker:\n \n {\n \"name\": \"puppet\",\n \"configuration\":
|
359
|
+
{\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"]}}}'
|
545
361
|
http_version:
|
546
|
-
recorded_at:
|
362
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
547
363
|
- request:
|
548
364
|
method: post
|
549
|
-
uri: http://localhost:
|
365
|
+
uri: http://localhost:8150/api/commands/create-broker
|
550
366
|
body:
|
551
367
|
encoding: UTF-8
|
552
|
-
string: '{"name":"puppet","configuration":{"server":"puppet.example.org","environment":"production"},"
|
368
|
+
string: '{"name":"puppet","configuration":{"server":"puppet.example.org","environment":"production"},"broker_type":"puppet"}'
|
553
369
|
headers:
|
554
370
|
Accept:
|
555
371
|
- application/json
|
@@ -575,15 +391,15 @@ http_interactions:
|
|
575
391
|
Content-Length:
|
576
392
|
- '209'
|
577
393
|
Date:
|
578
|
-
-
|
394
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
579
395
|
body:
|
580
396
|
encoding: US-ASCII
|
581
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/brokers/member","id":"http://localhost:
|
397
|
+
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"}'
|
582
398
|
http_version:
|
583
|
-
recorded_at:
|
399
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
584
400
|
- request:
|
585
401
|
method: get
|
586
|
-
uri: http://localhost:
|
402
|
+
uri: http://localhost:8150/api/collections/brokers/puppet
|
587
403
|
body:
|
588
404
|
encoding: US-ASCII
|
589
405
|
string: ''
|
@@ -608,15 +424,15 @@ http_interactions:
|
|
608
424
|
Content-Length:
|
609
425
|
- '356'
|
610
426
|
Date:
|
611
|
-
-
|
427
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
612
428
|
body:
|
613
429
|
encoding: US-ASCII
|
614
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/brokers/member","id":"http://localhost:
|
430
|
+
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"}}'
|
615
431
|
http_version:
|
616
|
-
recorded_at:
|
432
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
617
433
|
- request:
|
618
434
|
method: get
|
619
|
-
uri: http://localhost:
|
435
|
+
uri: http://localhost:8150/api
|
620
436
|
body:
|
621
437
|
encoding: US-ASCII
|
622
438
|
string: ''
|
@@ -639,17 +455,17 @@ http_interactions:
|
|
639
455
|
Content-Type:
|
640
456
|
- application/json;charset=utf-8
|
641
457
|
Content-Length:
|
642
|
-
- '
|
458
|
+
- '5650'
|
643
459
|
Date:
|
644
|
-
-
|
460
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
645
461
|
body:
|
646
462
|
encoding: US-ASCII
|
647
|
-
string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:
|
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"}}'
|
648
464
|
http_version:
|
649
|
-
recorded_at:
|
465
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
650
466
|
- request:
|
651
467
|
method: get
|
652
|
-
uri: http://localhost:
|
468
|
+
uri: http://localhost:8150/api/commands/create-tag
|
653
469
|
body:
|
654
470
|
encoding: US-ASCII
|
655
471
|
string: ''
|
@@ -668,156 +484,122 @@ http_interactions:
|
|
668
484
|
Server:
|
669
485
|
- Apache-Coyote/1.1
|
670
486
|
Etag:
|
671
|
-
- '"server-version-v0.
|
487
|
+
- '"server-version-v0.16.1-18-gd3acc7a-dirty"'
|
672
488
|
X-Content-Type-Options:
|
673
489
|
- nosniff
|
674
490
|
Content-Type:
|
675
491
|
- application/json;charset=utf-8
|
676
492
|
Content-Length:
|
677
|
-
- '
|
493
|
+
- '4439'
|
678
494
|
Date:
|
679
|
-
-
|
495
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
680
496
|
body:
|
681
497
|
encoding: ASCII-8BIT
|
682
498
|
string: !binary |-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
499
|
+
eyJuYW1lIjoiY3JlYXRlLXRhZyIsImhlbHAiOnsic3VtbWFyeSI6IkNyZWF0
|
500
|
+
ZSBhIG5ldyB0YWciLCJkZXNjcmlwdGlvbiI6IkNyZWF0ZSBhIG5ldyB0YWcs
|
501
|
+
IGFuZCBzZXQgdGhlIHJ1bGUgaXQgd2lsbCB1c2UgdG8gbWF0Y2ggb24gZmFj
|
502
|
+
dHMgYW5kIG5vZGVcbm1ldGFkYXRhLiIsInNjaGVtYSI6IiMgQWNjZXNzIENv
|
503
|
+
bnRyb2xcblxuVGhpcyBjb21tYW5kJ3MgYWNjZXNzIGNvbnRyb2wgcGF0dGVy
|
504
|
+
bjogYGNvbW1hbmRzOmNyZWF0ZS10YWc6JXtuYW1lfWBcblxuV29yZHMgc3Vy
|
505
|
+
cm91bmRlZCBieSBgJXsuLi59YCBhcmUgc3Vic3RpdHV0aW9ucyBmcm9tIHRo
|
506
|
+
ZSBpbnB1dCBkYXRhOiB0eXBpY2FsbHlcbnRoZSBuYW1lIG9mIHRoZSBvYmpl
|
507
|
+
Y3QgYmVpbmcgbW9kaWZpZWQsIG9yIHNvbWUgb3RoZXIgY3JpdGljYWwgZGV0
|
508
|
+
YWlsLCB0aGVzZVxuYWxsb3cgcm9sZXMgdG8gYmUgZ3JhbnRlZCBwYXJ0aWFs
|
509
|
+
IGFjY2VzcyB0byBtb2RpZnkgdGhlIHN5c3RlbS5cblxuRm9yIG1vcmUgZGV0
|
510
|
+
YWlsIG9uIGhvdyB0aGUgcGVybWlzc2lvbiBzdHJpbmdzIGFyZSBzdHJ1Y3R1
|
511
|
+
cmVkIGFuZCB3b3JrLCB5b3UgY2FuXG5zZWUgdGhlIFtTaGlybyBQZXJtaXNz
|
512
|
+
aW9ucyBkb2N1bWVudGF0aW9uXVtzaGlyb10uICBUaGF0IHBhdHRlcm4gaXMg
|
513
|
+
ZXhwYW5kZWRcbmFuZCB0aGVuIGEgcGVybWlzc2lvbiBjaGVjayBhcHBsaWVk
|
514
|
+
IHRvIGl0LCBiZWZvcmUgdGhlIGNvbW1hbmQgaXMgYXV0aG9yaXplZC5cblxu
|
515
|
+
VGhlc2UgY2hlY2tzIG9ubHkgYXBwbHkgaWYgc2VjdXJpdHkgaXMgZW5hYmxl
|
516
|
+
ZCBpbiB0aGUgUmF6b3IgY29uZmlndXJhdGlvblxuZmlsZTsgb24gdGhpcyBz
|
517
|
+
ZXJ2ZXIgc2VjdXJpdHkgaXMgY3VycmVudGx5IGRpc2FibGVkLlxuXG5bc2hp
|
518
|
+
cm9dOiBodHRwOi8vc2hpcm8uYXBhY2hlLm9yZy9wZXJtaXNzaW9ucy5odG1s
|
519
|
+
XG5cbiMgQXR0cmlidXRlc1xuXG4gKiBuYW1lXG4gICAtIFRoZSBuYW1lIG9m
|
520
|
+
IHRoZSB0YWcuXG4gICAtIFRoaXMgYXR0cmlidXRlIGlzIHJlcXVpcmVkLlxu
|
521
|
+
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=
|
732
598
|
http_version:
|
733
|
-
recorded_at:
|
734
|
-
- request:
|
735
|
-
method: get
|
736
|
-
uri: http://localhost:8080/api/commands/create-tag
|
737
|
-
body:
|
738
|
-
encoding: US-ASCII
|
739
|
-
string: ''
|
740
|
-
headers:
|
741
|
-
Accept:
|
742
|
-
- application/json
|
743
|
-
Accept-Encoding:
|
744
|
-
- gzip, deflate
|
745
|
-
User-Agent:
|
746
|
-
- Ruby
|
747
|
-
response:
|
748
|
-
status:
|
749
|
-
code: 200
|
750
|
-
message: OK
|
751
|
-
headers:
|
752
|
-
Server:
|
753
|
-
- Apache-Coyote/1.1
|
754
|
-
Etag:
|
755
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
756
|
-
X-Content-Type-Options:
|
757
|
-
- nosniff
|
758
|
-
Content-Type:
|
759
|
-
- application/json;charset=utf-8
|
760
|
-
Content-Length:
|
761
|
-
- '2178'
|
762
|
-
Date:
|
763
|
-
- Fri, 16 May 2014 22:18:08 GMT
|
764
|
-
body:
|
765
|
-
encoding: ASCII-8BIT
|
766
|
-
string: !binary |-
|
767
|
-
eyJuYW1lIjoiY3JlYXRlLXRhZyIsImhlbHAiOnsiZnVsbCI6IiMgU1lOT1BT
|
768
|
-
SVNcbkNyZWF0ZSBhIG5ldyB0YWdcblxuIyBERVNDUklQVElPTlxuQ3JlYXRl
|
769
|
-
IGEgbmV3IHRhZywgYW5kIHNldCB0aGUgcnVsZSBpdCB3aWxsIHVzZSB0byBt
|
770
|
-
YXRjaCBvbiBmYWN0cyBhbmQgbm9kZVxubWV0YWRhdGEuXG5cblxuIyBBY2Nl
|
771
|
-
c3MgQ29udHJvbFxuXG5UaGlzIGNvbW1hbmQncyBhY2Nlc3MgY29udHJvbCBw
|
772
|
-
YXR0ZXJuOiBgY29tbWFuZHM6Y3JlYXRlLXRhZzole25hbWV9YFxuXG5Xb3Jk
|
773
|
-
cyBzdXJyb3VuZGVkIGJ5IGAley4uLn1gIGFyZSBzdWJzdGl0dXRpb25zIGZy
|
774
|
-
b20gdGhlIGlucHV0IGRhdGE6IHR5cGljYWxseVxudGhlIG5hbWUgb2YgdGhl
|
775
|
-
IG9iamVjdCBiZWluZyBtb2RpZmllZCwgb3Igc29tZSBvdGhlciBjcml0aWNh
|
776
|
-
bCBkZXRhaWwsIHRoZXNlXG5hbGxvdyByb2xlcyB0byBiZSBncmFudGVkIHBh
|
777
|
-
cnRpYWwgYWNjZXNzIHRvIG1vZGlmeSB0aGUgc3lzdGVtLlxuXG5Gb3IgbW9y
|
778
|
-
ZSBkZXRhaWwgb24gaG93IHRoZSBwZXJtaXNzaW9uIHN0cmluZ3MgYXJlIHN0
|
779
|
-
cnVjdHVyZWQgYW5kIHdvcmssIHlvdSBjYW5cbnNlZSB0aGUgW1NoaXJvIFBl
|
780
|
-
cm1pc3Npb25zIGRvY3VtZW50YXRpb25dW3NoaXJvXS4gIFRoYXQgcGF0dGVy
|
781
|
-
biBpcyBleHBhbmRlZFxuYW5kIHRoZW4gYSBwZXJtaXNzaW9uIGNoZWNrIGFw
|
782
|
-
cGxpZWQgdG8gaXQsIGJlZm9yZSB0aGUgY29tbWFuZCBpcyBhdXRob3JpemVk
|
783
|
-
LlxuXG5UaGVzZSBjaGVja3Mgb25seSBhcHBseSBpZiBzZWN1cml0eSBpcyBl
|
784
|
-
bmFibGVkIGluIHRoZSBSYXpvciBjb25maWd1cmF0aW9uXG5maWxlOyBvbiB0
|
785
|
-
aGlzIHNlcnZlciBzZWN1cml0eSBpcyBjdXJyZW50bHkgZGlzYWJsZWQuXG5c
|
786
|
-
bltzaGlyb106IGh0dHA6Ly9zaGlyby5hcGFjaGUub3JnL3Blcm1pc3Npb25z
|
787
|
-
Lmh0bWxcblxuIyBBdHRyaWJ1dGVzXG5cbiAqIG5hbWVcbiAgIC0gVGhlIG5h
|
788
|
-
bWUgb2YgdGhlIHRhZ1xuICAgLSBUaGlzIGF0dHJpYnV0ZSBpcyByZXF1aXJl
|
789
|
-
ZFxuICAgLSBJdCBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nLlxuICAgLSBJdCBt
|
790
|
-
dXN0IGJlIGJldHdlZW4gMSBhbmQgSW5maW5pdHkgaW4gbGVuZ3RoLlxuXG4g
|
791
|
-
KiBydWxlXG4gICAtIFRoZSB0YWcgbWF0Y2hlcyBhIG5vZGUgaWYgZXZhbHVh
|
792
|
-
dGluZyB0aGlzIHJ1biBhZ2FpbnN0IHRoZSB0YWfigJlzIGZhY3RzXG4gICBy
|
793
|
-
ZXN1bHRzIGluIHRydWUuIE5vdGUgdGhhdCB0YWcgbWF0Y2hpbmcgaXMgY2Fz
|
794
|
-
ZSBzZW5zaXRpdmUuXG4gICBcbiAgIEZvciBleGFtcGxlLCBoZXJlIGlzIGEg
|
795
|
-
dGFnIHJ1bGU6XG4gICBcbiAgICAgICBbXCJvclwiLFxuICAgICAgICBbXCI9
|
796
|
-
XCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBcImRlOmVhOmRiOmVl
|
797
|
-
OmYwOjAwXCJdXG4gICAgICAgIFtcIj1cIiwgW1wiZmFjdFwiLCBcIm1hY2Fk
|
798
|
-
ZHJlc3NcIl0sIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1dXG4gICBcbiAgIFRo
|
799
|
-
ZSB0YWcgY291bGQgYWxzbyBiZSB3cml0dGVuIGxpa2UgdGhpczpcbiAgIFxu
|
800
|
-
ICAgICAgIFtcImluXCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBc
|
801
|
-
ImRlOmVhOmRiOmVlOmYwOjAwXCIsIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1c
|
802
|
-
biAgIFxuICAgVGhlIHN5bnRheCBmb3IgcnVsZSBleHByZXNzaW9ucyBpcyBk
|
803
|
-
ZWZpbmVkIGluXG4gICBgbGliL3Jhem9yL21hdGNoZXIucmJgLiBFeHByZXNz
|
804
|
-
aW9ucyBhcmUgb2YgdGhlIGZvcm0gYFtvcCBhcmcxIGFyZzIgLi4gYXJnbl1g
|
805
|
-
XG4gICB3aGVyZSBvcCBpcyBvbmUgb2YgdGhlIG9wZXJhdG9ycyBiZWxvdywg
|
806
|
-
YW5kIGFyZzEgdGhyb3VnaCBhcmduIGFyZSB0aGVcbiAgIGFyZ3VtZW50cyBm
|
807
|
-
b3IgdGhlIG9wZXJhdG9yLiBJZiB0aGV5IGFyZSBleHByZXNzaW9ucyB0aGVt
|
808
|
-
c2VsdmVzLCB0aGV5IHdpbGxcbiAgIGJlIGV2YWx1YXRlZCBiZWZvcmUgb3Ag
|
809
|
-
aXMgZXZhbHVhdGVkXG4gICAtIFRoaXMgYXR0cmlidXRlIGlzIHJlcXVpcmVk
|
810
|
-
XG4gICAtIEl0IG11c3QgYmUgb2YgdHlwZSBhcnJheS5cblxuXG5cbiMgRVhB
|
811
|
-
TVBMRVNcbiAgQ3JlYXRlIGEgc2ltcGxlIHRhZzpcbiAgXG4gIHtcbiAgICBc
|
812
|
-
Im5hbWVcIjogXCJzbWFsbFwiLFxuICAgIFwicnVsZVwiOiBbXCI9XCIsIFtc
|
813
|
-
ImZhY3RcIiwgXCJwcm9jZXNzb3Jjb3VudFwiXSwgXCIyXCJdXG4gIH1cblxu
|
814
|
-
In0sInNjaGVtYSI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifSwicnVsZSI6
|
815
|
-
eyJ0eXBlIjoiYXJyYXkifX19
|
816
|
-
http_version:
|
817
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
599
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
818
600
|
- request:
|
819
601
|
method: post
|
820
|
-
uri: http://localhost:
|
602
|
+
uri: http://localhost:8150/api/commands/create-tag
|
821
603
|
body:
|
822
604
|
encoding: UTF-8
|
823
605
|
string: '{"name":"tag1","rule":["=",["fact","processorcount"],"1"]}'
|
@@ -846,15 +628,15 @@ http_interactions:
|
|
846
628
|
Content-Length:
|
847
629
|
- '199'
|
848
630
|
Date:
|
849
|
-
-
|
631
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
850
632
|
body:
|
851
633
|
encoding: US-ASCII
|
852
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:
|
634
|
+
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"}'
|
853
635
|
http_version:
|
854
|
-
recorded_at:
|
636
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
855
637
|
- request:
|
856
638
|
method: get
|
857
|
-
uri: http://localhost:
|
639
|
+
uri: http://localhost:8150/api/collections/tags/tag1
|
858
640
|
body:
|
859
641
|
encoding: US-ASCII
|
860
642
|
string: ''
|
@@ -879,15 +661,15 @@ http_interactions:
|
|
879
661
|
Content-Length:
|
880
662
|
- '382'
|
881
663
|
Date:
|
882
|
-
-
|
664
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
883
665
|
body:
|
884
666
|
encoding: US-ASCII
|
885
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:
|
667
|
+
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"}}'
|
886
668
|
http_version:
|
887
|
-
recorded_at:
|
669
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
888
670
|
- request:
|
889
671
|
method: get
|
890
|
-
uri: http://localhost:
|
672
|
+
uri: http://localhost:8150/api
|
891
673
|
body:
|
892
674
|
encoding: US-ASCII
|
893
675
|
string: ''
|
@@ -910,17 +692,17 @@ http_interactions:
|
|
910
692
|
Content-Type:
|
911
693
|
- application/json;charset=utf-8
|
912
694
|
Content-Length:
|
913
|
-
- '
|
695
|
+
- '5650'
|
914
696
|
Date:
|
915
|
-
-
|
697
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
916
698
|
body:
|
917
699
|
encoding: US-ASCII
|
918
|
-
string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:
|
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"}}'
|
919
701
|
http_version:
|
920
|
-
recorded_at:
|
702
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
921
703
|
- request:
|
922
704
|
method: get
|
923
|
-
uri: http://localhost:
|
705
|
+
uri: http://localhost:8150/api/commands/create-tag
|
924
706
|
body:
|
925
707
|
encoding: US-ASCII
|
926
708
|
string: ''
|
@@ -939,156 +721,122 @@ http_interactions:
|
|
939
721
|
Server:
|
940
722
|
- Apache-Coyote/1.1
|
941
723
|
Etag:
|
942
|
-
- '"server-version-v0.
|
724
|
+
- '"server-version-v0.16.1-18-gd3acc7a-dirty"'
|
943
725
|
X-Content-Type-Options:
|
944
726
|
- nosniff
|
945
727
|
Content-Type:
|
946
728
|
- application/json;charset=utf-8
|
947
729
|
Content-Length:
|
948
|
-
- '
|
730
|
+
- '4439'
|
949
731
|
Date:
|
950
|
-
-
|
732
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
951
733
|
body:
|
952
734
|
encoding: ASCII-8BIT
|
953
735
|
string: !binary |-
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
736
|
+
eyJuYW1lIjoiY3JlYXRlLXRhZyIsImhlbHAiOnsic3VtbWFyeSI6IkNyZWF0
|
737
|
+
ZSBhIG5ldyB0YWciLCJkZXNjcmlwdGlvbiI6IkNyZWF0ZSBhIG5ldyB0YWcs
|
738
|
+
IGFuZCBzZXQgdGhlIHJ1bGUgaXQgd2lsbCB1c2UgdG8gbWF0Y2ggb24gZmFj
|
739
|
+
dHMgYW5kIG5vZGVcbm1ldGFkYXRhLiIsInNjaGVtYSI6IiMgQWNjZXNzIENv
|
740
|
+
bnRyb2xcblxuVGhpcyBjb21tYW5kJ3MgYWNjZXNzIGNvbnRyb2wgcGF0dGVy
|
741
|
+
bjogYGNvbW1hbmRzOmNyZWF0ZS10YWc6JXtuYW1lfWBcblxuV29yZHMgc3Vy
|
742
|
+
cm91bmRlZCBieSBgJXsuLi59YCBhcmUgc3Vic3RpdHV0aW9ucyBmcm9tIHRo
|
743
|
+
ZSBpbnB1dCBkYXRhOiB0eXBpY2FsbHlcbnRoZSBuYW1lIG9mIHRoZSBvYmpl
|
744
|
+
Y3QgYmVpbmcgbW9kaWZpZWQsIG9yIHNvbWUgb3RoZXIgY3JpdGljYWwgZGV0
|
745
|
+
YWlsLCB0aGVzZVxuYWxsb3cgcm9sZXMgdG8gYmUgZ3JhbnRlZCBwYXJ0aWFs
|
746
|
+
IGFjY2VzcyB0byBtb2RpZnkgdGhlIHN5c3RlbS5cblxuRm9yIG1vcmUgZGV0
|
747
|
+
YWlsIG9uIGhvdyB0aGUgcGVybWlzc2lvbiBzdHJpbmdzIGFyZSBzdHJ1Y3R1
|
748
|
+
cmVkIGFuZCB3b3JrLCB5b3UgY2FuXG5zZWUgdGhlIFtTaGlybyBQZXJtaXNz
|
749
|
+
aW9ucyBkb2N1bWVudGF0aW9uXVtzaGlyb10uICBUaGF0IHBhdHRlcm4gaXMg
|
750
|
+
ZXhwYW5kZWRcbmFuZCB0aGVuIGEgcGVybWlzc2lvbiBjaGVjayBhcHBsaWVk
|
751
|
+
IHRvIGl0LCBiZWZvcmUgdGhlIGNvbW1hbmQgaXMgYXV0aG9yaXplZC5cblxu
|
752
|
+
VGhlc2UgY2hlY2tzIG9ubHkgYXBwbHkgaWYgc2VjdXJpdHkgaXMgZW5hYmxl
|
753
|
+
ZCBpbiB0aGUgUmF6b3IgY29uZmlndXJhdGlvblxuZmlsZTsgb24gdGhpcyBz
|
754
|
+
ZXJ2ZXIgc2VjdXJpdHkgaXMgY3VycmVudGx5IGRpc2FibGVkLlxuXG5bc2hp
|
755
|
+
cm9dOiBodHRwOi8vc2hpcm8uYXBhY2hlLm9yZy9wZXJtaXNzaW9ucy5odG1s
|
756
|
+
XG5cbiMgQXR0cmlidXRlc1xuXG4gKiBuYW1lXG4gICAtIFRoZSBuYW1lIG9m
|
757
|
+
IHRoZSB0YWcuXG4gICAtIFRoaXMgYXR0cmlidXRlIGlzIHJlcXVpcmVkLlxu
|
758
|
+
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=
|
1003
835
|
http_version:
|
1004
|
-
recorded_at:
|
1005
|
-
- request:
|
1006
|
-
method: get
|
1007
|
-
uri: http://localhost:8080/api/commands/create-tag
|
1008
|
-
body:
|
1009
|
-
encoding: US-ASCII
|
1010
|
-
string: ''
|
1011
|
-
headers:
|
1012
|
-
Accept:
|
1013
|
-
- application/json
|
1014
|
-
Accept-Encoding:
|
1015
|
-
- gzip, deflate
|
1016
|
-
User-Agent:
|
1017
|
-
- Ruby
|
1018
|
-
response:
|
1019
|
-
status:
|
1020
|
-
code: 200
|
1021
|
-
message: OK
|
1022
|
-
headers:
|
1023
|
-
Server:
|
1024
|
-
- Apache-Coyote/1.1
|
1025
|
-
Etag:
|
1026
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1027
|
-
X-Content-Type-Options:
|
1028
|
-
- nosniff
|
1029
|
-
Content-Type:
|
1030
|
-
- application/json;charset=utf-8
|
1031
|
-
Content-Length:
|
1032
|
-
- '2178'
|
1033
|
-
Date:
|
1034
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1035
|
-
body:
|
1036
|
-
encoding: ASCII-8BIT
|
1037
|
-
string: !binary |-
|
1038
|
-
eyJuYW1lIjoiY3JlYXRlLXRhZyIsImhlbHAiOnsiZnVsbCI6IiMgU1lOT1BT
|
1039
|
-
SVNcbkNyZWF0ZSBhIG5ldyB0YWdcblxuIyBERVNDUklQVElPTlxuQ3JlYXRl
|
1040
|
-
IGEgbmV3IHRhZywgYW5kIHNldCB0aGUgcnVsZSBpdCB3aWxsIHVzZSB0byBt
|
1041
|
-
YXRjaCBvbiBmYWN0cyBhbmQgbm9kZVxubWV0YWRhdGEuXG5cblxuIyBBY2Nl
|
1042
|
-
c3MgQ29udHJvbFxuXG5UaGlzIGNvbW1hbmQncyBhY2Nlc3MgY29udHJvbCBw
|
1043
|
-
YXR0ZXJuOiBgY29tbWFuZHM6Y3JlYXRlLXRhZzole25hbWV9YFxuXG5Xb3Jk
|
1044
|
-
cyBzdXJyb3VuZGVkIGJ5IGAley4uLn1gIGFyZSBzdWJzdGl0dXRpb25zIGZy
|
1045
|
-
b20gdGhlIGlucHV0IGRhdGE6IHR5cGljYWxseVxudGhlIG5hbWUgb2YgdGhl
|
1046
|
-
IG9iamVjdCBiZWluZyBtb2RpZmllZCwgb3Igc29tZSBvdGhlciBjcml0aWNh
|
1047
|
-
bCBkZXRhaWwsIHRoZXNlXG5hbGxvdyByb2xlcyB0byBiZSBncmFudGVkIHBh
|
1048
|
-
cnRpYWwgYWNjZXNzIHRvIG1vZGlmeSB0aGUgc3lzdGVtLlxuXG5Gb3IgbW9y
|
1049
|
-
ZSBkZXRhaWwgb24gaG93IHRoZSBwZXJtaXNzaW9uIHN0cmluZ3MgYXJlIHN0
|
1050
|
-
cnVjdHVyZWQgYW5kIHdvcmssIHlvdSBjYW5cbnNlZSB0aGUgW1NoaXJvIFBl
|
1051
|
-
cm1pc3Npb25zIGRvY3VtZW50YXRpb25dW3NoaXJvXS4gIFRoYXQgcGF0dGVy
|
1052
|
-
biBpcyBleHBhbmRlZFxuYW5kIHRoZW4gYSBwZXJtaXNzaW9uIGNoZWNrIGFw
|
1053
|
-
cGxpZWQgdG8gaXQsIGJlZm9yZSB0aGUgY29tbWFuZCBpcyBhdXRob3JpemVk
|
1054
|
-
LlxuXG5UaGVzZSBjaGVja3Mgb25seSBhcHBseSBpZiBzZWN1cml0eSBpcyBl
|
1055
|
-
bmFibGVkIGluIHRoZSBSYXpvciBjb25maWd1cmF0aW9uXG5maWxlOyBvbiB0
|
1056
|
-
aGlzIHNlcnZlciBzZWN1cml0eSBpcyBjdXJyZW50bHkgZGlzYWJsZWQuXG5c
|
1057
|
-
bltzaGlyb106IGh0dHA6Ly9zaGlyby5hcGFjaGUub3JnL3Blcm1pc3Npb25z
|
1058
|
-
Lmh0bWxcblxuIyBBdHRyaWJ1dGVzXG5cbiAqIG5hbWVcbiAgIC0gVGhlIG5h
|
1059
|
-
bWUgb2YgdGhlIHRhZ1xuICAgLSBUaGlzIGF0dHJpYnV0ZSBpcyByZXF1aXJl
|
1060
|
-
ZFxuICAgLSBJdCBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nLlxuICAgLSBJdCBt
|
1061
|
-
dXN0IGJlIGJldHdlZW4gMSBhbmQgSW5maW5pdHkgaW4gbGVuZ3RoLlxuXG4g
|
1062
|
-
KiBydWxlXG4gICAtIFRoZSB0YWcgbWF0Y2hlcyBhIG5vZGUgaWYgZXZhbHVh
|
1063
|
-
dGluZyB0aGlzIHJ1biBhZ2FpbnN0IHRoZSB0YWfigJlzIGZhY3RzXG4gICBy
|
1064
|
-
ZXN1bHRzIGluIHRydWUuIE5vdGUgdGhhdCB0YWcgbWF0Y2hpbmcgaXMgY2Fz
|
1065
|
-
ZSBzZW5zaXRpdmUuXG4gICBcbiAgIEZvciBleGFtcGxlLCBoZXJlIGlzIGEg
|
1066
|
-
dGFnIHJ1bGU6XG4gICBcbiAgICAgICBbXCJvclwiLFxuICAgICAgICBbXCI9
|
1067
|
-
XCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBcImRlOmVhOmRiOmVl
|
1068
|
-
OmYwOjAwXCJdXG4gICAgICAgIFtcIj1cIiwgW1wiZmFjdFwiLCBcIm1hY2Fk
|
1069
|
-
ZHJlc3NcIl0sIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1dXG4gICBcbiAgIFRo
|
1070
|
-
ZSB0YWcgY291bGQgYWxzbyBiZSB3cml0dGVuIGxpa2UgdGhpczpcbiAgIFxu
|
1071
|
-
ICAgICAgIFtcImluXCIsIFtcImZhY3RcIiwgXCJtYWNhZGRyZXNzXCJdLCBc
|
1072
|
-
ImRlOmVhOmRiOmVlOmYwOjAwXCIsIFwiZGU6ZWE6ZGI6ZWU6ZjA6MDFcIl1c
|
1073
|
-
biAgIFxuICAgVGhlIHN5bnRheCBmb3IgcnVsZSBleHByZXNzaW9ucyBpcyBk
|
1074
|
-
ZWZpbmVkIGluXG4gICBgbGliL3Jhem9yL21hdGNoZXIucmJgLiBFeHByZXNz
|
1075
|
-
aW9ucyBhcmUgb2YgdGhlIGZvcm0gYFtvcCBhcmcxIGFyZzIgLi4gYXJnbl1g
|
1076
|
-
XG4gICB3aGVyZSBvcCBpcyBvbmUgb2YgdGhlIG9wZXJhdG9ycyBiZWxvdywg
|
1077
|
-
YW5kIGFyZzEgdGhyb3VnaCBhcmduIGFyZSB0aGVcbiAgIGFyZ3VtZW50cyBm
|
1078
|
-
b3IgdGhlIG9wZXJhdG9yLiBJZiB0aGV5IGFyZSBleHByZXNzaW9ucyB0aGVt
|
1079
|
-
c2VsdmVzLCB0aGV5IHdpbGxcbiAgIGJlIGV2YWx1YXRlZCBiZWZvcmUgb3Ag
|
1080
|
-
aXMgZXZhbHVhdGVkXG4gICAtIFRoaXMgYXR0cmlidXRlIGlzIHJlcXVpcmVk
|
1081
|
-
XG4gICAtIEl0IG11c3QgYmUgb2YgdHlwZSBhcnJheS5cblxuXG5cbiMgRVhB
|
1082
|
-
TVBMRVNcbiAgQ3JlYXRlIGEgc2ltcGxlIHRhZzpcbiAgXG4gIHtcbiAgICBc
|
1083
|
-
Im5hbWVcIjogXCJzbWFsbFwiLFxuICAgIFwicnVsZVwiOiBbXCI9XCIsIFtc
|
1084
|
-
ImZhY3RcIiwgXCJwcm9jZXNzb3Jjb3VudFwiXSwgXCIyXCJdXG4gIH1cblxu
|
1085
|
-
In0sInNjaGVtYSI6eyJuYW1lIjp7InR5cGUiOiJzdHJpbmcifSwicnVsZSI6
|
1086
|
-
eyJ0eXBlIjoiYXJyYXkifX19
|
1087
|
-
http_version:
|
1088
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
836
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
1089
837
|
- request:
|
1090
838
|
method: post
|
1091
|
-
uri: http://localhost:
|
839
|
+
uri: http://localhost:8150/api/commands/create-tag
|
1092
840
|
body:
|
1093
841
|
encoding: UTF-8
|
1094
842
|
string: '{"name":"tag2","rule":["=",["fact","processorcount"],"2"]}'
|
@@ -1117,15 +865,15 @@ http_interactions:
|
|
1117
865
|
Content-Length:
|
1118
866
|
- '199'
|
1119
867
|
Date:
|
1120
|
-
-
|
868
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
1121
869
|
body:
|
1122
870
|
encoding: US-ASCII
|
1123
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:
|
871
|
+
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"}'
|
1124
872
|
http_version:
|
1125
|
-
recorded_at:
|
873
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
1126
874
|
- request:
|
1127
875
|
method: get
|
1128
|
-
uri: http://localhost:
|
876
|
+
uri: http://localhost:8150/api/collections/tags/tag2
|
1129
877
|
body:
|
1130
878
|
encoding: US-ASCII
|
1131
879
|
string: ''
|
@@ -1150,15 +898,15 @@ http_interactions:
|
|
1150
898
|
Content-Length:
|
1151
899
|
- '382'
|
1152
900
|
Date:
|
1153
|
-
-
|
901
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
1154
902
|
body:
|
1155
903
|
encoding: US-ASCII
|
1156
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/tags/member","id":"http://localhost:
|
904
|
+
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"}}'
|
1157
905
|
http_version:
|
1158
|
-
recorded_at:
|
906
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
1159
907
|
- request:
|
1160
908
|
method: get
|
1161
|
-
uri: http://localhost:
|
909
|
+
uri: http://localhost:8150/api
|
1162
910
|
body:
|
1163
911
|
encoding: US-ASCII
|
1164
912
|
string: ''
|
@@ -1181,17 +929,17 @@ http_interactions:
|
|
1181
929
|
Content-Type:
|
1182
930
|
- application/json;charset=utf-8
|
1183
931
|
Content-Length:
|
1184
|
-
- '
|
932
|
+
- '5650'
|
1185
933
|
Date:
|
1186
|
-
-
|
934
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
1187
935
|
body:
|
1188
936
|
encoding: US-ASCII
|
1189
|
-
string: '{"commands":[{"name":"add-policy-tag","rel":"http://api.puppetlabs.com/razor/v1/commands/add-policy-tag","id":"http://localhost:
|
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"}}'
|
1190
938
|
http_version:
|
1191
|
-
recorded_at:
|
939
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
1192
940
|
- request:
|
1193
941
|
method: get
|
1194
|
-
uri: http://localhost:
|
942
|
+
uri: http://localhost:8150/api/commands/create-policy
|
1195
943
|
body:
|
1196
944
|
encoding: US-ASCII
|
1197
945
|
string: ''
|
@@ -1210,24 +958,24 @@ http_interactions:
|
|
1210
958
|
Server:
|
1211
959
|
- Apache-Coyote/1.1
|
1212
960
|
Etag:
|
1213
|
-
- '"server-version-v0.
|
961
|
+
- '"server-version-v0.16.1-18-gd3acc7a-dirty"'
|
1214
962
|
X-Content-Type-Options:
|
1215
963
|
- nosniff
|
1216
964
|
Content-Type:
|
1217
965
|
- application/json;charset=utf-8
|
1218
966
|
Content-Length:
|
1219
|
-
- '
|
967
|
+
- '11193'
|
1220
968
|
Date:
|
1221
|
-
-
|
969
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
1222
970
|
body:
|
1223
971
|
encoding: US-ASCII
|
1224
|
-
string: '{"name":"create-policy","help":{"
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
`before` or `after` are specified, the policy is\nappended to the policy table
|
972
|
+
string: '{"name":"create-policy","help":{"summary":"Create a new policy","description":"Policies
|
973
|
+
tie together the rules, as tags, with the task and repo containing\nthe OS
|
974
|
+
to install, and the broker for post-install configuration.\n\nThe overall
|
975
|
+
list of policies is ordered, and policies are considered in that\norder. When
|
976
|
+
a new policy is created, the entry `before` or `after` can be\nused to put
|
977
|
+
the new policy into the table before or after another\npolicy. If neither
|
978
|
+
`before` or `after` are specified, the policy is\nappended to the policy table.","schema":"#
|
1231
979
|
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1232
980
|
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1233
981
|
name of the object being modified, or some other critical detail, these\nallow
|
@@ -1238,647 +986,62 @@ http_interactions:
|
|
1238
986
|
apply if security is enabled in the Razor configuration\nfile; on this server
|
1239
987
|
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1240
988
|
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1241
|
-
is required
|
989
|
+
is required.\n - It must be of type string.\n - It must be between 1 and
|
1242
990
|
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1243
|
-
installed nodes. This is filled\n
|
1244
|
-
to the task to be configured\n
|
1245
|
-
are performed using `${...}` syntax, and the available\n
|
1246
|
-
on your server are:\n
|
1247
|
-
attribute is required
|
1248
|
-
1 and Infinity in length.\n\n *
|
1249
|
-
newly installed systems. This is passed directly\n
|
1250
|
-
rather than \"understood\" by the server, so the\n
|
1251
|
-
on the individual task capabilities.\n - This attribute is
|
1252
|
-
It must be of type string.\n - It must be between 1 and
|
1253
|
-
* enabled\n - Is this policy enabled when first
|
1254
|
-
of type boolean.\n\n *
|
1255
|
-
bind to this policy.\n
|
1256
|
-
is applied.\n - It must be of type number.\n\n
|
1257
|
-
the policy to create this policy before in the
|
1258
|
-
be of type string.\n - If present, after must
|
1259
|
-
match the name of an existing policy.\n\n *
|
1260
|
-
to create this policy after in the policy
|
1261
|
-
|
1262
|
-
existing policy.\n\n * tags\n -
|
1263
|
-
for matching nodes to this policy.\n
|
1264
|
-
matched on it, it will be a candidate\n
|
1265
|
-
|
1266
|
-
|
1267
|
-
|
1268
|
-
|
1269
|
-
|
1270
|
-
|
1271
|
-
|
1272
|
-
|
1273
|
-
management
|
1274
|
-
|
1275
|
-
|
1276
|
-
|
1277
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
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
|
1017
|
+
happen.\n - This attribute is required.\n - It must be of type string.\n -
|
1018
|
+
It must match the name of an existing repo.\n\n * broker\n - The name of
|
1019
|
+
the broker to use when the node is fully installed, and is ready\n to
|
1020
|
+
hand off to the final configuration management system. If you have no\n ongoing
|
1021
|
+
configuration management, the supplied `noop` broker will do nothing.\n \n Please
|
1022
|
+
note that this is a broker created with the `create-broker` command,\n which
|
1023
|
+
is distinct from the broker types found on disk.\n - This attribute is required.\n -
|
1024
|
+
It must be of type string.\n - It must match the name of an existing broker.\n\n
|
1278
1025
|
* task\n - The name of the task used to install nodes that match this policy. This
|
1279
|
-
must\n
|
1280
|
-
that repository.\n - This attribute is required
|
1281
|
-
string.\n\n
|
1282
|
-
\
|
1283
|
-
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
|
1295
|
-
|
1296
|
-
|
1297
|
-
|
1298
|
-
response:
|
1299
|
-
status:
|
1300
|
-
code: 200
|
1301
|
-
message: OK
|
1302
|
-
headers:
|
1303
|
-
Server:
|
1304
|
-
- Apache-Coyote/1.1
|
1305
|
-
Etag:
|
1306
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1307
|
-
X-Content-Type-Options:
|
1308
|
-
- nosniff
|
1309
|
-
Content-Type:
|
1310
|
-
- application/json;charset=utf-8
|
1311
|
-
Content-Length:
|
1312
|
-
- '5306'
|
1313
|
-
Date:
|
1314
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1315
|
-
body:
|
1316
|
-
encoding: US-ASCII
|
1317
|
-
string: '{"name":"create-policy","help":{"full":"# SYNOPSIS\nCreate a new policy\n\n#
|
1318
|
-
DESCRIPTION\nPolicies tie together the rules, as tags, with the task and repo
|
1319
|
-
containing\nthe OS to install, and the broker for post-install configuration.\n\nThe
|
1320
|
-
overall list of policies is ordered, and policies are considered in that\norder.
|
1321
|
-
When a new policy is created, the entry `before` or `after` can be\nused to
|
1322
|
-
put the new policy into the table before or after another\npolicy. If neither
|
1323
|
-
`before` or `after` are specified, the policy is\nappended to the policy table.\n\n\n#
|
1324
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1325
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1326
|
-
name of the object being modified, or some other critical detail, these\nallow
|
1327
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
1328
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
1329
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
1330
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
1331
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
1332
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1333
|
-
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1334
|
-
is required\n - It must be of type string.\n - It must be between 1 and
|
1335
|
-
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1336
|
-
installed nodes. This is filled\n in on a per-node basis, and then supplied
|
1337
|
-
to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
|
1338
|
-
are performed using `${...}` syntax, and the available\n substitution names
|
1339
|
-
on your server are:\n \n - id -- the internal node ID number\n - This
|
1340
|
-
attribute is required\n - It must be of type string.\n - It must be between
|
1341
|
-
1 and Infinity in length.\n\n * root-password\n - The root password for
|
1342
|
-
newly installed systems. This is passed directly\n to the individual task,
|
1343
|
-
rather than \"understood\" by the server, so the\n valid values are dependent
|
1344
|
-
on the individual task capabilities.\n - This attribute is required\n -
|
1345
|
-
It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
|
1346
|
-
* enabled\n - Is this policy enabled when first created?\n - It must be
|
1347
|
-
of type boolean.\n\n * max-count\n - The maximum number of nodes that can
|
1348
|
-
bind to this policy.\n If omitted, the policy is ''unlimited'', and no maximum
|
1349
|
-
is applied.\n - It must be of type number.\n\n * before\n - The name of
|
1350
|
-
the policy to create this policy before in the policy list.\n - It must
|
1351
|
-
be of type string.\n - If present, after must not be present.\n - It must
|
1352
|
-
match the name of an existing policy.\n\n * after\n - The name of the policy
|
1353
|
-
to create this policy after in the policy list.\n - It must be of type string.\n -
|
1354
|
-
If present, before must not be present.\n - It must match the name of an
|
1355
|
-
existing policy.\n\n * tags\n - The array of names of tags that are used
|
1356
|
-
for matching nodes to this policy.\n \n When a node has all these tags
|
1357
|
-
matched on it, it will be a candidate\n for binding to this policy.\n -
|
1358
|
-
It must be of type array.\n \n - This value must be an array.\n -
|
1359
|
-
\n - This must be an array.\n - All elements must be of type string.\n -
|
1360
|
-
All elements must match the name of an existing tag.\n \n \n\n * repo\n -
|
1361
|
-
The name of the repository containing the OS to be installed by this policy.\n This
|
1362
|
-
should match the task assigned, or bad things will happen.\n - This attribute
|
1363
|
-
is required\n - It must be of type string.\n - It must match the name
|
1364
|
-
of an existing repo.\n\n * broker\n - The name of the broker to use when
|
1365
|
-
the node is fully installed, and is ready\n to hand off to the final configuration
|
1366
|
-
management system. If you have no\n ongoing configuration management, the
|
1367
|
-
supplied `noop` broker will do nothing.\n \n Please note that this is
|
1368
|
-
a broker created with the `create-broker` command,\n which is distinct from
|
1369
|
-
the broker types found on disk.\n - This attribute is required\n - It
|
1370
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
1371
|
-
* task\n - The name of the task used to install nodes that match this policy. This
|
1372
|
-
must\n match the selected repo, as it references files contained within
|
1373
|
-
that repository.\n - This attribute is required\n - It must be of type
|
1374
|
-
string.\n\n\n\n# EXAMPLES\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\":
|
1375
|
-
\"secret\",\n \"max-count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"]\n }\n\n"},"schema":{"name":{"type":"string"},"hostname":{"type":"string"},"root-password":{"type":"string"},"enabled":{"type":"boolean"},"max-count":{"type":"number"},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array"},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"}}}'
|
1376
|
-
http_version:
|
1377
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
1378
|
-
- request:
|
1379
|
-
method: get
|
1380
|
-
uri: http://localhost:8080/api/commands/create-policy
|
1381
|
-
body:
|
1382
|
-
encoding: US-ASCII
|
1383
|
-
string: ''
|
1384
|
-
headers:
|
1385
|
-
Accept:
|
1386
|
-
- application/json
|
1387
|
-
Accept-Encoding:
|
1388
|
-
- gzip, deflate
|
1389
|
-
User-Agent:
|
1390
|
-
- Ruby
|
1391
|
-
response:
|
1392
|
-
status:
|
1393
|
-
code: 200
|
1394
|
-
message: OK
|
1395
|
-
headers:
|
1396
|
-
Server:
|
1397
|
-
- Apache-Coyote/1.1
|
1398
|
-
Etag:
|
1399
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1400
|
-
X-Content-Type-Options:
|
1401
|
-
- nosniff
|
1402
|
-
Content-Type:
|
1403
|
-
- application/json;charset=utf-8
|
1404
|
-
Content-Length:
|
1405
|
-
- '5306'
|
1406
|
-
Date:
|
1407
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1408
|
-
body:
|
1409
|
-
encoding: US-ASCII
|
1410
|
-
string: '{"name":"create-policy","help":{"full":"# SYNOPSIS\nCreate a new policy\n\n#
|
1411
|
-
DESCRIPTION\nPolicies tie together the rules, as tags, with the task and repo
|
1412
|
-
containing\nthe OS to install, and the broker for post-install configuration.\n\nThe
|
1413
|
-
overall list of policies is ordered, and policies are considered in that\norder.
|
1414
|
-
When a new policy is created, the entry `before` or `after` can be\nused to
|
1415
|
-
put the new policy into the table before or after another\npolicy. If neither
|
1416
|
-
`before` or `after` are specified, the policy is\nappended to the policy table.\n\n\n#
|
1417
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1418
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1419
|
-
name of the object being modified, or some other critical detail, these\nallow
|
1420
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
1421
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
1422
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
1423
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
1424
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
1425
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1426
|
-
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1427
|
-
is required\n - It must be of type string.\n - It must be between 1 and
|
1428
|
-
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1429
|
-
installed nodes. This is filled\n in on a per-node basis, and then supplied
|
1430
|
-
to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
|
1431
|
-
are performed using `${...}` syntax, and the available\n substitution names
|
1432
|
-
on your server are:\n \n - id -- the internal node ID number\n - This
|
1433
|
-
attribute is required\n - It must be of type string.\n - It must be between
|
1434
|
-
1 and Infinity in length.\n\n * root-password\n - The root password for
|
1435
|
-
newly installed systems. This is passed directly\n to the individual task,
|
1436
|
-
rather than \"understood\" by the server, so the\n valid values are dependent
|
1437
|
-
on the individual task capabilities.\n - This attribute is required\n -
|
1438
|
-
It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
|
1439
|
-
* enabled\n - Is this policy enabled when first created?\n - It must be
|
1440
|
-
of type boolean.\n\n * max-count\n - The maximum number of nodes that can
|
1441
|
-
bind to this policy.\n If omitted, the policy is ''unlimited'', and no maximum
|
1442
|
-
is applied.\n - It must be of type number.\n\n * before\n - The name of
|
1443
|
-
the policy to create this policy before in the policy list.\n - It must
|
1444
|
-
be of type string.\n - If present, after must not be present.\n - It must
|
1445
|
-
match the name of an existing policy.\n\n * after\n - The name of the policy
|
1446
|
-
to create this policy after in the policy list.\n - It must be of type string.\n -
|
1447
|
-
If present, before must not be present.\n - It must match the name of an
|
1448
|
-
existing policy.\n\n * tags\n - The array of names of tags that are used
|
1449
|
-
for matching nodes to this policy.\n \n When a node has all these tags
|
1450
|
-
matched on it, it will be a candidate\n for binding to this policy.\n -
|
1451
|
-
It must be of type array.\n \n - This value must be an array.\n -
|
1452
|
-
\n - This must be an array.\n - All elements must be of type string.\n -
|
1453
|
-
All elements must match the name of an existing tag.\n \n \n\n * repo\n -
|
1454
|
-
The name of the repository containing the OS to be installed by this policy.\n This
|
1455
|
-
should match the task assigned, or bad things will happen.\n - This attribute
|
1456
|
-
is required\n - It must be of type string.\n - It must match the name
|
1457
|
-
of an existing repo.\n\n * broker\n - The name of the broker to use when
|
1458
|
-
the node is fully installed, and is ready\n to hand off to the final configuration
|
1459
|
-
management system. If you have no\n ongoing configuration management, the
|
1460
|
-
supplied `noop` broker will do nothing.\n \n Please note that this is
|
1461
|
-
a broker created with the `create-broker` command,\n which is distinct from
|
1462
|
-
the broker types found on disk.\n - This attribute is required\n - It
|
1463
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
1464
|
-
* task\n - The name of the task used to install nodes that match this policy. This
|
1465
|
-
must\n match the selected repo, as it references files contained within
|
1466
|
-
that repository.\n - This attribute is required\n - It must be of type
|
1467
|
-
string.\n\n\n\n# EXAMPLES\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\":
|
1468
|
-
\"secret\",\n \"max-count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"]\n }\n\n"},"schema":{"name":{"type":"string"},"hostname":{"type":"string"},"root-password":{"type":"string"},"enabled":{"type":"boolean"},"max-count":{"type":"number"},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array"},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"}}}'
|
1469
|
-
http_version:
|
1470
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
1471
|
-
- request:
|
1472
|
-
method: get
|
1473
|
-
uri: http://localhost:8080/api/commands/create-policy
|
1474
|
-
body:
|
1475
|
-
encoding: US-ASCII
|
1476
|
-
string: ''
|
1477
|
-
headers:
|
1478
|
-
Accept:
|
1479
|
-
- application/json
|
1480
|
-
Accept-Encoding:
|
1481
|
-
- gzip, deflate
|
1482
|
-
User-Agent:
|
1483
|
-
- Ruby
|
1484
|
-
response:
|
1485
|
-
status:
|
1486
|
-
code: 200
|
1487
|
-
message: OK
|
1488
|
-
headers:
|
1489
|
-
Server:
|
1490
|
-
- Apache-Coyote/1.1
|
1491
|
-
Etag:
|
1492
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1493
|
-
X-Content-Type-Options:
|
1494
|
-
- nosniff
|
1495
|
-
Content-Type:
|
1496
|
-
- application/json;charset=utf-8
|
1497
|
-
Content-Length:
|
1498
|
-
- '5306'
|
1499
|
-
Date:
|
1500
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1501
|
-
body:
|
1502
|
-
encoding: US-ASCII
|
1503
|
-
string: '{"name":"create-policy","help":{"full":"# SYNOPSIS\nCreate a new policy\n\n#
|
1504
|
-
DESCRIPTION\nPolicies tie together the rules, as tags, with the task and repo
|
1505
|
-
containing\nthe OS to install, and the broker for post-install configuration.\n\nThe
|
1506
|
-
overall list of policies is ordered, and policies are considered in that\norder.
|
1507
|
-
When a new policy is created, the entry `before` or `after` can be\nused to
|
1508
|
-
put the new policy into the table before or after another\npolicy. If neither
|
1509
|
-
`before` or `after` are specified, the policy is\nappended to the policy table.\n\n\n#
|
1510
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1511
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1512
|
-
name of the object being modified, or some other critical detail, these\nallow
|
1513
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
1514
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
1515
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
1516
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
1517
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
1518
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1519
|
-
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1520
|
-
is required\n - It must be of type string.\n - It must be between 1 and
|
1521
|
-
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1522
|
-
installed nodes. This is filled\n in on a per-node basis, and then supplied
|
1523
|
-
to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
|
1524
|
-
are performed using `${...}` syntax, and the available\n substitution names
|
1525
|
-
on your server are:\n \n - id -- the internal node ID number\n - This
|
1526
|
-
attribute is required\n - It must be of type string.\n - It must be between
|
1527
|
-
1 and Infinity in length.\n\n * root-password\n - The root password for
|
1528
|
-
newly installed systems. This is passed directly\n to the individual task,
|
1529
|
-
rather than \"understood\" by the server, so the\n valid values are dependent
|
1530
|
-
on the individual task capabilities.\n - This attribute is required\n -
|
1531
|
-
It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
|
1532
|
-
* enabled\n - Is this policy enabled when first created?\n - It must be
|
1533
|
-
of type boolean.\n\n * max-count\n - The maximum number of nodes that can
|
1534
|
-
bind to this policy.\n If omitted, the policy is ''unlimited'', and no maximum
|
1535
|
-
is applied.\n - It must be of type number.\n\n * before\n - The name of
|
1536
|
-
the policy to create this policy before in the policy list.\n - It must
|
1537
|
-
be of type string.\n - If present, after must not be present.\n - It must
|
1538
|
-
match the name of an existing policy.\n\n * after\n - The name of the policy
|
1539
|
-
to create this policy after in the policy list.\n - It must be of type string.\n -
|
1540
|
-
If present, before must not be present.\n - It must match the name of an
|
1541
|
-
existing policy.\n\n * tags\n - The array of names of tags that are used
|
1542
|
-
for matching nodes to this policy.\n \n When a node has all these tags
|
1543
|
-
matched on it, it will be a candidate\n for binding to this policy.\n -
|
1544
|
-
It must be of type array.\n \n - This value must be an array.\n -
|
1545
|
-
\n - This must be an array.\n - All elements must be of type string.\n -
|
1546
|
-
All elements must match the name of an existing tag.\n \n \n\n * repo\n -
|
1547
|
-
The name of the repository containing the OS to be installed by this policy.\n This
|
1548
|
-
should match the task assigned, or bad things will happen.\n - This attribute
|
1549
|
-
is required\n - It must be of type string.\n - It must match the name
|
1550
|
-
of an existing repo.\n\n * broker\n - The name of the broker to use when
|
1551
|
-
the node is fully installed, and is ready\n to hand off to the final configuration
|
1552
|
-
management system. If you have no\n ongoing configuration management, the
|
1553
|
-
supplied `noop` broker will do nothing.\n \n Please note that this is
|
1554
|
-
a broker created with the `create-broker` command,\n which is distinct from
|
1555
|
-
the broker types found on disk.\n - This attribute is required\n - It
|
1556
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
1557
|
-
* task\n - The name of the task used to install nodes that match this policy. This
|
1558
|
-
must\n match the selected repo, as it references files contained within
|
1559
|
-
that repository.\n - This attribute is required\n - It must be of type
|
1560
|
-
string.\n\n\n\n# EXAMPLES\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\":
|
1561
|
-
\"secret\",\n \"max-count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"]\n }\n\n"},"schema":{"name":{"type":"string"},"hostname":{"type":"string"},"root-password":{"type":"string"},"enabled":{"type":"boolean"},"max-count":{"type":"number"},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array"},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"}}}'
|
1562
|
-
http_version:
|
1563
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
1564
|
-
- request:
|
1565
|
-
method: get
|
1566
|
-
uri: http://localhost:8080/api/commands/create-policy
|
1567
|
-
body:
|
1568
|
-
encoding: US-ASCII
|
1569
|
-
string: ''
|
1570
|
-
headers:
|
1571
|
-
Accept:
|
1572
|
-
- application/json
|
1573
|
-
Accept-Encoding:
|
1574
|
-
- gzip, deflate
|
1575
|
-
User-Agent:
|
1576
|
-
- Ruby
|
1577
|
-
response:
|
1578
|
-
status:
|
1579
|
-
code: 200
|
1580
|
-
message: OK
|
1581
|
-
headers:
|
1582
|
-
Server:
|
1583
|
-
- Apache-Coyote/1.1
|
1584
|
-
Etag:
|
1585
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1586
|
-
X-Content-Type-Options:
|
1587
|
-
- nosniff
|
1588
|
-
Content-Type:
|
1589
|
-
- application/json;charset=utf-8
|
1590
|
-
Content-Length:
|
1591
|
-
- '5306'
|
1592
|
-
Date:
|
1593
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1594
|
-
body:
|
1595
|
-
encoding: US-ASCII
|
1596
|
-
string: '{"name":"create-policy","help":{"full":"# SYNOPSIS\nCreate a new policy\n\n#
|
1597
|
-
DESCRIPTION\nPolicies tie together the rules, as tags, with the task and repo
|
1598
|
-
containing\nthe OS to install, and the broker for post-install configuration.\n\nThe
|
1599
|
-
overall list of policies is ordered, and policies are considered in that\norder.
|
1600
|
-
When a new policy is created, the entry `before` or `after` can be\nused to
|
1601
|
-
put the new policy into the table before or after another\npolicy. If neither
|
1602
|
-
`before` or `after` are specified, the policy is\nappended to the policy table.\n\n\n#
|
1603
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1604
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1605
|
-
name of the object being modified, or some other critical detail, these\nallow
|
1606
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
1607
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
1608
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
1609
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
1610
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
1611
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1612
|
-
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1613
|
-
is required\n - It must be of type string.\n - It must be between 1 and
|
1614
|
-
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1615
|
-
installed nodes. This is filled\n in on a per-node basis, and then supplied
|
1616
|
-
to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
|
1617
|
-
are performed using `${...}` syntax, and the available\n substitution names
|
1618
|
-
on your server are:\n \n - id -- the internal node ID number\n - This
|
1619
|
-
attribute is required\n - It must be of type string.\n - It must be between
|
1620
|
-
1 and Infinity in length.\n\n * root-password\n - The root password for
|
1621
|
-
newly installed systems. This is passed directly\n to the individual task,
|
1622
|
-
rather than \"understood\" by the server, so the\n valid values are dependent
|
1623
|
-
on the individual task capabilities.\n - This attribute is required\n -
|
1624
|
-
It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
|
1625
|
-
* enabled\n - Is this policy enabled when first created?\n - It must be
|
1626
|
-
of type boolean.\n\n * max-count\n - The maximum number of nodes that can
|
1627
|
-
bind to this policy.\n If omitted, the policy is ''unlimited'', and no maximum
|
1628
|
-
is applied.\n - It must be of type number.\n\n * before\n - The name of
|
1629
|
-
the policy to create this policy before in the policy list.\n - It must
|
1630
|
-
be of type string.\n - If present, after must not be present.\n - It must
|
1631
|
-
match the name of an existing policy.\n\n * after\n - The name of the policy
|
1632
|
-
to create this policy after in the policy list.\n - It must be of type string.\n -
|
1633
|
-
If present, before must not be present.\n - It must match the name of an
|
1634
|
-
existing policy.\n\n * tags\n - The array of names of tags that are used
|
1635
|
-
for matching nodes to this policy.\n \n When a node has all these tags
|
1636
|
-
matched on it, it will be a candidate\n for binding to this policy.\n -
|
1637
|
-
It must be of type array.\n \n - This value must be an array.\n -
|
1638
|
-
\n - This must be an array.\n - All elements must be of type string.\n -
|
1639
|
-
All elements must match the name of an existing tag.\n \n \n\n * repo\n -
|
1640
|
-
The name of the repository containing the OS to be installed by this policy.\n This
|
1641
|
-
should match the task assigned, or bad things will happen.\n - This attribute
|
1642
|
-
is required\n - It must be of type string.\n - It must match the name
|
1643
|
-
of an existing repo.\n\n * broker\n - The name of the broker to use when
|
1644
|
-
the node is fully installed, and is ready\n to hand off to the final configuration
|
1645
|
-
management system. If you have no\n ongoing configuration management, the
|
1646
|
-
supplied `noop` broker will do nothing.\n \n Please note that this is
|
1647
|
-
a broker created with the `create-broker` command,\n which is distinct from
|
1648
|
-
the broker types found on disk.\n - This attribute is required\n - It
|
1649
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
1650
|
-
* task\n - The name of the task used to install nodes that match this policy. This
|
1651
|
-
must\n match the selected repo, as it references files contained within
|
1652
|
-
that repository.\n - This attribute is required\n - It must be of type
|
1653
|
-
string.\n\n\n\n# EXAMPLES\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\":
|
1654
|
-
\"secret\",\n \"max-count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"]\n }\n\n"},"schema":{"name":{"type":"string"},"hostname":{"type":"string"},"root-password":{"type":"string"},"enabled":{"type":"boolean"},"max-count":{"type":"number"},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array"},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"}}}'
|
1655
|
-
http_version:
|
1656
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
1657
|
-
- request:
|
1658
|
-
method: get
|
1659
|
-
uri: http://localhost:8080/api/commands/create-policy
|
1660
|
-
body:
|
1661
|
-
encoding: US-ASCII
|
1662
|
-
string: ''
|
1663
|
-
headers:
|
1664
|
-
Accept:
|
1665
|
-
- application/json
|
1666
|
-
Accept-Encoding:
|
1667
|
-
- gzip, deflate
|
1668
|
-
User-Agent:
|
1669
|
-
- Ruby
|
1670
|
-
response:
|
1671
|
-
status:
|
1672
|
-
code: 200
|
1673
|
-
message: OK
|
1674
|
-
headers:
|
1675
|
-
Server:
|
1676
|
-
- Apache-Coyote/1.1
|
1677
|
-
Etag:
|
1678
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1679
|
-
X-Content-Type-Options:
|
1680
|
-
- nosniff
|
1681
|
-
Content-Type:
|
1682
|
-
- application/json;charset=utf-8
|
1683
|
-
Content-Length:
|
1684
|
-
- '5306'
|
1685
|
-
Date:
|
1686
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1687
|
-
body:
|
1688
|
-
encoding: US-ASCII
|
1689
|
-
string: '{"name":"create-policy","help":{"full":"# SYNOPSIS\nCreate a new policy\n\n#
|
1690
|
-
DESCRIPTION\nPolicies tie together the rules, as tags, with the task and repo
|
1691
|
-
containing\nthe OS to install, and the broker for post-install configuration.\n\nThe
|
1692
|
-
overall list of policies is ordered, and policies are considered in that\norder.
|
1693
|
-
When a new policy is created, the entry `before` or `after` can be\nused to
|
1694
|
-
put the new policy into the table before or after another\npolicy. If neither
|
1695
|
-
`before` or `after` are specified, the policy is\nappended to the policy table.\n\n\n#
|
1696
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1697
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1698
|
-
name of the object being modified, or some other critical detail, these\nallow
|
1699
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
1700
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
1701
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
1702
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
1703
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
1704
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1705
|
-
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1706
|
-
is required\n - It must be of type string.\n - It must be between 1 and
|
1707
|
-
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1708
|
-
installed nodes. This is filled\n in on a per-node basis, and then supplied
|
1709
|
-
to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
|
1710
|
-
are performed using `${...}` syntax, and the available\n substitution names
|
1711
|
-
on your server are:\n \n - id -- the internal node ID number\n - This
|
1712
|
-
attribute is required\n - It must be of type string.\n - It must be between
|
1713
|
-
1 and Infinity in length.\n\n * root-password\n - The root password for
|
1714
|
-
newly installed systems. This is passed directly\n to the individual task,
|
1715
|
-
rather than \"understood\" by the server, so the\n valid values are dependent
|
1716
|
-
on the individual task capabilities.\n - This attribute is required\n -
|
1717
|
-
It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
|
1718
|
-
* enabled\n - Is this policy enabled when first created?\n - It must be
|
1719
|
-
of type boolean.\n\n * max-count\n - The maximum number of nodes that can
|
1720
|
-
bind to this policy.\n If omitted, the policy is ''unlimited'', and no maximum
|
1721
|
-
is applied.\n - It must be of type number.\n\n * before\n - The name of
|
1722
|
-
the policy to create this policy before in the policy list.\n - It must
|
1723
|
-
be of type string.\n - If present, after must not be present.\n - It must
|
1724
|
-
match the name of an existing policy.\n\n * after\n - The name of the policy
|
1725
|
-
to create this policy after in the policy list.\n - It must be of type string.\n -
|
1726
|
-
If present, before must not be present.\n - It must match the name of an
|
1727
|
-
existing policy.\n\n * tags\n - The array of names of tags that are used
|
1728
|
-
for matching nodes to this policy.\n \n When a node has all these tags
|
1729
|
-
matched on it, it will be a candidate\n for binding to this policy.\n -
|
1730
|
-
It must be of type array.\n \n - This value must be an array.\n -
|
1731
|
-
\n - This must be an array.\n - All elements must be of type string.\n -
|
1732
|
-
All elements must match the name of an existing tag.\n \n \n\n * repo\n -
|
1733
|
-
The name of the repository containing the OS to be installed by this policy.\n This
|
1734
|
-
should match the task assigned, or bad things will happen.\n - This attribute
|
1735
|
-
is required\n - It must be of type string.\n - It must match the name
|
1736
|
-
of an existing repo.\n\n * broker\n - The name of the broker to use when
|
1737
|
-
the node is fully installed, and is ready\n to hand off to the final configuration
|
1738
|
-
management system. If you have no\n ongoing configuration management, the
|
1739
|
-
supplied `noop` broker will do nothing.\n \n Please note that this is
|
1740
|
-
a broker created with the `create-broker` command,\n which is distinct from
|
1741
|
-
the broker types found on disk.\n - This attribute is required\n - It
|
1742
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
1743
|
-
* task\n - The name of the task used to install nodes that match this policy. This
|
1744
|
-
must\n match the selected repo, as it references files contained within
|
1745
|
-
that repository.\n - This attribute is required\n - It must be of type
|
1746
|
-
string.\n\n\n\n# EXAMPLES\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\":
|
1747
|
-
\"secret\",\n \"max-count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"]\n }\n\n"},"schema":{"name":{"type":"string"},"hostname":{"type":"string"},"root-password":{"type":"string"},"enabled":{"type":"boolean"},"max-count":{"type":"number"},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array"},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"}}}'
|
1748
|
-
http_version:
|
1749
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
1750
|
-
- request:
|
1751
|
-
method: get
|
1752
|
-
uri: http://localhost:8080/api/commands/create-policy
|
1753
|
-
body:
|
1754
|
-
encoding: US-ASCII
|
1755
|
-
string: ''
|
1756
|
-
headers:
|
1757
|
-
Accept:
|
1758
|
-
- application/json
|
1759
|
-
Accept-Encoding:
|
1760
|
-
- gzip, deflate
|
1761
|
-
User-Agent:
|
1762
|
-
- Ruby
|
1763
|
-
response:
|
1764
|
-
status:
|
1765
|
-
code: 200
|
1766
|
-
message: OK
|
1767
|
-
headers:
|
1768
|
-
Server:
|
1769
|
-
- Apache-Coyote/1.1
|
1770
|
-
Etag:
|
1771
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1772
|
-
X-Content-Type-Options:
|
1773
|
-
- nosniff
|
1774
|
-
Content-Type:
|
1775
|
-
- application/json;charset=utf-8
|
1776
|
-
Content-Length:
|
1777
|
-
- '5306'
|
1778
|
-
Date:
|
1779
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1780
|
-
body:
|
1781
|
-
encoding: US-ASCII
|
1782
|
-
string: '{"name":"create-policy","help":{"full":"# SYNOPSIS\nCreate a new policy\n\n#
|
1783
|
-
DESCRIPTION\nPolicies tie together the rules, as tags, with the task and repo
|
1784
|
-
containing\nthe OS to install, and the broker for post-install configuration.\n\nThe
|
1785
|
-
overall list of policies is ordered, and policies are considered in that\norder.
|
1786
|
-
When a new policy is created, the entry `before` or `after` can be\nused to
|
1787
|
-
put the new policy into the table before or after another\npolicy. If neither
|
1788
|
-
`before` or `after` are specified, the policy is\nappended to the policy table.\n\n\n#
|
1789
|
-
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1790
|
-
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1791
|
-
name of the object being modified, or some other critical detail, these\nallow
|
1792
|
-
roles to be granted partial access to modify the system.\n\nFor more detail
|
1793
|
-
on how the permission strings are structured and work, you can\nsee the [Shiro
|
1794
|
-
Permissions documentation][shiro]. That pattern is expanded\nand then a permission
|
1795
|
-
check applied to it, before the command is authorized.\n\nThese checks only
|
1796
|
-
apply if security is enabled in the Razor configuration\nfile; on this server
|
1797
|
-
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1798
|
-
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1799
|
-
is required\n - It must be of type string.\n - It must be between 1 and
|
1800
|
-
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1801
|
-
installed nodes. This is filled\n in on a per-node basis, and then supplied
|
1802
|
-
to the task to be configured\n appropriately on the newly installed node.\n \n Substitutions
|
1803
|
-
are performed using `${...}` syntax, and the available\n substitution names
|
1804
|
-
on your server are:\n \n - id -- the internal node ID number\n - This
|
1805
|
-
attribute is required\n - It must be of type string.\n - It must be between
|
1806
|
-
1 and Infinity in length.\n\n * root-password\n - The root password for
|
1807
|
-
newly installed systems. This is passed directly\n to the individual task,
|
1808
|
-
rather than \"understood\" by the server, so the\n valid values are dependent
|
1809
|
-
on the individual task capabilities.\n - This attribute is required\n -
|
1810
|
-
It must be of type string.\n - It must be between 1 and Infinity in length.\n\n
|
1811
|
-
* enabled\n - Is this policy enabled when first created?\n - It must be
|
1812
|
-
of type boolean.\n\n * max-count\n - The maximum number of nodes that can
|
1813
|
-
bind to this policy.\n If omitted, the policy is ''unlimited'', and no maximum
|
1814
|
-
is applied.\n - It must be of type number.\n\n * before\n - The name of
|
1815
|
-
the policy to create this policy before in the policy list.\n - It must
|
1816
|
-
be of type string.\n - If present, after must not be present.\n - It must
|
1817
|
-
match the name of an existing policy.\n\n * after\n - The name of the policy
|
1818
|
-
to create this policy after in the policy list.\n - It must be of type string.\n -
|
1819
|
-
If present, before must not be present.\n - It must match the name of an
|
1820
|
-
existing policy.\n\n * tags\n - The array of names of tags that are used
|
1821
|
-
for matching nodes to this policy.\n \n When a node has all these tags
|
1822
|
-
matched on it, it will be a candidate\n for binding to this policy.\n -
|
1823
|
-
It must be of type array.\n \n - This value must be an array.\n -
|
1824
|
-
\n - This must be an array.\n - All elements must be of type string.\n -
|
1825
|
-
All elements must match the name of an existing tag.\n \n \n\n * repo\n -
|
1826
|
-
The name of the repository containing the OS to be installed by this policy.\n This
|
1827
|
-
should match the task assigned, or bad things will happen.\n - This attribute
|
1828
|
-
is required\n - It must be of type string.\n - It must match the name
|
1829
|
-
of an existing repo.\n\n * broker\n - The name of the broker to use when
|
1830
|
-
the node is fully installed, and is ready\n to hand off to the final configuration
|
1831
|
-
management system. If you have no\n ongoing configuration management, the
|
1832
|
-
supplied `noop` broker will do nothing.\n \n Please note that this is
|
1833
|
-
a broker created with the `create-broker` command,\n which is distinct from
|
1834
|
-
the broker types found on disk.\n - This attribute is required\n - It
|
1835
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
1836
|
-
* task\n - The name of the task used to install nodes that match this policy. This
|
1837
|
-
must\n match the selected repo, as it references files contained within
|
1838
|
-
that repository.\n - This attribute is required\n - It must be of type
|
1839
|
-
string.\n\n\n\n# EXAMPLES\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\":
|
1840
|
-
\"secret\",\n \"max-count\": 20,\n \"before\": \"other policy\",\n \"tags\": [\"small\"]\n }\n\n"},"schema":{"name":{"type":"string"},"hostname":{"type":"string"},"root-password":{"type":"string"},"enabled":{"type":"boolean"},"max-count":{"type":"number"},"before":{"type":"string"},"after":{"type":"string"},"tags":{"type":"array"},"repo":{"type":"string"},"broker":{"type":"string"},"task":{"type":"string"}}}'
|
1841
|
-
http_version:
|
1842
|
-
recorded_at: Fri, 16 May 2014 22:18:09 GMT
|
1843
|
-
- request:
|
1844
|
-
method: get
|
1845
|
-
uri: http://localhost:8080/api/commands/create-policy
|
1846
|
-
body:
|
1847
|
-
encoding: US-ASCII
|
1848
|
-
string: ''
|
1849
|
-
headers:
|
1850
|
-
Accept:
|
1851
|
-
- application/json
|
1852
|
-
Accept-Encoding:
|
1853
|
-
- gzip, deflate
|
1854
|
-
User-Agent:
|
1855
|
-
- Ruby
|
1856
|
-
response:
|
1857
|
-
status:
|
1858
|
-
code: 200
|
1859
|
-
message: OK
|
1860
|
-
headers:
|
1861
|
-
Server:
|
1862
|
-
- Apache-Coyote/1.1
|
1863
|
-
Etag:
|
1864
|
-
- '"server-version-v0.14.1-113-g8b33d83-dirty"'
|
1865
|
-
X-Content-Type-Options:
|
1866
|
-
- nosniff
|
1867
|
-
Content-Type:
|
1868
|
-
- application/json;charset=utf-8
|
1869
|
-
Content-Length:
|
1870
|
-
- '5306'
|
1871
|
-
Date:
|
1872
|
-
- Fri, 16 May 2014 22:18:09 GMT
|
1873
|
-
body:
|
1874
|
-
encoding: US-ASCII
|
1875
|
-
string: '{"name":"create-policy","help":{"full":"# SYNOPSIS\nCreate a new policy\n\n#
|
1876
|
-
DESCRIPTION\nPolicies tie together the rules, as tags, with the task and repo
|
1877
|
-
containing\nthe OS to install, and the broker for post-install configuration.\n\nThe
|
1878
|
-
overall list of policies is ordered, and policies are considered in that\norder.
|
1879
|
-
When a new policy is created, the entry `before` or `after` can be\nused to
|
1880
|
-
put the new policy into the table before or after another\npolicy. If neither
|
1881
|
-
`before` or `after` are specified, the policy is\nappended to the policy table.\n\n\n#
|
1026
|
+
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
|
1032
|
+
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
|
+
\"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#
|
1882
1045
|
Access Control\n\nThis command''s access control pattern: `commands:create-policy:%{name}`\n\nWords
|
1883
1046
|
surrounded by `%{...}` are substitutions from the input data: typically\nthe
|
1884
1047
|
name of the object being modified, or some other critical detail, these\nallow
|
@@ -1889,56 +1052,60 @@ http_interactions:
|
|
1889
1052
|
apply if security is enabled in the Razor configuration\nfile; on this server
|
1890
1053
|
security is currently disabled.\n\n[shiro]: http://shiro.apache.org/permissions.html\n\n#
|
1891
1054
|
Attributes\n\n * name\n - The name of the policy to create.\n - This attribute
|
1892
|
-
is required
|
1055
|
+
is required.\n - It must be of type string.\n - It must be between 1 and
|
1893
1056
|
Infinity in length.\n\n * hostname\n - The hostname pattern to use for newly
|
1894
|
-
installed nodes. This is filled\n
|
1895
|
-
to the task to be configured\n
|
1896
|
-
are performed using `${...}` syntax, and the available\n
|
1897
|
-
on your server are:\n
|
1898
|
-
attribute is required
|
1899
|
-
1 and Infinity in length.\n\n *
|
1900
|
-
newly installed systems. This is passed directly\n
|
1901
|
-
rather than \"understood\" by the server, so the\n
|
1902
|
-
on the individual task capabilities.\n - This attribute is
|
1903
|
-
It must be of type string.\n - It must be between 1 and
|
1904
|
-
* enabled\n - Is this policy enabled when first
|
1905
|
-
of type boolean.\n\n *
|
1906
|
-
bind to this policy.\n
|
1907
|
-
is applied.\n - It must be of type number.\n\n
|
1908
|
-
the policy to create this policy before in the
|
1909
|
-
be of type string.\n - If present, after must
|
1910
|
-
match the name of an existing policy.\n\n *
|
1911
|
-
to create this policy after in the policy
|
1912
|
-
|
1913
|
-
existing policy.\n\n * tags\n -
|
1914
|
-
for matching nodes to this policy.\n
|
1915
|
-
matched on it, it will be a candidate\n
|
1916
|
-
|
1917
|
-
|
1918
|
-
|
1919
|
-
|
1920
|
-
|
1921
|
-
|
1922
|
-
|
1923
|
-
|
1924
|
-
management
|
1925
|
-
|
1926
|
-
|
1927
|
-
|
1928
|
-
must be of type string.\n - It must match the name of an existing broker.\n\n
|
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
|
1075
|
+
list.\n - It must be of type string.\n - If present, before must not be
|
1076
|
+
present.\n - It must match the name of an existing policy.\n\n * tags\n -
|
1077
|
+
The names of tags that are used for matching nodes to this policy.\n \n When
|
1078
|
+
a node has all these tags matched on it, it will be a candidate\n for
|
1079
|
+
binding to this policy.\n - It must be of type array.\n - All elements
|
1080
|
+
must be of type string.\n - All elements must match the name of an existing
|
1081
|
+
tag.\n\n * repo\n - The name of the repository containing the OS to be installed
|
1082
|
+
by this policy.\n This should match the task assigned, or bad things will
|
1083
|
+
happen.\n - This attribute is required.\n - It must be of type string.\n -
|
1084
|
+
It must match the name of an existing repo.\n\n * broker\n - The name of
|
1085
|
+
the broker to use when the node is fully installed, and is ready\n to
|
1086
|
+
hand off to the final configuration management system. If you have no\n ongoing
|
1087
|
+
configuration management, the supplied `noop` broker will do nothing.\n \n Please
|
1088
|
+
note that this is a broker created with the `create-broker` command,\n which
|
1089
|
+
is distinct from the broker types found on disk.\n - This attribute is required.\n -
|
1090
|
+
It must be of type string.\n - It must match the name of an existing broker.\n\n
|
1929
1091
|
* task\n - The name of the task used to install nodes that match this policy. This
|
1930
|
-
must\n
|
1931
|
-
that repository.\n - This attribute is required
|
1932
|
-
string.\n\n
|
1933
|
-
\
|
1092
|
+
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\":
|
1099
|
+
\"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"]}}}'
|
1934
1101
|
http_version:
|
1935
|
-
recorded_at:
|
1102
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
1936
1103
|
- request:
|
1937
1104
|
method: post
|
1938
|
-
uri: http://localhost:
|
1105
|
+
uri: http://localhost:8150/api/commands/create-policy
|
1939
1106
|
body:
|
1940
1107
|
encoding: UTF-8
|
1941
|
-
string: '{"name":"test","hostname":"abc.com","
|
1108
|
+
string: '{"name":"test","hostname":"abc.com","root_password":"abc","task":"noop","repo":"name","broker":"puppet","tags":["tag1","tag2"]}'
|
1942
1109
|
headers:
|
1943
1110
|
Accept:
|
1944
1111
|
- application/json
|
@@ -1947,7 +1114,7 @@ http_interactions:
|
|
1947
1114
|
Content-Type:
|
1948
1115
|
- application/json
|
1949
1116
|
Content-Length:
|
1950
|
-
- '
|
1117
|
+
- '127'
|
1951
1118
|
User-Agent:
|
1952
1119
|
- Ruby
|
1953
1120
|
response:
|
@@ -1964,15 +1131,15 @@ http_interactions:
|
|
1964
1131
|
Content-Length:
|
1965
1132
|
- '207'
|
1966
1133
|
Date:
|
1967
|
-
-
|
1134
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
1968
1135
|
body:
|
1969
1136
|
encoding: US-ASCII
|
1970
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/policies/member","id":"http://localhost:
|
1137
|
+
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"}'
|
1971
1138
|
http_version:
|
1972
|
-
recorded_at:
|
1139
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
1973
1140
|
- request:
|
1974
1141
|
method: get
|
1975
|
-
uri: http://localhost:
|
1142
|
+
uri: http://localhost:8150/api/collections/policies/test
|
1976
1143
|
body:
|
1977
1144
|
encoding: US-ASCII
|
1978
1145
|
string: ''
|
@@ -1997,10 +1164,10 @@ http_interactions:
|
|
1997
1164
|
Content-Length:
|
1998
1165
|
- '1071'
|
1999
1166
|
Date:
|
2000
|
-
-
|
1167
|
+
- Mon, 09 Mar 2015 19:53:20 GMT
|
2001
1168
|
body:
|
2002
1169
|
encoding: US-ASCII
|
2003
|
-
string: '{"spec":"http://api.puppetlabs.com/razor/v1/collections/policies/member","id":"http://localhost:
|
1170
|
+
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"}}'
|
2004
1171
|
http_version:
|
2005
|
-
recorded_at:
|
1172
|
+
recorded_at: Mon, 09 Mar 2015 19:53:21 GMT
|
2006
1173
|
recorded_with: VCR 2.5.0
|