Changed the default output of X-Pack Info API
- by default the response includes all info - build, license, features + human descriptions. - you can still control the output using `categories` and `human` parameters - Added docs to this API Original commit: elastic/x-pack-elasticsearch@85115495ec
This commit is contained in:
parent
c012b397f4
commit
df3bbd42b9
|
@ -25,7 +25,14 @@ public class XPackInfoRequest extends ActionRequest<XPackInfoRequest> {
|
|||
public static EnumSet<Category> toSet(String... categories) {
|
||||
EnumSet<Category> set = EnumSet.noneOf(Category.class);
|
||||
for (String category : categories) {
|
||||
set.add(Category.valueOf(category.toUpperCase(Locale.ROOT)));
|
||||
switch (category) {
|
||||
case "_all":
|
||||
return EnumSet.allOf(Category.class);
|
||||
case "_none":
|
||||
return EnumSet.noneOf(Category.class);
|
||||
default:
|
||||
set.add(Category.valueOf(category.toUpperCase(Locale.ROOT)));
|
||||
}
|
||||
}
|
||||
return set;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
package org.elasticsearch.xpack.rest.action;
|
||||
|
||||
import org.elasticsearch.client.Client;
|
||||
import org.elasticsearch.common.Strings;
|
||||
import org.elasticsearch.common.inject.Inject;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
|
@ -40,10 +39,10 @@ public class RestXPackInfoAction extends XPackRestHandler {
|
|||
protected void handleRequest(RestRequest request, RestChannel restChannel, XPackClient client) throws Exception {
|
||||
|
||||
// we piggyback verbosity on "human" output
|
||||
boolean verbose = request.paramAsBoolean("human", false);
|
||||
boolean verbose = request.paramAsBoolean("human", true);
|
||||
|
||||
EnumSet<XPackInfoRequest.Category> categories = XPackInfoRequest.Category
|
||||
.toSet(request.paramAsStringArray("categories", Strings.EMPTY_ARRAY));
|
||||
.toSet(request.paramAsStringArray("categories", new String[] { "_all" }));
|
||||
client.prepareInfo().setVerbose(verbose).setCategories(categories).execute(new RestBuilderListener<XPackInfoResponse>(restChannel) {
|
||||
@Override
|
||||
public RestResponse buildResponse(XPackInfoResponse infoResponse, XContentBuilder builder) throws Exception {
|
||||
|
|
|
@ -56,24 +56,6 @@
|
|||
|
||||
- do:
|
||||
xpack.info: {}
|
||||
- is_false: tagline
|
||||
- is_false: build
|
||||
- is_false: features
|
||||
- is_false: license
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "build"
|
||||
- is_true: build
|
||||
- is_true: build.hash
|
||||
- is_true: build.timestamp
|
||||
- is_false: tagline
|
||||
- is_false: features
|
||||
- is_false: license
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "build,license"
|
||||
- is_true: build.hash
|
||||
- is_true: build.timestamp
|
||||
- is_true: license
|
||||
|
@ -82,12 +64,71 @@
|
|||
- match: { license.mode: "platinum" }
|
||||
- match: { license.status: "active" }
|
||||
- match: { license.expiry_date_in_millis: 1914278399999 }
|
||||
- is_false: tagline
|
||||
- is_true: features
|
||||
- is_true: features.watcher
|
||||
- is_true: features.watcher.enabled
|
||||
- is_true: features.watcher.available
|
||||
- is_true: features.watcher.description
|
||||
- is_true: features.security
|
||||
- is_true: features.security.enabled
|
||||
- is_true: features.security.available
|
||||
- is_true: features.security.description
|
||||
- is_true: features.graph
|
||||
- is_true: features.graph.enabled
|
||||
- is_true: features.graph.available
|
||||
- is_true: features.graph.description
|
||||
- is_true: features.monitoring
|
||||
- is_true: features.monitoring.enabled
|
||||
- is_true: features.monitoring.available
|
||||
- is_true: features.monitoring.description
|
||||
- is_true: tagline
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "_none"
|
||||
- is_false: build
|
||||
- is_false: features
|
||||
- is_false: license
|
||||
- match: { tagline: "You know, for X" }
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "_none"
|
||||
human: false
|
||||
- is_false: build
|
||||
- is_false: features
|
||||
- is_false: license
|
||||
- is_false: tagline
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "build"
|
||||
- is_true: build
|
||||
- is_true: build.hash
|
||||
- is_true: build.timestamp
|
||||
- is_true: tagline
|
||||
- is_false: features
|
||||
- is_false: license
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "build,license"
|
||||
- is_true: build.hash
|
||||
- is_true: build.timestamp
|
||||
- is_true: tagline
|
||||
- is_false: features
|
||||
- is_true: license
|
||||
- match: { license.uid: "893361dc-9749-4997-93cb-802e3dofh7aa" }
|
||||
- match: { license.type: "internal" }
|
||||
- match: { license.mode: "platinum" }
|
||||
- match: { license.status: "active" }
|
||||
- match: { license.expiry_date_in_millis: 1914278399999 }
|
||||
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "build,license,features"
|
||||
human: false
|
||||
- is_true: build.hash
|
||||
- is_true: build.timestamp
|
||||
- is_true: license
|
||||
|
@ -115,33 +156,4 @@
|
|||
- is_false: features.monitoring.description
|
||||
- is_false: tagline
|
||||
|
||||
- do:
|
||||
xpack.info:
|
||||
categories: "build,license,features"
|
||||
human: "true"
|
||||
- is_true: build.hash
|
||||
- is_true: build.timestamp
|
||||
- is_true: license
|
||||
- match: { license.uid: "893361dc-9749-4997-93cb-802e3dofh7aa" }
|
||||
- match: { license.type: "internal" }
|
||||
- match: { license.mode: "platinum" }
|
||||
- match: { license.status: "active" }
|
||||
- match: { license.expiry_date_in_millis: 1914278399999 }
|
||||
- is_true: features
|
||||
- is_true: features.watcher
|
||||
- is_true: features.watcher.enabled
|
||||
- is_true: features.watcher.available
|
||||
- is_true: features.watcher.description
|
||||
- is_true: features.security
|
||||
- is_true: features.security.enabled
|
||||
- is_true: features.security.available
|
||||
- is_true: features.security.description
|
||||
- is_true: features.graph
|
||||
- is_true: features.graph.enabled
|
||||
- is_true: features.graph.available
|
||||
- is_true: features.graph.description
|
||||
- is_true: features.monitoring
|
||||
- is_true: features.monitoring.enabled
|
||||
- is_true: features.monitoring.available
|
||||
- is_true: features.monitoring.description
|
||||
- is_true: tagline
|
||||
|
||||
|
|
Loading…
Reference in New Issue