@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.field(Fields.STATUS, getStatus().name().toLowerCase(Locale.ROOT)); builder.field(Fields.NUMBER_OF_SHARDS, getNumberOfShards()); builder.field(Fields.NUMBER_OF_REPLICAS, getNumberOfReplicas()); builder.field(Fields.ACTIVE_PRIMARY_SHARDS, getActivePrimaryShards()); builder.field(Fields.ACTIVE_SHARDS, getActiveShards()); builder.field(Fields.RELOCATING_SHARDS, getRelocatingShards()); builder.field(Fields.INITIALIZING_SHARDS, getInitializingShards()); builder.field(Fields.UNASSIGNED_SHARDS, getUnassignedShards()); if (!getValidationFailures().isEmpty()) { builder.startArray(Fields.VALIDATION_FAILURES); for (String validationFailure : getValidationFailures()) { builder.value(validationFailure); } builder.endArray(); } if ("shards".equals(params.param("level", "indices"))) { builder.startObject(Fields.SHARDS); for (ClusterShardHealth shardHealth : shards.values()) { builder.startObject(Integer.toString(shardHealth.getId())); builder.field(Fields.STATUS, shardHealth.getStatus().name().toLowerCase(Locale.ROOT)); builder.field(Fields.PRIMARY_ACTIVE, shardHealth.isPrimaryActive()); builder.field(Fields.ACTIVE_SHARDS, shardHealth.getActiveShards()); builder.field(Fields.RELOCATING_SHARDS, shardHealth.getRelocatingShards()); builder.field(Fields.INITIALIZING_SHARDS, shardHealth.getInitializingShards()); builder.field(Fields.UNASSIGNED_SHARDS, shardHealth.getUnassignedShards()); builder.endObject(); } builder.endObject(); } return builder; }