Class PutComponentTemplateRequest

java.lang.Object
co.elastic.clients.elasticsearch._types.RequestBase
co.elastic.clients.elasticsearch.cluster.PutComponentTemplateRequest
All Implemented Interfaces:
JsonpSerializable

@JsonpDeserializable public class PutComponentTemplateRequest extends RequestBase implements JsonpSerializable
Creates or updates a component template. Component templates are building blocks for constructing index templates that specify index mappings, settings, and aliases.

An index template can be composed of multiple component templates. To use a component template, specify it in an index template’s composed_of list. Component templates are only applied to new data streams and indices as part of a matching index template.

Settings and mappings specified directly in the index template or the create index request override any settings or mappings specified in a component template.

Component templates are only used during index creation. For data streams, this includes data stream creation and the creation of a stream’s backing indices. Changes to component templates do not affect existing indices, including a stream’s backing indices.

You can use C-style /* *\/ block comments in component templates. You can include comments anywhere in the request body except before the opening curly bracket.

See Also:
  • Field Details

  • Method Details

    • of

    • meta

      public final Map<String,JsonData> meta()
      Optional user metadata about the component template. May have any contents. This map is not automatically generated by Elasticsearch. This information is stored in the cluster state, so keeping it short is preferable. To unset _meta, replace the template without specifying this information.

      API name: _meta

    • allowAutoCreate

      @Nullable public final Boolean allowAutoCreate()
      This setting overrides the value of the action.auto_create_index cluster setting. If set to true in a template, then indices can be automatically created using that template even if auto-creation of indices is disabled via actions.auto_create_index. If set to false then data streams matching the template must always be explicitly created.

      API name: allow_auto_create

    • create

      @Nullable public final Boolean create()
      If true, this request cannot replace or update existing component templates.

      API name: create

    • masterTimeout

      @Nullable public final Time masterTimeout()
      Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error.

      API name: master_timeout

    • name

      public final String name()
      Required - Name of the component template to create. Elasticsearch includes the following built-in component templates: logs-mappings; 'logs-settings; metrics-mappings; metrics-settings;synthetics-mapping; synthetics-settings. Elastic Agent uses these templates to configure backing indices for its data streams. If you use Elastic Agent and want to overwrite one of these templates, set the versionfor your replacement template higher than the current version. If you don’t use Elastic Agent and want to disable all built-in component and index templates, setstack.templates.enabledtofalse` using the cluster update settings API.

      API name: name

    • template

      public final IndexState template()
      Required - The template to be applied which includes mappings, settings, or aliases configuration.

      API name: template

    • version

      @Nullable public final Long version()
      Version number used to manage component templates externally. This number isn't automatically generated or incremented by Elasticsearch. To unset a version, replace the template without specifying a version.

      API name: version

    • serialize

      public void serialize(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)
      Serialize this object to JSON.
      Specified by:
      serialize in interface JsonpSerializable
    • serializeInternal

      protected void serializeInternal(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)
    • setupPutComponentTemplateRequestDeserializer

      protected static void setupPutComponentTemplateRequestDeserializer(ObjectDeserializer<PutComponentTemplateRequest.Builder> op)