Skip to content

Commit

Permalink
PDB-354 Deprecate old versions of commands
Browse files Browse the repository at this point in the history
This patch drops a warning whenever an old version of the commands API is used
and updates the documentation to warn the user these old commands are
deprecated.

Signed-off-by: Ken Barber <ken@bob.sh>
  • Loading branch information
kbarber committed Feb 24, 2014
1 parent 52a3296 commit 9e6beab
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
6 changes: 6 additions & 0 deletions documentation/api/commands.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,16 @@ processed.

### "replace catalog", version 1

> **Note:** This version is deprecated, use the latest version instead.
The payload is expected to be a Puppet catalog, as a JSON string, including the
fields of the [catalog wire format][catalog]. Extra fields are
ignored.

### "replace catalog", version 2

> **Note:** This version is deprecated, use the latest version instead.
The payload is expected to be a Puppet catalog, as either a JSON string or an
object, conforming exactly to the [catalog wire
format][catalog]. Extra or missing fields are an error.
Expand Down Expand Up @@ -103,6 +107,8 @@ effective as of the time the command is *processed*.

### "store report", version 1

> **Note:** This version is deprecated, use the latest version instead.
The payload is expected to be a report, containing events that occurred on Puppet
resources. It is structured as a JSON object, conforming to the
[report wire format][report].
Expand Down
3 changes: 3 additions & 0 deletions src/com/puppetlabs/puppetdb/command.clj
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@
(defmethod process-command! [(command-names :replace-catalog) 1]
[{:keys [version payload] :as command} options]
{:pre [(= version 1)]}
(log/warn "command 'replace catalog' version 1 is deprecated, use the latest version")
(when-not (string? payload)
(throw (IllegalArgumentException.
(format "Payload for a '%s' v1 command must be a JSON string."
Expand All @@ -330,6 +331,7 @@
(defmethod process-command! [(command-names :replace-catalog) 2]
[{:keys [version] :as command} options]
{:pre [(= version 2)]}
(log/warn "command 'replace catalog' version 2 is deprecated, use the latest version")
(replace-catalog* command options))

(defmethod process-command! [(command-names :replace-catalog) 3]
Expand Down Expand Up @@ -381,6 +383,7 @@
(defmethod process-command! [(command-names :store-report) 1]
[{:keys [version] :as command} {:keys [db]}]
{:pre [(= version 1)]}
(log/warn "command 'store report' version 1 is deprecated, use the latest version")
(store-report* 1 db command))

(defmethod process-command! [(command-names :store-report) 2]
Expand Down

0 comments on commit 9e6beab

Please sign in to comment.