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;
}