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')
autoscaling_max (TopologySize)
The maximum size of this topology element when autoscaling is enabled. This property is only supported, and must be provided, for data and ML topology elements.
autoscaling_min (TopologySize)
The minimum size of this topology element when autoscaling is enabled. This property is only supported, and must be provided, for ML topology elements.
autoscaling_policy_override_json (object)
An arbitrary JSON object overriding the default autoscaling policy. Don't set unless you really know what you are doing.
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.
id (string)
Unique identifier of this topology element
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_roles (array[string])
The list of node roles for this topology element (ES version >= 7.10). Allowable values are: master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, transform
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.
topology_element_control (TopologyElementControl)
Controls for the topology element. Only used as part of the deployment template. Ignored if included as part of a deployment.
zone_count (integer as int32)
The default number of zones in which data nodes will be placed

Example

edit
{
   "allocator_filter" : {},
   "autoscaling_max" : {
      "resource" : "string",
      "value" : 0
   },
   "autoscaling_min" : {
      "resource" : "string",
      "value" : 0
   },
   "autoscaling_policy_override_json" : {},
   "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"
   },
   "id" : "string",
   "instance_configuration_id" : "string",
   "memory_per_node" : 0,
   "node_configuration" : "string",
   "node_count_per_zone" : 0,
   "node_roles" : [
      "string"
   ],
   "node_type" : {
      "data" : true,
      "ingest" : true,
      "master" : true,
      "ml" : true
   },
   "size" : {
      "resource" : "string",
      "value" : 0
   },
   "topology_element_control" : {
      "min" : {
         "resource" : "string",
         "value" : 0
      }
   },
   "zone_count" : 0
}