public virtual async Task BootstrapElasticsearchAsync()

in src/Elastic.Ingest.Elasticsearch/ElasticsearchChannelBase.Bootstrap.cs [34:57]


	public virtual async Task<bool> BootstrapElasticsearchAsync(BootstrapMethod bootstrapMethod, string? ilmPolicy = null, CancellationToken ctx = default)
	{
		if (bootstrapMethod == BootstrapMethod.None) return true;

		ctx = ctx == default ? TokenSource.Token : ctx;

		var name = TemplateName;
		var match = TemplateWildcard;
		if (await IndexTemplateExistsAsync(name, ctx).ConfigureAwait(false)) return false;

		var (settingsName, settingsBody) = GetDefaultComponentSettings(name, ilmPolicy);
		if (!await PutComponentTemplateAsync(bootstrapMethod, settingsName, settingsBody, ctx).ConfigureAwait(false))
			return false;

		var (mappingsName, mappingsBody) = GetDefaultComponentMappings(name);
		if (!await PutComponentTemplateAsync(bootstrapMethod, mappingsName, mappingsBody, ctx).ConfigureAwait(false))
			return false;

		var (indexTemplateName, indexTemplateBody) = GetDefaultIndexTemplate(name, match, mappingsName, settingsName);
		if (!await PutIndexTemplateAsync(bootstrapMethod, indexTemplateName, indexTemplateBody, ctx).ConfigureAwait(false))
			return false;

		return true;
	}