diff --git a/plugins/commands/status/command.rb b/plugins/commands/status/command.rb
index f51554943..64145f19e 100644
--- a/plugins/commands/status/command.rb
+++ b/plugins/commands/status/command.rb
@@ -30,7 +30,7 @@ module VagrantPlugins
"#{current_state.short_description} (#{machine.provider_name})"
opts = { scope: machine.name.to_s }
- @env.ui.machine("provider", machine.provider_name, opts)
+ @env.ui.machine("provider-name", machine.provider_name, opts)
@env.ui.machine("state", current_state.id, opts)
@env.ui.machine("state-human-short", current_state.short_description, opts)
@env.ui.machine("state-human-long", current_state.long_description, opts)
diff --git a/website/docs/source/layouts/layout.erb b/website/docs/source/layouts/layout.erb
index 180268387..ecb68dd04 100644
--- a/website/docs/source/layouts/layout.erb
+++ b/website/docs/source/layouts/layout.erb
@@ -119,6 +119,7 @@
>status
>suspend
>up
+ >Machine Readable Output
<% end %>
diff --git a/website/docs/source/stylesheets/_base.less b/website/docs/source/stylesheets/_base.less
index 5ad3eacff..67bc8fea2 100644
--- a/website/docs/source/stylesheets/_base.less
+++ b/website/docs/source/stylesheets/_base.less
@@ -86,7 +86,7 @@ h6 {
line-height: @font-size;
}
-p {
+p, td {
letter-spacing: 1px;
line-height: 32px;
diff --git a/website/docs/source/stylesheets/_components.less b/website/docs/source/stylesheets/_components.less
index 5e84f3053..06d0564d6 100644
--- a/website/docs/source/stylesheets/_components.less
+++ b/website/docs/source/stylesheets/_components.less
@@ -1,74 +1,80 @@
/* compontents */
+table.mr-types {
+ th.mr-type {
+ width: 200px;
+ }
+}
+
//search
.search-bar {
- border-bottom: 1px solid fade(@black, 10%);
- position: relative;
- z-index: 99999; //keep search above content
- margin-bottom: -1px;
+ border-bottom: 1px solid fade(@black, 10%);
+ position: relative;
+ z-index: 99999; //keep search above content
+ margin-bottom: -1px;
- .search-icon {
- height: 60px;
- width: 40px;
- background: url(/images/search_icon.png) no-repeat 0 center;
- }
-
- .search {
- //.debug;
- background: @white;
- height: 60px;
-
- input,
- button,
- form {
- .kill-effects;
- border: none;
- height: 60px;
- font-size: 20px;
- .museo-sans-light-italic;
+ .search-icon {
+ height: 60px;
+ width: 40px;
+ background: url(/images/search_icon.png) no-repeat 0 center;
}
- input {
- margin:0;
- padding: 0 0 0 0;
- font-size: 20px;
+ .search {
+ //.debug;
+ background: @white;
+ height: 60px;
- &:focus {
+ input,
+ button,
+ form {
+ .kill-effects;
+ border: none;
+ height: 60px;
+ font-size: 20px;
+ .museo-sans-light-italic;
+ }
- } //focus
- }
+ input {
+ margin:0;
+ padding: 0 0 0 0;
+ font-size: 20px;
- button {
- padding: 0 20px;
- text-transform: uppercase;
- }
+ &:focus {
+
+ } //focus
+ }
+
+ button {
+ padding: 0 20px;
+ text-transform: uppercase;
+ }
- } //search
+ } //search
} //search bar
//pagination
.pagination {
- height: 80px;
- background: @gray-background;
- padding: 0;
- margin:0 auto;
- text-transform: uppercase;
- color: @blue-text;
- z-index: 999;
- position:relative;
+ height: 80px;
+ background: @gray-background;
+ padding: 0;
+ margin:0 auto;
+ text-transform: uppercase;
+ color: @blue-text;
+ z-index: 999;
+ position:relative;
- a.previous,
- a.next {
- padding: 25px 0;
- }
+ a.previous,
+ a.next {
+ padding: 25px 0;
+ }
- a.previous {
- margin-left: 20px;
- }
+ a.previous {
+ margin-left: 20px;
+ }
- a.next {
- margin-right: 20px;
- }
+ a.next {
+ margin-right: 20px;
+ }
}
diff --git a/website/docs/source/v2/cli/machine-readable.html.md b/website/docs/source/v2/cli/machine-readable.html.md
new file mode 100644
index 000000000..5ae81ac6b
--- /dev/null
+++ b/website/docs/source/v2/cli/machine-readable.html.md
@@ -0,0 +1,110 @@
+---
+page_title: "Machine Readable Output - Command-Line Interface"
+sidebar_current: "cli-machinereadable"
+---
+
+# Machine Readable Output
+
+Every Vagrant commands accepts a `--machine-readable` flag which enables
+machine readable output mode. In this mode, the output to the terminal
+is replaced with machine-friendly output.
+
+This mode makes it easy to programmatically execute Vagrant and read data
+out of it. This output format is protected by our
+[backwards compatibility](/v2/installation/backwards-compatibility.html)
+policy. Until Vagrant 2.0 is released, however, the machine readable output
+may change as we determine more use cases for it. But the backwards
+compatibility promise should make it safe to write client libraries to
+parse the output format.
+
+
+
+Advanced topic! This is an advanced topic for use only if
+you want to programmatically execute Vagrant. If you're just getting started
+with Vagrant, you may safely skip this section.
+
+
+
+## Format
+
+The machine readable format is a line-oriented, comma-delimeted text format.
+This makes it extremely easy to parse using standard Unix tools such as awk or
+grep in addition to full programming languages like Ruby or Python.
+
+The format is:
+
+```
+timestamp,target,type,data...
+```
+
+Each component is explained below:
+
+* **timestamp** is a Unix timestamp in UTC of when the message was printed.
+
+* **target** is the target of the following output. This is empty if the
+ message is related to Vagrant globally. Otherwise, this is generally a machine
+ name so you can relate output to a specific machine when multi-VM is in use.
+
+* **type** is the type of machine-readable message being outputted. There are
+ a set of standard types which are covered later.
+
+* **data** is zero or more comma-seperated values associated with the prior
+ type. The exact amount and meaning of this data is type-dependent, so you
+ must read the documentation associated with the type to understand fully.
+
+Within the format, if data contains a comma, it is replaced with
+`%!(VAGRANT_COMMA)`. This was preferred over an escape character such as \'
+because it is more friendly to tools like awk.
+
+Newlines within the format are replaced with their respective standard escape
+sequence. Newlines become a literal `\n` within the output. Carriage returns
+become a literal `\r`.
+
+## Types
+
+This section documents all the available types that may be outputted
+with the machine-readable output.
+
+
+
+
+Type |
+Description |
+
+
+
+
+provider-name |
+
+ The provider name of the target machine.
+ targetted
+ |
+
+
+
+state |
+
+ The state ID of the target machine.
+ targetted
+ |
+
+
+
+state-human-long |
+
+ Human-readable description of the state of the machine. This is the
+ long version, and may be a paragraph or longer.
+ targetted
+ |
+
+
+
+state-human-short |
+
+ Human-readable description of the state of the machine. This is the
+ short version, limited to at most a sentence.
+ targetted
+ |
+
+
+