private BytesReference toBytesReference(IndexTemplateMetaData templateMetaData) { try { return XContentHelper.toXContent((builder, params) -> { IndexTemplateMetaData.Builder.toInnerXContent(templateMetaData, builder, params); return builder; }, XContentType.JSON, PARAMS, false); } catch (IOException ex) { throw new IllegalStateException("Cannot serialize template [" + templateMetaData.getName() + "]", ex); } } }
public Builder(IndexTemplateMetaData indexTemplateMetaData) { this.name = indexTemplateMetaData.name(); order(indexTemplateMetaData.order()); version(indexTemplateMetaData.version()); patterns(indexTemplateMetaData.patterns()); settings(indexTemplateMetaData.settings()); mappings = ImmutableOpenMap.builder(indexTemplateMetaData.mappings()); aliases = ImmutableOpenMap.builder(indexTemplateMetaData.aliases()); }
public IndexTemplateMetaData build() { return new IndexTemplateMetaData(name, order, version, indexPatterns, settings, mappings.build(), aliases.build()); }
/** * If the newly created index matches with an index template whose aliases contains the rollover alias, * the rollover alias will point to multiple indices. This causes indexing requests to be rejected. * To avoid this, we make sure that there is no duplicated alias in index templates before creating a new index. */ static void checkNoDuplicatedAliasInIndexTemplate(MetaData metaData, String rolloverIndexName, String rolloverRequestAlias) { final List<IndexTemplateMetaData> matchedTemplates = MetaDataIndexTemplateService.findTemplates(metaData, rolloverIndexName); for (IndexTemplateMetaData template : matchedTemplates) { if (template.aliases().containsKey(rolloverRequestAlias)) { throw new IllegalArgumentException(String.format(Locale.ROOT, "Rollover alias [%s] can point to multiple indices, found duplicated alias [%s] in index template [%s]", rolloverRequestAlias, template.aliases().keys(), template.name())); } } } }
private Table buildTable(RestRequest request, ClusterStateResponse clusterStateResponse, String patternString) { Table table = getTableWithHeader(request); MetaData metadata = clusterStateResponse.getState().metaData(); for (ObjectObjectCursor<String, IndexTemplateMetaData> entry : metadata.templates()) { IndexTemplateMetaData indexData = entry.value; if (patternString == null || Regex.simpleMatch(patternString, indexData.name())) { table.startRow(); table.addCell(indexData.name()); table.addCell("[" + String.join(", ", indexData.patterns()) + "]"); table.addCell(indexData.getOrder()); table.addCell(indexData.getVersion()); table.endRow(); } } return table; } }
public Builder(IndexTemplateMetaData indexTemplateMetaData) { this.name = indexTemplateMetaData.name(); order(indexTemplateMetaData.order()); version(indexTemplateMetaData.version()); template(indexTemplateMetaData.template()); settings(indexTemplateMetaData.settings()); mappings = ImmutableOpenMap.builder(indexTemplateMetaData.mappings()); aliases = ImmutableOpenMap.builder(indexTemplateMetaData.aliases()); customs = ImmutableOpenMap.builder(indexTemplateMetaData.customs()); }
templateNames.add(template.getName()); for (ObjectObjectCursor<String, CompressedXContent> cursor : template.mappings()) { String mappingString = cursor.value.string(); if (mappings.containsKey(cursor.key)) { for (ObjectObjectCursor<String, AliasMetaData> cursor : template.aliases()) { AliasMetaData aliasMetaData = cursor.value; indexSettingsBuilder.put(templates.get(i).settings());
for (ObjectObjectCursor<String, IndexTemplateMetaData> cursor : templates) { IndexTemplateMetaData templateMetaData = cursor.value; Settings currentSettings = templateMetaData.getSettings(); Settings newSettings = addDefaultUnitsIfNeeded( MetaDataIndexUpgradeService.INDEX_TIME_SETTINGS, builder.putAll(templates); builder.put(cursor.key, new IndexTemplateMetaData( templateMetaData.name(), templateMetaData.order(), templateMetaData.template(), newSettings, templateMetaData.mappings(), templateMetaData.aliases(), templateMetaData.customs() ));
builder.startObject(indexMetaData.name(), XContentBuilder.FieldCaseConversion.NONE); builder.field("template", indexMetaData.template()); builder.field("order", indexMetaData.order()); for (Map.Entry<String, String> entry : indexMetaData.settings().getAsMap().entrySet()) { builder.field(entry.getKey(), entry.getValue()); for (Map.Entry<String, CompressedString> entry : indexMetaData.mappings().entrySet()) { byte[] mappingSource = entry.getValue().uncompressed(); XContentParser parser = XContentFactory.xContent(mappingSource).createParser(mappingSource);
for (ObjectCursor<IndexTemplateMetaData> cursor : metaData().templates().values()) { IndexTemplateMetaData templateMetaData = cursor.value; builder.startObject(templateMetaData.name()); builder.field("index_patterns", templateMetaData.patterns()); builder.field("order", templateMetaData.order()); Settings settings = templateMetaData.settings(); settings.toXContent(builder, params); builder.endObject(); for (ObjectObjectCursor<String, CompressedXContent> cursor1 : templateMetaData.mappings()) { Map<String, Object> mapping = XContentHelper.convertToMap(new BytesArray(cursor1.value.uncompressed()), false).v2(); if (mapping.size() == 1 && mapping.containsKey(cursor1.key)) {
private Table buildTable(RestRequest request, ClusterStateResponse clusterStateResponse, String patternString) { Table table = getTableWithHeader(request); MetaData metadata = clusterStateResponse.getState().metaData(); for (ObjectObjectCursor<String, IndexTemplateMetaData> entry : metadata.templates()) { IndexTemplateMetaData indexData = entry.value; if (patternString == null || Regex.simpleMatch(patternString, indexData.name())) { table.startRow(); table.addCell(indexData.name()); table.addCell(indexData.getTemplate()); table.addCell(indexData.getOrder()); table.addCell(indexData.getVersion()); table.endRow(); } } return table; } }
@SuppressWarnings("unchecked") public static void toXContent(IndexTemplateMetaData indexTemplateMetaData, XContentBuilder builder, ToXContent.Params params) throws IOException { builder.startObject(indexTemplateMetaData.name()); toInnerXContent(indexTemplateMetaData, builder, params); builder.endObject(); }
for (ObjectCursor<String> s : templates.keys()) { IndexTemplateMetaData itmd = templates.get(s.value); itmd.getName(); itmd.getOrder(); itmd.getTemplate(); itmd.getSettings(); itmd.getMappings();
public int getOrder() { return order(); }
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); int size = in.readVInt(); indexTemplates.clear(); for (int i = 0 ; i < size ; i++) { indexTemplates.add(0, IndexTemplateMetaData.readFrom(in)); } }
public Settings getSettings() { return settings(); }
final IndexTemplateMetaData.Builder templateBuilder = IndexTemplateMetaData.builder(request.name);
public Builder(IndexTemplateMetaData indexTemplateMetaData) { this.name = indexTemplateMetaData.name(); order(indexTemplateMetaData.order()); template(indexTemplateMetaData.template()); settings(indexTemplateMetaData.settings()); mappings = ImmutableOpenMap.builder(indexTemplateMetaData.mappings()); aliases = ImmutableOpenMap.builder(indexTemplateMetaData.aliases()); customs = ImmutableOpenMap.builder(indexTemplateMetaData.customs()); }
templateNames.add(template.getName()); for (ObjectObjectCursor<String, CompressedXContent> cursor : template.mappings()) { String mappingString = cursor.value.string(); if (mappings.containsKey(cursor.key)) { for (ObjectObjectCursor<String, Custom> cursor : template.customs()) { String type = cursor.key; IndexMetaData.Custom custom = cursor.value; for (ObjectObjectCursor<String, AliasMetaData> cursor : template.aliases()) { AliasMetaData aliasMetaData = cursor.value; indexSettingsBuilder.put(templates.get(i).settings());