@Override public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws IOException { builder.startObject(Fields.SNAPSHOT); builder.field(Fields.NAME, name); builder.field(Fields.VERSION_ID, version.id); builder.startArray(Fields.INDICES); for (String index : indices) { builder.value(index); } builder.endArray(); builder.field(Fields.STATE, state); if (reason != null) { builder.field(Fields.REASON, reason); } builder.field(Fields.START_TIME, startTime); builder.field(Fields.END_TIME, endTime); builder.field(Fields.TOTAL_SHARDS, totalShard); builder.field(Fields.SUCCESSFUL_SHARDS, successfulShards); builder.startArray(Fields.FAILURES); for (SnapshotShardFailure shardFailure : shardFailures) { builder.startObject(); shardFailure.toXContent(builder, params); builder.endObject(); } builder.endArray(); builder.endObject(); return builder; }