public override bool BootstrapElasticsearch()

in src/Elastic.Ingest.Elasticsearch.CommonSchema/EcsDataStreamChannel.cs [36:65]


		public override bool BootstrapElasticsearch(BootstrapMethod bootstrapMethod, string? ilmPolicy = null)
		{
			if (bootstrapMethod == BootstrapMethod.None) return true;

			var name = $"{TemplateName}-{EcsDocument.Version}";
			var match = TemplateWildcard;
			if (IndexTemplateExists(name)) return false;

			foreach (var kv in IndexComponents.Components)
			{
				if (!PutComponentTemplate(bootstrapMethod, kv.Key, kv.Value))
					return false;
			}

			var additionalComponents = GetInferredComponentTemplates();
			if (!string.IsNullOrEmpty(ilmPolicy))
			{
				// create a component template that sets index.lifecycle.name
				var (settingsName, settingsBody) = GetDefaultComponentSettings(name, ilmPolicy);
				if (!PutComponentTemplate(bootstrapMethod, settingsName, settingsBody))
					return false;
				additionalComponents.Add(settingsName);
			}

			var template = IndexTemplates.GetIndexTemplateForElasticsearchComposable(match, additionalComponents.ToArray());
			if (!PutIndexTemplate(bootstrapMethod, name, template))
				return false;

			return true;
		}