IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.

ElasticsearchClusterTopologyElement

edit

The topology of the Elasticsearch nodes, including the number, capacity, and type of nodes, and where they can be allocated.

Properties

edit
allocator_filter (object)
DEPRECATED: Scheduled for removal in a future version of the API. Controls the allocation strategy of this node type using a simplified version of the Elasticsearch filter DSL (together with 'node_configuration')
elasticsearch (ElasticsearchConfiguration)
The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.
instance_configuration_id (string)
Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.
memory_per_node (integer as int32)
The memory capacity in MB for each node of this type built in each zone.
node_configuration (string)
DEPRECATED: Scheduled for removal in a future version of the API. Please use instance_configuration_id. Controls the allocation strategy of this node type by pointing to the names of pre-registered allocator settings. Unless otherwise specified for this deployment, only 'default' is supported (equivalent to omitting).
node_count_per_zone (integer as int32)
The number of nodes of this type that are allocated within each zone. (i.e. total capacity per zone = node_count_per_zone * memory_per_node in MB). Cannot be set for tiebreaker topologies. For dedicated master nodes, must be 1 if an entry exists.
node_type (ElasticsearchNodeType)
Controls the combinations of Elasticsearch node types. TIP: By default, the Elasticsearch node is master eligible, can hold data, and run ingest pipelines. WARNING: Do not set for tiebreaker topologies.
size (TopologySize)
Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.
zone_count (integer as int32)
The default number of zones in which data nodes will be placed

Example

edit
{
   "allocator_filter" : {},
   "elasticsearch" : {
      "curation" : {
         "from_instance_configuration_id" : "string",
         "to_instance_configuration_id" : "string"
      },
      "docker_image" : "string",
      "enabled_built_in_plugins" : [
         "string"
      ],
      "node_attributes" : {
         "some_property" : "string"
      },
      "system_settings" : {
         "auto_create_index" : true,
         "default_shards_per_index" : 0,
         "destructive_requires_name" : true,
         "enable_close_index" : true,
         "monitoring_collection_interval" : 0,
         "monitoring_history_duration" : "string",
         "reindex_whitelist" : [
            "string"
         ],
         "scripting" : {
            "expressions_enabled" : true,
            "file" : {
               "enabled" : true,
               "sandbox_mode" : true
            },
            "inline" : {
               "enabled" : true,
               "sandbox_mode" : true
            },
            "mustache_enabled" : true,
            "painless_enabled" : true,
            "stored" : {
               "enabled" : true,
               "sandbox_mode" : true
            }
         },
         "use_disk_threshold" : true,
         "watcher_trigger_engine" : "string"
      },
      "user_bundles" : [
         {
            "elasticsearch_version" : "string",
            "name" : "string",
            "url" : "string"
         }
      ],
      "user_plugins" : [
         {
            "elasticsearch_version" : "string",
            "name" : "string",
            "url" : "string"
         }
      ],
      "user_settings_json" : {},
      "user_settings_override_json" : {},
      "user_settings_override_yaml" : "string",
      "user_settings_yaml" : "string",
      "version" : "string"
   },
   "instance_configuration_id" : "string",
   "memory_per_node" : 0,
   "node_configuration" : "string",
   "node_count_per_zone" : 0,
   "node_type" : {
      "data" : true,
      "ingest" : true,
      "master" : true,
      "ml" : true
   },
   "size" : {
      "resource" : "string",
      "value" : 0
   },
   "zone_count" : 0
}