Search Deployments

Base URL
https://api.elastic-cloud.com/api/v1
  • POST /deployments/_search
No auth

Retrieves the information for all of the deployments that match the specified query.

Query parameters

minimal_metadata string

Comma separated list of attributes to include in response for deployments found. Useful for reducing response size when retrieving many deployments. Use of this parameter moves the result to the minimal_metadata section of the response.

Request body

(Optional) The search query to run. When not specified, all of the deployments are matched.

from integer · format: int32

Deprecated, use cursor for a more scalable approach to paging.

cursor string

To retrieve the next page of hits, set this to the cursor value of the previous response. When set, all other fields are ignored.

size integer · format: int32

The maximum number of search results to return.

query object

The container for all of the allowed Elasticsearch queries. Specify only one property each time.

match map string to object
<string> object
query string required

The text/numeric/date to query for.

operator string

The operator flag can be set to or or and to control the boolean clauses (defaults to or).

minimum_should_match integer · format: int32

The minimum number of optional should clauses to match.

analyzer string

The analyzer that will be used to perform the analysis process on the text. Defaults to the analyzer that was used to index the field.

match_all object

A query that matches all documents.

match_none object

A query that doesn't match any documents.

term map string to object
<string> object
value string required

The exact value to query for.

bool object

A query for documents that match boolean combinations of other queries.

must object[]
Same fields as query
should object[]
Same fields as query
must_not object[]
Same fields as query
filter object[]
Same fields as query
minimum_should_match integer · format: int32

The minimum number of optional should clauses to match.

query_string object

A query that uses the strict query string syntax for parsing. Will return an error for invalid syntax.

query string required

The actual query to be parsed.

default_field string

The default field for query terms if no prefix field is specified.

analyzer string

The analyzer used to analyze each term of the query when creating composite queries.

default_operator string

The default operator used if no explicit operator is specified.

allow_leading_wildcard boolean

When set, * or ? are allowed as the first character. Defaults to false.

nested object

A query that matches nested objects.

query object required

The container for all of the allowed Elasticsearch queries. Specify only one property each time.

Same fields as query
path string required

The path to the nested object.

score_mode enum

Allows to specify how inner children matching affects score of the parent. Refer to the Elasticsearch documentation for details.

Values: avg sum min max none
prefix map string to object
<string> object
value string required

The prefix to search for.

boost number · format: float

An optional boost value to apply to the query.

exists object

Matches documents that have at least one non-null value in the original field.

field string required

The field to check for non-null values in.

range map string to object
<string> object
gt object

Greater-than

gte object

Greater-than or equal to

lt object

Less-than

lte object

Less-than or equal to.

boost number · format: float

An optional boost value to apply to the query.

format string

Formatted dates will be parsed using the format specified on the date field by default, but it can be overridden by passing the format parameter.

time_zone string

Dates can be converted from another timezone to UTC either by specifying the time zone in the date value itself (if the format accepts it), or it can be specified as the time_zone parameter.

simple_query_string object

A query that uses simple query string syntax. Will ignore invalid syntax.

query string required

The query expressed in simple query string syntax.

fields string[]

Array of fields to search

default_operator string

The boolean operator used to combine the terms of the query. Valid values are OR (default) and AND.

analyze_wildcard boolean

If true, the query attempts to analyze wildcard terms. Defaults to false.

analyzer string

The name of the analyzer to use to convert the query text into tokens.

auto_generate_synonyms_phrase_query boolean

If true, the parse creates a match_phrase uery for each multi-position token. Defaults to true.

flags string

List of enabled operators for the simple query string syntax. Defaults to ALL.

fuzzy_max_expansions integer · format: int32

Maximum number of terms to which the query expands for fuzzy matching. Defaults to 50.

fuzzy_prefix_length integer · format: int32

Number of beginning characters left unchanged for fuzzy matching. Defaults to 0.

fuzzy_transpositions boolean

If true, edits for fuzzy matching include transpositions of two adjacent characters. Defaults to false.

lenient boolean

If true, format-based errors, such as providing a text value for a numeric field are ignored. Defaults to false.

minimum_should_match string

Minimum number of clauses that must match for a document to be returned.

quote_field_suffix string

Suffix appended to quoted text in the query string.

sort object[]

An array of fields to sort the search results by. Defaults to query rank and last modified date descending.

Response

The list of deployments that match the specified query and belong to the authenticated user.

application/json
return_count integer · format: int32 required

The number of deployments actually returned, either as deployment instances or as minimalMetadata objects

match_count integer · format: int32

If a query is supplied, then the total number of deployments that matched

deployments object[] required
id string required

A randomly-generated id of this Deployment

name string required

The name of this deployment

alias string

A user-defined deployment alias for user-friendly resource URLs

healthy boolean required

Whether the deployment is overall healthy or not (one or more of the resource info subsections will have healthy: false)

resources object required

Describes a resource belonging to a Deployment

elasticsearch object[] required

List of Elasticsearch resources in your Deployment

ref_id string required

The locally-unique user-specified id of a Resource

id string required

The randomly-generated id of a Resource

region string required

The region where this resource exists

info object required

The information for an Elasticsearch cluster.

cluster_id string required

The id of the cluster

cluster_name string required

The name of the cluster

deployment_id string

The id of the deployment that this Elasticsearch belongs to.

healthy boolean required

Whether the cluster is healthy or not (one or more of the info subsections will have healthy: false)

status enum required

Cluster status

Values: initializing stopping stopped rebooting restarting reconfiguring started
plan_info object required

Information about the current, pending, and past Elasticsearch cluster plans.

healthy boolean required

Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)

current object

Information about the Elasticsearch cluster plan.

plan_attempt_id string

A UUID for each plan attempt

plan_attempt_name string

A human readable name for each plan attempt, only populated when retrieving plan histories

healthy boolean required

Either the plan ended successfully, or is not yet completed (and no errors have occurred)

attempt_start_time string · format: date-time

When this plan attempt (ie to apply the plan to the cluster) started (ISO format in UTC)

attempt_end_time string · format: date-time

If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

plan_end_time string · format: date-time

If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

plan object

The plan for the Elasticsearch cluster.

cluster_topology object[] required
id string

Unique identifier of this topology element

node_type object

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.

master boolean

Defines whether this node can be elected master (default: false)

data boolean

Defines whether this node can hold data (default: false)

ingest boolean

Defines whether this node can run an ingest pipeline (default: false)

ml boolean

Defines whether this node can run ml jobs, valid only for versions 5.4.0 or greater (default: false)

node_roles enum[]

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

Values: master ingest ml data_hot data_content data_warm data_cold data_frozen remote_cluster_client transform
zone_count integer · format: int32

The default number of zones in which data nodes will be placed

elasticsearch object

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.

version string

The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

docker_image string

A docker URI that allows overriding of the default docker image specified for this version

system_settings object

A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

scripting object

Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

painless_enabled boolean

(5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

mustache_enabled boolean

(5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

expressions_enabled boolean

(5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

stored object

Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

enabled boolean

If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

sandbox_mode boolean

If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

file object

Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

enabled boolean

If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

sandbox_mode boolean

If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

inline object

Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

enabled boolean

If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

sandbox_mode boolean

If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

reindex_whitelist string[]

Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

auto_create_index boolean

If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

enable_close_index boolean

Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

destructive_requires_name boolean

If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

watcher_trigger_engine string

The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

default_shards_per_index integer · format: int32

(2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

monitoring_collection_interval integer · format: int32

The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

monitoring_history_duration string

The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

user_settings_json object

An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

user_settings_yaml string

An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

user_settings_override_json object

An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

user_settings_override_yaml string

An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

enabled_built_in_plugins string[]

A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

user_plugins object[]

A list of admin-uploaded plugin objects that are available for this user.

name string required

The name of the plugin

url string required

The URL of the plugin (must be accessible from the ECE infrastructure)

elasticsearch_version string required

The supported Elasticsearch version (must match the version in the plan)

user_bundles object[]

A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

name string required

The name of the bundle

url string required

The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

elasticsearch_version string required

The supported Elasticsearch version (must match the version in the plan)

curation object

The structure that defines the routing settings for index curation.

from_instance_configuration_id string required

The source instance configuration

to_instance_configuration_id string required

The destination instance configuration

node_attributes map string to string

Defines the Elasticsearch node attributes for the instances in the topology

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.

instance_configuration_version integer · format: int32

The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

size object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
autoscaling_min object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
autoscaling_max object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
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.

topology_element_control object

Controls for the topology element. Only used as part of the deployment template. Ignored if included as part of a deployment.

min object required

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
autoscaling_tier_override boolean

Set to true to enable autoscaling for this topology element, even if the cluster-level 'autoscaling_enabled' field is false. Note that 'autoscaling_tier_override' cannot be set to false if cluster-level 'autoscaling_enabled' is true. Currently only supported for the 'ml' tier

elasticsearch object required

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.

Same fields as elasticsearch in cluster_topology
deployment_template object

Specifies the deployment template used to create the plan.

id string required

The unique identifier of the deployment template

version string

A version identifier to disambiguate multiple revisions of the same template

transient object

Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Elasticsearch settings.

strategy object

The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

rolling object

Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

group_by string

Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

allow_inline_resize boolean

Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

skip_synced_flush boolean

Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

shard_init_wait_time integer · format: int64

The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

grow_and_shrink object

A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

rolling_grow_and_shrink object

A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

autodetect object

A strategy that lets constructor choose the most optimal way to execute the plan.

plan_configuration object

The configuration settings for the timeout and fallback parameters.

timeout integer · format: int64

The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB). NOTES: A 3 zone cluster with 2 nodes of 2048 each would have a timeout of 4*2048=8192 seconds. Timeout does not include time required to run rollback actions.

calm_wait_time integer · format: int64

This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

skip_snapshot boolean

If true (default: false), does not take (or require) a successful snapshot to be taken before performing any potentially destructive changes to this cluster

max_snapshot_attempts integer · format: int32

If taking a snapshot (ie unless 'skip_snapshots': true) then will retry on failure at most this number of times (default: 5)

max_snapshot_age integer · format: int64

When you take a snapshot and 'skip_snapshots' is false, specifies the maximum age in seconds of the most recent snapshot before a new snapshot is created. Default is 300

extended_maintenance boolean

If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

cluster_reboot enum

Set to 'forced' to force a reboot as part of the upgrade plan. NOTES: (ie taking an existing plan and leaving it alone except for setting 'transient.plan_configuration.cluster_reboot': 'forced' will reboot the cluster)

Values: forced
restore_snapshot object

Restores a snapshot from a local or remote repository.

repository_name string

If specified, contains the name of the snapshot repository - else will default to the Elastic Cloud system repo ('found-snapshots')

snapshot_name string required

The name of the snapshot to restore. Use '__latest_success__' to get the most recent snapshot from the specified repository

repository_config object

Configures the location of a remote repository. The default is the system repository.

raw_settings object

The remote snapshot settings raw JSON - see the Elasticsearch '_snapshot' documentation for more details on supported formats

restore_payload object

The configuration for the restore command, such as which indices you want to restore.

indices string[]

The list of indices to restore (supports +ve and -ve selection and wildcarding - see the default Elasticsearch index format documentation)

raw_settings object

This JSON object (merged with the 'indices' field (if present) is passed untouched into the restore command - see the Elasticsearch '_snapshot' documentation for more details on supported formats

strategy enum

The restore strategy to use. Defaults to a full restore. Partial restore will attempt to restore unavailable indices only

Values: partial full recovery
source_cluster_id string

If specified, contains the name of the source cluster id. Do not send this if you are sending repository_config

snapshot_dependency object

Configuration for attaching a snapshot repository dependency from another cluster. This creates a snapshot repository in the target cluster pointing to the source cluster's snapshots.

source_cluster_id string required

The cluster ID of the source cluster whose snapshots will be made available

remote_clusters object

The list of resources used as remote clusters

resources object[] required

The remote resources

deployment_id string required

The id of the deployment

elasticsearch_ref_id string required

The locally-unique user-specified id of an Elasticsearch Resource

alias string required

The alias for this remote cluster. Aliases must only contain letters, digits, dashes and underscores

skip_unavailable boolean

If true, skip this cluster during search if it is disconnected. Default: false

info object

Information about a Remote Cluster.

healthy boolean required

Whether or not the remote cluster is healthy

connected boolean required

Whether or not there is at least one connection to the remote cluster.

compatible boolean required

Whether or not the remote cluster version is compatible with this cluster version.

trusted boolean required

Whether or not the remote cluster is trusted by this cluster.

trusted_back boolean required

Whether or not the remote cluster trusts this cluster back.

cluster_settings_json object

If specified, contains transient settings to be applied to an Elasticsearch cluster during changes,default values shown below applied. These can be overridden by specifying them in the map (or null to unset). Additional settings can also be set. Settings will be cleared after the plan has finished. If not specified, no settings will be applied. NOTE: These settings are only explicitly cleared for 5.x+ clusters, they must be hand-reset to their defaults in 2.x- (or a cluster reboot will clear them).

  • indices.store.throttle.max_bytes_per_sec: 120Mb
  • indices.recovery.max_bytes_per_sec: 120Mb
  • cluster.routing.allocation.cluster_concurrent_rebalance: 5
  • cluster.routing.allocation.node_initial_primaries_recoveries: 5
  • cluster.routing.allocation.node_concurrent_incoming_recoveries: 5 For version 8.1 and later no defaults are provided through this mechanism, but instead hardware dependent settings are provided to each instance.
autoscaling_enabled boolean

Enable autoscaling for this Elasticsearch cluster.

plan_attempt_log object[] required
step_id string required

ID of current step

started string · format: date-time required

When the step started (ISO format in UTC)

completed string · format: date-time

When the step completed (ISO format in UTC)

duration_in_millis integer · format: int64

The duration of the step in MS

status enum required

The status of the step (success, warning, error - warning means something didn't go as expected but it was not serious enough to abort the plan)

Values: success warning error pending
stage enum required

Current stage that the step is in

Values: starting completed in_progress
info_log object[] required

Human readable summaries of the step, including messages for each stage of the step

timestamp string · format: date-time required

Timestamp marking on info log of step

delta_in_millis integer · format: int64

Time in milliseconds since previous log message

stage enum required

Stage that info log message takes place in

Values: starting completed in_progress
message string required

Human readable log message

details map string to string required

A map with details for the log about what happened during the step execution. Keys and values for are always both strings, representing the name of the detail and its value, respectively.

failure_type string

The failure type, in case the step failed

source object

A container for information about the source of a change.

facilitator string required

The service where the change originated from

action string required

The type of plan change that was initiated

date string · format: date-time required

The time the change was initiated

user_id string

The user that requested the change

admin_id string

The admin user that requested the change

remote_addresses string[]

The host addresses of the user that originated the change

warnings object[] required
code string required

A unique warning code

message string required

A description of the warning

step_id string

The ID of the step which produced a warning, if any

error object

Information about an error during a plan attempt.

timestamp string · format: date-time required

Timestamp marking on info log of step

message string required

Human readable error message

details map string to string required

A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

failure_type string

The failure type

pending object

Information about the Elasticsearch cluster plan.

Same fields as current in plan_info
history object[] required
Same fields as current in plan_info
elasticsearch object required

Information about the Elasticsearch cluster.

healthy boolean required

Whether the Elasticsearch cluster is healthy (check the sub-objects for more details if not)

shard_info object required
Warning

This endpoint is deprecated and scheduled to be removed in the next major version. Use shards_status instead.

Information about the shards and replicas that comprise the Elasticsearch indices.

healthy boolean required

Whether the shard situation is healthy (any unavailable shards is unhealthy)

available_shards object[] required
instance_name string required

The Elastic Cloud name/id of the instance (container)

shard_count integer · format: int32 required

The number of shards of the given type (available/unavailable) on this instance

unavailable_shards object[] required
instance_name string required

The Elastic Cloud name/id of the instance (container)

shard_count integer · format: int32 required

The number of shards of the given type (available/unavailable) on this instance

unavailable_replicas object[] required
instance_name string required

The Elastic Cloud name/id of the instance (container)

replica_count integer · format: int32 required

The number of unavailable replicas on this instance

shards_status object

Shards status represented as green, yellow, or red, as returned by the Elasticsearch cluster health API

status enum required

Indicates the elasticsearch cluster health status as a color

Values: green red yellow
master_info object required

Information about the master nodes in the Elasticsearch cluster.

healthy boolean required

Whether the master situation in the cluster is healthy (ie is the number of masters != 1), or do any instances have no master

masters object[] required
master_node_id string required

The Elasticsearch node id of a master node

master_instance_name string

The corresponding instance name of the container hosting the Elasticsearch master node, if available

instances string[] required

The names of the instance/container hosting the node belong to the cluster with the given master

instances_with_no_master string[] required

A list of any instances with no master

blocking_issues object required
Warning

This endpoint is deprecated and scheduled to be removed in the next major version. Use cluster_blocking_issues instead

Issues that prevent the Elasticsearch cluster or index from operating correctly.

healthy boolean required

Whether the cluster has issues (false) or not (true)

cluster_level object[] required

A list of issues that affect availability of entire cluster

description string required

Description of the issue

instances string[] required

A list of instances that are affected by the issue

index_level object[] required

A list of issues that affect availability of the cluster's indices

description string required

Description of the issue

instances string[] required

A list of instances that are affected by the issue

cluster_blocking_issues object

Issues that prevent the Elasticsearch cluster or index from correctly operating.

healthy boolean required

Whether the cluster has issues (false) or not (true)

blocks object[] required

A list of blocks that affect the availability of the cluster

description string required

Description of the block

level enum required

Applicable level for the block. Either global ie. cluster-wide or index level

Values: index global
metadata object required

Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

version integer · format: int32 required

The resource version number of the cluster metadata

last_modified string · format: date-time required

The most recent time the cluster metadata was changed (ISO format in UTC)

endpoint string

The DNS name of the cluster endpoint, if available

service_url string

The full URL to access this deployment resource

aliased_endpoint string

The DNS name of the cluster endpoint derived from the deployment alias, if available

aliased_url string

The full aliased URL to access this deployment resource

cloud_id string

The cloud ID, an encoded string that provides other Elastic services with the necessary information to connect to this Elasticsearch and Kibana (only present if both exist)

raw object

An unstructured JSON representation of the public and internal state (can be filtered out via URL parameter). The contents and structure of the raw field can change at any time.

ports object

Information about the ports that allow communication between the Elasticsearch cluster and various protocols.

http integer · format: int32 required

Port where the cluster listens for HTTP traffic

https integer · format: int32 required

Port where the cluster listens for HTTPS traffic

transport_passthrough integer · format: int32 required

Port where the cluster listens for transport traffic using TLS

services_urls object[]

A list of the URLs to access services that the resource provides at this time. Note that if the service is not running or has not started yet, the URL to access it won't be available

service string required

Name of the service

url string required

The full URL to access the service

topology object required

The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The ClusterTopologyInfo also includes the instances and containers, and where they are located.

healthy boolean required

Whether the cluster topology is healthy (ie all instances are started and the services they run - ie elasticsearch - are available

instances object[] required
instance_name string required

The name of the instance in Elastic Cloud

instance_configuration object

Information about a configuration that creates a Kibana instance or APM Server.

id string required

The id of the configuration used to create the instance

name string required

The name of the configuration used to create the instance

config_version integer · format: int32

If the IC is configuration controlled, this field is the version either being read back (reads return the latest IC unless specified by the 'config_version' URL param), or the version to update. Cannot be used in creates. For unversioned IC reads it is left empty.

resource enum required

The resource type of the instance configuration

Values: memory storage
service_version string

The version of the service that the instance is running (eg Elasticsearch or Kibana), if available

healthy boolean required

Whether the instance is healthy (ie started and running)

container_started boolean required

Whether the container has started (does not tell you anything about the service -ie Elasticsearch- running inside the container)

service_running boolean required

Whether the service launched inside the container -ie Elasticsearch- is actually running

maintenance_mode boolean required

Whether the service is is maintenance mode (meaning that the proxy is not routing external traffic to it)

zone string

The zone in which this instance is being allocated

allocator_id string

The id of the allocator on which this instance is running (if the container is started or starting)

memory object

Information about the specific instances memory capacity and its usage

instance_capacity integer · format: int32 required

The memory capacity in MB of the instance

instance_capacity_planned integer · format: int32

The planned memory capacity in MB of the instance (only shown when an override is present)

memory_pressure integer · format: int32

The % memory pressure of Elasticsearch JVM heap space if available (60-75% consider increasing capacity, >75% can incur significant performance and stability issues)

native_memory_pressure integer · format: int32

The % memory pressure of the instance Docker container (if available)

disk object

Information about the use and storage capacity of a Kibana instance or APM Server.

disk_space_available integer · format: int64

If known, the amount of total disk space available to the container in MB

disk_space_used integer · format: int64 required

The amount of disk space being used by the service in MB

storage_multiplier number · format: double required

The storage multiplier originally defined to calculate disk space.

service_roles string[]

List of roles assigned to the service running in the instance. Currently only populated for Elasticsearch, with possible values: master,data,ingest,ml

node_roles enum[]

A list of the node roles assigned to the service running in the instance. Currently populated only for Elasticsearch.

Values: master ingest ml data_hot data_content data_warm data_cold data_frozen remote_cluster_client transform voting_only
instance_overrides object
capacity integer · format: int32

Sets the memory capacity for the instances container. Requires a restart to take effect.

storage_multiplier number · format: double

Overrides the disk quota multiplier for the instance

system_alerts object[]

List of cluster system alerts

timestamp string · format: date-time required

Timestamp marking the system alert

instance_name string required

Instance that caused the system alert

alert_type enum required

Type of system alert

Values: automatic_restart heap_dump unknown_event
url string

The URL related to the event. Only applicable for alert_type: heap_dump

exit_code integer · format: int32

The exit_code related to the event. Only applicable for alert_type: slain

associated_kibana_clusters object[] required
kibana_id string required

The Kibana cluster Id

enabled boolean required

Whether the associated Kibana cluster is currently available

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

associated_apm_clusters object[] required
apm_id string required

The APM cluster Id

enabled boolean required

Whether the associated APM cluster is currently available

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

associated_appsearch_clusters object[] required
app_search_id string required

The App Search Id

enabled boolean required

Whether the associated App Search is currently available

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

associated_enterprise_search_clusters object[] required
enterprise_search_id string required

The Enterprise Search Id

enabled boolean required

Whether the associated Enterprise Search is currently available

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

security object

For 2.x Elasticsearch clusters, specifies the information about the users and roles. For 5.x Elasticsearch clusters, use the Kibana management UI.

version integer · format: int32 required

The resource version number of the security settings

last_modified string · format: date-time required

The most recent time the security settings were changed (ISO format in UTC)

users object[] required
username string required

The username

password_hash string required

The hashed password

roles object required

An arbitrarily nested JSON object mapping roles to sets of resources and permissions - see the Elasticsearch security documentation for more details on roles

users_roles object[] required
username string required

The username

roles string[] required

The list of roles for this user

elasticsearch_monitoring_info object

Information about the monitoring status for the Elasticsearch cluster.

healthy boolean required

Whether the Monitoring configuration has been successfully applied

last_modified string · format: date-time required

The time the monitoring configuration was last changed

last_update_status string required

The status message from the last update (successful or not)

source_cluster_ids string[] required

The list of clusters Ids from which this cluster is currently receiving monitoring data

destination_cluster_ids string[] required

The list of clusters Ids to which this cluster is currently sending monitoring data

snapshots object required

Information about the snapshot status for the Elasticsearch cluster. For example, the health status.

healthy boolean required

Health status of snapshots for this cluster

count integer · format: int32 required

Number of snapshots stored for this cluster

latest_successful boolean

Latest snapshot status

latest_status string

Status of the latest snapshot attempt, if any exist.

scheduled_time string · format: date-time

Scheduled time of next snapshot attempt

latest_end_time string · format: date-time

The end time of the most recently attempted snapshot

latest_successful_end_time string · format: date-time

The end time of the most recently successful snapshot

recent_success boolean required

Indicates whether the cluster has a relatively recent successful snapshot.

External resources related to the cluster

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

settings object

The settings for an Elasticsearch cluster.

snapshot object

The snapshot configuration settings for an Elasticsearch cluster.

interval string

Interval between snapshots, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute). Default is 30 minutes

retention object

Information about the Elasticsearch cluster snapshot retention.

snapshots integer · format: int32

Number of snapshots to retain

max_age string

Total retention period for all snapshots, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute)

slm boolean

When set to true, the deployment will have SLM enabled. Default value is true.

cron_expression string

Cron expression indicating when should snapshots be taken. This can be enabled only if SLM is enabled for the deployment and 'interval' is not present

monitoring object

The settings for sending monitoring information to another cluster.

target_cluster_id string required

The Id of the target cluster to which to send monitoring information

metadata object

The top-level configuration settings for the Elasticsearch cluster.

name string

The display name of the cluster

curation object

The index curation settings for an Elasticsearch cluster.

specs object[] required

Specifications for curation

index_pattern string required

Index matching pattern

trigger_interval_seconds integer · format: int32 required

Number of seconds after index creation to trigger this spec

dedicated_masters_threshold integer · format: int32

Threshold starting from which the number of instances in the cluster results in the introduction of dedicated masters. If the cluster is downscaled to a number of nodes below this one, dedicated masters will be removed. Limit is inclusive. When provided the threshold setting is updated. A null value removes the field. Otherwise, the setting remains as it was set previously.

traffic_filter object

The configuration settings for the traffic filter.

rulesets string[] required

IDs of the traffic filter rulesets

trust object

Configuration of trust with other clusters.

accounts object[]

The list of trust relationships with different accounts

account_id string required

the ID of the Account

name string

A human readable name of the trust relationship

trust_all boolean required

If true, all clusters in this account will by default be trusted and the trust_allowlist is ignored.

trust_allowlist string[]

The list of clusters to trust. Only used when trust_all is false.

external object[]

The list of trust relationships with external entities

trust_relationship_id string required

The ID of the external trust relationship

name string

The name of the external trust relationship. Retrieved from the TrustRelationship and ignored on write.

trust_all boolean required

If true, all clusters in this external entity will be trusted and the trust_allowlist is ignored.

trust_allowlist string[]

The list of clusters to trust. Only used when trust_all is false.

direct object[]

The list of trust relationships where the certificate is bundled with the trust setting. Allows configuring trust for clusters running outside of an Elastic Cloud managed environment or in an Elastic Cloud environment without an environment level trust established.

uid string

Auto generated identifier for this trust, allows distinguishing between update vs remove and add.

name string required

a human readable name of the trust relationship

type enum

The type can either be ESS, ECE, generic or proxy. If none is specified, then generic is assumed. If proxy is specified, trust_all should be false and trust_allowlist, scope_id and additional_node_names should be omitted.

Values: ECE ESS generic proxy
trust_all boolean required

If true, scope_id is required and the trust_allowlist is ignored and all clusters matching the scope id will be trusted.

trust_allowlist string[]

The list of clusters with matching scope to trust. Only used when trust_all is false. Providing one or more clusters makes scope_id mandatory.

scope_id string

A lowercase alphanumerical string of max 32 characters. Usually an organization id or an environment id, but could really be any suitable suffix for clusters using the CA certificate of this trust. Required unless trust_all is false and trust_allowlist is empty.

additional_node_names string[]

A list of node names trusted in addition to those deducible from trust_allowlist and scope id. Allows trusting nodes that don't have a scoped name at the cost of maintaining the list. Mandatory if scope id is not defined. Wildcards are not allowed.

certificates object[] required

The public ca certificate(s) to trust. Only one is required, but it is possible to specify multiple certificates in order to facilitate key rotation.

pem string required

The public ca certificate as string in PEM format.

metadata object

The certificate MetaData

fingerprint string required

The fingerprint of the certificate

valid_to string · format: date-time required

The expiry date of the certificate in UTC

valid_from string · format: date-time required

The valid from date of the certificate in UTC

also_trusted_by string[]

Other deployments also trusting this certificate

keystore_contents object

The contents of the Elasticsearch keystore.

secrets map string to object required

List of secrets

<string> object
value object

Value of this setting. This can either be a string or a JSON object that is stored as a JSON string in the keystore. NOTE: When the keystore secret is unspecified, it is removed.

as_file boolean

Stores the keystore secret as a file. The default is false, which stores the keystore secret as string when value is a plain string, or true when value is an object.

is_allowlisted boolean

Read-only field, ignored on write. Only returned when calling the set-deployment-es-resource-keystore endpoint with validate_only=true. True if this setting/value pair is allowlisted (the allowlist is for informational purposes).

is_reloadable boolean

Read-only field, ignored on write. Only returned when calling the set-deployment-es-resource-keystore endpoint with validate_only=true. True if this setting is reloadable, or if false it requires a cluster restart.

region string

The region that this cluster belongs to. Only populated in SaaS or federated ECE.

kibana object[] required

List of Kibana resources in your Deployment

ref_id string required

The locally-unique user-specified id of a Resource

elasticsearch_cluster_ref_id string required

The Elasticsearch cluster that this resource depends on.

id string required

The randomly-generated id of a Resource

region string required

The region where this resource exists

info object required

The top-level object information for a Kibana instance.

cluster_id string required

The id of the cluster

cluster_name string required

The name of the cluster

elasticsearch_cluster object required

Information about the specified Elasticsearch cluster.

elasticsearch_id string required

The Elasticsearch cluster Id

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

deployment_id string

The id of the deployment to which this Kibana Server belongs to.

healthy boolean required

Whether the cluster is healthy or not (one or more of the info subsections will have healthy: false)

status enum required

Cluster status

Values: initializing stopping stopped rebooting restarting reconfiguring started
plan_info object required

Information about the current, pending, or past Kibana instance plans.

healthy boolean required

Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)

current object

Information about the current, pending, or past Kibana instance plan.

plan_attempt_id string

A UUID for each plan attempt

plan_attempt_name string

A human readable name for each plan attempt, only populated when retrieving plan histories

healthy boolean required

Either the plan ended successfully, or is not yet completed (and no errors have occurred)

attempt_start_time string · format: date-time

When this plan attempt (ie to apply the plan to the cluster) started (ISO format in UTC)

attempt_end_time string · format: date-time

If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

plan_end_time string · format: date-time

If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

plan object

The plan for the Kibana instance.

cluster_topology object[]
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.

instance_configuration_version integer · format: int32

The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

size object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
zone_count integer · format: int32

number of zones in which nodes will be placed

kibana object

The Kibana instance settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

version string

The version of the Kibana cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

docker_image string

A docker URI that allows overriding of the default docker image specified for this version

system_settings object

A subset of Kibana settings. TIP: To define the complete set of Elasticsearch settings, use KibanaSystemSettings with user_settings_override_ and user_settings_.

elasticsearch_username string

Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

elasticsearch_password string

Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

user_settings_json object

An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

user_settings_yaml string

An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

user_settings_override_json object

An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

user_settings_override_yaml string

An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

kibana object required

The Kibana instance settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

version string

The version of the Kibana cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

docker_image string

A docker URI that allows overriding of the default docker image specified for this version

system_settings object

A subset of Kibana settings. TIP: To define the complete set of Elasticsearch settings, use KibanaSystemSettings with user_settings_override_ and user_settings_.

elasticsearch_username string

Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

elasticsearch_password string

Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

user_settings_json object

An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

user_settings_yaml string

An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

user_settings_override_json object

An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

user_settings_override_yaml string

An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

transient object

Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Kibana instance settings.

strategy object

The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

rolling object

Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

group_by string

Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

allow_inline_resize boolean

Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

skip_synced_flush boolean

Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

shard_init_wait_time integer · format: int64

The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

grow_and_shrink object

A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

rolling_grow_and_shrink object

A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

autodetect object

A strategy that lets constructor choose the most optimal way to execute the plan.

plan_configuration object

The configuration settings for the timeout and fallback parameters.

timeout integer · format: int64

The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

calm_wait_time integer · format: int64

This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

extended_maintenance boolean

If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

cluster_reboot enum

Set to 'forced' to force a reboot as part of the upgrade plan

Values: forced
plan_attempt_log object[] required
Same fields as plan_attempt_log in current
source object

A container for information about the source of a change.

facilitator string required

The service where the change originated from

action string required

The type of plan change that was initiated

date string · format: date-time required

The time the change was initiated

user_id string

The user that requested the change

admin_id string

The admin user that requested the change

remote_addresses string[]

The host addresses of the user that originated the change

warnings object[] required
code string required

A unique warning code

message string required

A description of the warning

step_id string

The ID of the step which produced a warning, if any

error object

Information about an error during a plan attempt.

timestamp string · format: date-time required

Timestamp marking on info log of step

message string required

Human readable error message

details map string to string required

A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

failure_type string

The failure type

pending object

Information about the current, pending, or past Kibana instance plan.

Same fields as current in plan_info
history object[] required
Same fields as current in plan_info
metadata object required

Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

Same fields as metadata in info
topology object required

The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The ClusterTopologyInfo also includes the instances and containers, and where they are located.

Same fields as topology in info

External resources related to the cluster

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

settings object

The settings for multiple Kibana instances.

metadata object

The top-level configuration settings for the Elasticsearch cluster.

name string

The display name of the cluster

region string

The region that this cluster belongs to. Only populated in SaaS or federated ECE.

apm object[] required

List of Apm resources in your Deployment

ref_id string required

The locally-unique user-specified id of a Resource

elasticsearch_cluster_ref_id string required

The Elasticsearch cluster that this resource depends on.

id string required

The randomly-generated id of a Resource

region string required

The region where this resource exists

info object required

The overview information for the APM Server.

id string required

The id of the APM

name string required

The name of the APM

elasticsearch_cluster object required

Information about the specified Elasticsearch cluster.

elasticsearch_id string required

The Elasticsearch cluster Id

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

deployment_id string

The id of the deployment that this APM Server belongs to.

healthy boolean required

Whether the APM is healthy or not (one or more of the info subsections will have healthy: false)

status enum required

APM status

Values: initializing stopping stopped rebooting restarting reconfiguring started
plan_info object required

Information about current, pending, and past APM Server plans.

healthy boolean required

Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)

current object

Information about the APM Server plan.

plan_attempt_id string

A UUID for each plan attempt

plan_attempt_name string

A human readable name for each plan attempt, only populated when retrieving plan histories

healthy boolean required

Either the plan ended successfully, or is not yet completed (and no errors have occurred)

attempt_start_time string · format: date-time

When this plan attempt (ie to apply the plan to the APM) started (ISO format in UTC)

attempt_end_time string · format: date-time

If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

plan_end_time string · format: date-time

If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

plan object

The plan for the APM Server.

cluster_topology object[]
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.

instance_configuration_version integer · format: int32

The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

size object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
zone_count integer · format: int32

number of zones in which nodes will be placed

apm object

The configuration options for the APM Server.

version string

The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

docker_image string

A docker URI that allows overriding of the default docker image specified for this version

system_settings object

A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

elasticsearch_username string

Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

elasticsearch_password string

Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

secret_token string

Optionally override the secret token within APM - defaults to the previously existing secretToken

debug_enabled boolean

Optionally enable debug mode for APM servers - defaults false

user_settings_json object

An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm settings)

user_settings_yaml string

An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm settings)

user_settings_override_json object

An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

user_settings_override_yaml string

An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

apm object required

The configuration options for the APM Server.

Same fields as apm in cluster_topology
transient object

Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and APM Server settings.

strategy object

The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

rolling object

Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

group_by string

Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

allow_inline_resize boolean

Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

skip_synced_flush boolean

Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

shard_init_wait_time integer · format: int64

The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

grow_and_shrink object

A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

rolling_grow_and_shrink object

A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

autodetect object

A strategy that lets constructor choose the most optimal way to execute the plan.

plan_configuration object

The plan control configuration options for the APM Server.

timeout integer · format: int64

The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

calm_wait_time integer · format: int64

This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

extended_maintenance boolean

If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

cluster_reboot enum

Set to 'forced' to force a reboot as part of the upgrade plan

Values: forced
plan_attempt_log object[] required
Same fields as plan_attempt_log in current
source object

A container for information about the source of a change.

facilitator string required

The service where the change originated from

action string required

The type of plan change that was initiated

date string · format: date-time required

The time the change was initiated

user_id string

The user that requested the change

admin_id string

The admin user that requested the change

remote_addresses string[]

The host addresses of the user that originated the change

warnings object[] required
code string required

A unique warning code

message string required

A description of the warning

step_id string

The ID of the step which produced a warning, if any

error object

Information about an error during a plan attempt.

timestamp string · format: date-time required

Timestamp marking on info log of step

message string required

Human readable error message

details map string to string required

A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

failure_type string

The failure type

pending object

Information about the APM Server plan.

Same fields as current in plan_info
history object[] required
Same fields as current in plan_info
metadata object

Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

Same fields as metadata in info
topology object required

The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The ClusterTopologyInfo also includes the instances and containers, and where they are located.

Same fields as topology in info

External resources related to the APM

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

settings object

The settings for the APM Server.

metadata object

The top-level configuration settings for the Elasticsearch cluster.

name string

The display name of the cluster

region string

The region that this APM belongs to. Only populated in SaaS or federated ECE.

apm_server_mode enum

The mode APM is operating in.

Values: standalone managed
appsearch object[] required

List of App Search resources in your Deployment

ref_id string required

The locally-unique user-specified id of a Resource

elasticsearch_cluster_ref_id string required

The Elasticsearch cluster that this resource depends on.

id string required

The randomly-generated id of a Resource

region string required

The region where this resource exists

info object required

The overview information for the App Search Server.

id string required

The id of the App Search

name string required

The name of the App Search

elasticsearch_cluster object required

Information about the specified Elasticsearch cluster.

elasticsearch_id string required

The Elasticsearch cluster Id

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

deployment_id string

The id of the deployment that this App Search belongs to.

healthy boolean required

Whether the App Search is healthy or not (one or more of the info subsections will have healthy: false)

status enum required

App Search status

Values: initializing stopping stopped rebooting restarting reconfiguring started
plan_info object required

Information about current, pending, and past App Search Server plans.

healthy boolean required

Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)

current object

Information about the App Search Server plan.

plan_attempt_id string

A UUID for each plan attempt

plan_attempt_name string

A human readable name for each plan attempt, only populated when retrieving plan histories

healthy boolean required

Either the plan ended successfully, or is not yet completed (and no errors have occurred)

attempt_start_time string · format: date-time

When this plan attempt (ie to apply the plan to the App Search) started (ISO format in UTC)

attempt_end_time string · format: date-time

If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

plan_end_time string · format: date-time

If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

plan object

The plan for the App Search cluster.

cluster_topology object[]
node_type object

Node types to enable for an AppSearch instance

appserver boolean required

Defines whether this instance should run as Application/API server

worker boolean required

Defines whether this instance should run as background worker

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.

instance_configuration_version integer · format: int32

The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

size object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
zone_count integer · format: int32

number of zones in which nodes will be placed

appsearch object
version string

The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

docker_image string

A docker URI that allows overriding of the default docker image specified for this version

system_settings object

This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

elasticsearch_url string

Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

elasticsearch_username string

Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

elasticsearch_password string

Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

secret_session_key string

Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

user_settings_json object

An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch settings)

user_settings_yaml string

An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch settings)

user_settings_override_json object

An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

user_settings_override_yaml string

An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

appsearch object required
Same fields as appsearch in cluster_topology
transient object

Defines configuration parameters that control how the plan (ie consisting of the cluster topology and AppSearch settings) is applied

strategy object

The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

rolling object

Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

group_by string

Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

allow_inline_resize boolean

Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

skip_synced_flush boolean

Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

shard_init_wait_time integer · format: int64

The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

grow_and_shrink object

A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

rolling_grow_and_shrink object

A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

autodetect object

A strategy that lets constructor choose the most optimal way to execute the plan.

plan_configuration object
timeout integer · format: int64

The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

calm_wait_time integer · format: int64

This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

move_instances object[]
from string required

The instance id that is going to be moved

to string[]

An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

instance_down boolean

Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

move_allocators object[]
from string required

The allocator id off which all instances in the cluster should be moved

to string[]

An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

allocator_down boolean

Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

reallocate_instances boolean

If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

preferred_allocators string[]

List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

extended_maintenance boolean

If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

cluster_reboot enum

Set to 'forced' to force a reboot as part of the upgrade plan

Values: forced
plan_attempt_log object[] required
Same fields as plan_attempt_log in current
source object

A container for information about the source of a change.

facilitator string required

The service where the change originated from

action string required

The type of plan change that was initiated

date string · format: date-time required

The time the change was initiated

user_id string

The user that requested the change

admin_id string

The admin user that requested the change

remote_addresses string[]

The host addresses of the user that originated the change

warnings object[] required
code string required

A unique warning code

message string required

A description of the warning

step_id string

The ID of the step which produced a warning, if any

error object

Information about an error during a plan attempt.

timestamp string · format: date-time required

Timestamp marking on info log of step

message string required

Human readable error message

details map string to string required

A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

failure_type string

The failure type

pending object

Information about the App Search Server plan.

Same fields as current in plan_info
history object[] required
Same fields as current in plan_info
metadata object

Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

Same fields as metadata in info
topology object required

The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The ClusterTopologyInfo also includes the instances and containers, and where they are located.

Same fields as topology in info

External resources related to the App Search

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

settings object

The settings for the App Search.

metadata object

The top-level configuration settings for the Elasticsearch cluster.

name string

The display name of the cluster

region string

The region that this App Search belongs to. Only populated in SaaS or federated ECE.

List of Enterprise Search resources in your Deployment

ref_id string required

The locally-unique user-specified id of a Resource

elasticsearch_cluster_ref_id string required

The Elasticsearch cluster that this resource depends on.

id string required

The randomly-generated id of a Resource

region string required

The region where this resource exists

info object required

The overview information for the Enterprise Search Server.

id string required

The id of the Enterprise Search

name string required

The name of the Enterprise Search

elasticsearch_cluster object required

Information about the specified Elasticsearch cluster.

elasticsearch_id string required

The Elasticsearch cluster Id

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

deployment_id string

The id of the deployment that this Enterprise Search belongs to.

healthy boolean required

Whether the Enterprise Search is healthy or not (one or more of the info subsections will have healthy: false)

status enum required

Enterprise Search status

Values: initializing stopping stopped rebooting restarting reconfiguring started
plan_info object required

Information about current, pending, and past Enterprise Search Server plans.

healthy boolean required

Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)

current object

Information about the Enterprise Search Server plan.

plan_attempt_id string

A UUID for each plan attempt

plan_attempt_name string

A human readable name for each plan attempt, only populated when retrieving plan histories

healthy boolean required

Either the plan ended successfully, or is not yet completed (and no errors have occurred)

attempt_start_time string · format: date-time

When this plan attempt (ie to apply the plan to the Enterprise Search) started (ISO format in UTC)

attempt_end_time string · format: date-time

If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

plan_end_time string · format: date-time

If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

plan object

The plan for the Enterprise Search cluster.

cluster_topology object[]
node_type object

Node types to enable for an Enterprise Search instance

appserver boolean required

Defines whether this instance should run as Application/API server

worker boolean required

Defines whether this instance should run as background worker

connector boolean required

Defines whether this instance should run as Connector

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.

instance_configuration_version integer · format: int32

The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

size object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
zone_count integer · format: int32

number of zones in which nodes will be placed

version string

The version of the Enterprise Search cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

docker_image string

A docker URI that allows overriding of the default docker image specified for this version

system_settings object

This structure defines a curated subset of the Enterprise Search settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of Enterprise Search settings)

elasticsearch_username string

Optionally override the account within Enterprise Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

elasticsearch_password string

Optionally override the account within Enterprise Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

secret_session_key string

Optionally override the secret session key within Enterprise Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

user_settings_json object

An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Enterprise Search settings)

user_settings_yaml string

An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Enterprise Search settings)

user_settings_override_json object

An arbitrary JSON object allowing ECE admins to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), i.e. in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Enterprise Search settings)

user_settings_override_yaml string

An arbitrary YAML object allowing ECE admins to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), i.e. in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Enterprise Search settings)

allocator_filter object
node_configuration string
memory_per_node object
node_count_per_zone object
Same fields as enterprise_search in cluster_topology
transient object

Defines configuration parameters that control how the plan (i.e. consisting of the cluster topology and Enterprise Search settings) is applied

strategy object

The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

rolling object

Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

group_by string

Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

allow_inline_resize boolean

Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

skip_synced_flush boolean

Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

shard_init_wait_time integer · format: int64

The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

grow_and_shrink object

A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

rolling_grow_and_shrink object

A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

autodetect object

A strategy that lets constructor choose the most optimal way to execute the plan.

plan_configuration object
timeout integer · format: int64

The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

calm_wait_time integer · format: int64

This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

move_instances object[]
from string required

The instance id that is going to be moved

to string[]

An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

instance_down boolean

Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

move_allocators object[]
from string required

The allocator id off which all instances in the cluster should be moved

to string[]

An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

allocator_down boolean

Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

reallocate_instances boolean

If true (default: false) does not allow re-using any existing instances currently in the cluster, i.e. even unchanged instances will be re-created

preferred_allocators string[]

List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

extended_maintenance boolean

If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

cluster_reboot enum

Set to 'forced' to force a reboot as part of the upgrade plan

Values: forced
plan_attempt_log object[] required
Same fields as plan_attempt_log in current
source object

A container for information about the source of a change.

facilitator string required

The service where the change originated from

action string required

The type of plan change that was initiated

date string · format: date-time required

The time the change was initiated

user_id string

The user that requested the change

admin_id string

The admin user that requested the change

remote_addresses string[]

The host addresses of the user that originated the change

warnings object[] required
code string required

A unique warning code

message string required

A description of the warning

step_id string

The ID of the step which produced a warning, if any

error object

Information about an error during a plan attempt.

timestamp string · format: date-time required

Timestamp marking on info log of step

message string required

Human readable error message

details map string to string required

A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

failure_type string

The failure type

pending object

Information about the Enterprise Search Server plan.

Same fields as current in plan_info
history object[] required
Same fields as current in plan_info
metadata object

Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

Same fields as metadata in info
topology object required

The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The ClusterTopologyInfo also includes the instances and containers, and where they are located.

Same fields as topology in info

External resources related to the Enterprise Search

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

settings object

The settings for the Enterprise Search.

metadata object

The top-level configuration settings for the Elasticsearch cluster.

name string

The display name of the cluster

region string

The region that this Enterprise Search belongs to. Only populated in SaaS or federated ECE.

integrations_server object[] required

List of Integrations Server resources in your Deployment

ref_id string required

The locally-unique user-specified id of a Resource

elasticsearch_cluster_ref_id string required

The Elasticsearch cluster that this resource depends on.

id string required

The randomly-generated id of a Resource

region string required

The region where this resource exists

info object required

The overview information for the Integrations Server.

id string required

The id of the Integrations Server

name string required

The name of the Integrations Server

elasticsearch_cluster object required

Information about the specified Elasticsearch cluster.

elasticsearch_id string required

The Elasticsearch cluster Id

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

deployment_id string

The id of the deployment that this Integrations Server belongs to.

healthy boolean required

Whether the Integrations Server is healthy or not (one or more of the info subsections will have healthy: false)

status enum required

Integrations Server status

Values: initializing stopping stopped rebooting restarting reconfiguring started
plan_info object required

Information about current, pending, and past Integrations Server plans.

healthy boolean required

Whether the plan situation is healthy (if unhealthy, means the last plan attempt failed)

current object

Information about the Integrations Server plan.

plan_attempt_id string

A UUID for each plan attempt

plan_attempt_name string

A human readable name for each plan attempt, only populated when retrieving plan histories

healthy boolean required

Either the plan ended successfully, or is not yet completed (and no errors have occurred)

attempt_start_time string · format: date-time

When this plan attempt (ie to apply the plan to the Integrations Server) started (ISO format in UTC)

attempt_end_time string · format: date-time

If this plan completed or failed (ie is not pending), when the attempt ended (ISO format in UTC)

plan_end_time string · format: date-time

If this plan is not current or pending, when the plan was no longer active (ISO format in UTC)

plan object

The plan for the Integrations Server.

cluster_topology object[]
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.

instance_configuration_version integer · format: int32

The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

size object

Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

value integer · format: int32 required

Amount of resource

resource enum required

Type of resource. In ESS the resource used should always be memory.

Values: memory storage
zone_count integer · format: int32

number of zones in which nodes will be placed

integrations_server object

The configuration options for the Integrations Server.

version string

The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

docker_image string

A docker URI that allows overriding of the default docker image specified for this version

system_settings object

A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

elasticsearch_username string

Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

elasticsearch_password string

Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

secret_token string

Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

debug_enabled boolean

Optionally enable debug mode for Integrations Server - defaults false

user_settings_json object

An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server settings)

user_settings_yaml string

An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server settings)

user_settings_override_json object

An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

user_settings_override_yaml string

An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

mode enum

The mode the Integrations Server is operating in.

Values: standalone managed
integrations_server object required

The configuration options for the Integrations Server.

Same fields as integrations_server in cluster_topology
transient object

Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Integrations Server settings.

strategy object

The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

rolling object

Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

group_by string

Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

allow_inline_resize boolean

Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

skip_synced_flush boolean

Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

shard_init_wait_time integer · format: int64

The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

grow_and_shrink object

A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

rolling_grow_and_shrink object

A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

autodetect object

A strategy that lets constructor choose the most optimal way to execute the plan.

plan_configuration object

The plan control configuration options for the Integrations Server.

timeout integer · format: int64

The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

calm_wait_time integer · format: int64

This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

extended_maintenance boolean

If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

cluster_reboot enum

Set to 'forced' to force a reboot as part of the upgrade plan

Values: forced
plan_attempt_log object[] required
Same fields as plan_attempt_log in current
source object

A container for information about the source of a change.

facilitator string required

The service where the change originated from

action string required

The type of plan change that was initiated

date string · format: date-time required

The time the change was initiated

user_id string

The user that requested the change

admin_id string

The admin user that requested the change

remote_addresses string[]

The host addresses of the user that originated the change

warnings object[] required
code string required

A unique warning code

message string required

A description of the warning

step_id string

The ID of the step which produced a warning, if any

error object

Information about an error during a plan attempt.

timestamp string · format: date-time required

Timestamp marking on info log of step

message string required

Human readable error message

details map string to string required

A map with details regarding the error. Both the keys and values are always strings, representing the name of the detail and its value, respectively.

failure_type string

The failure type

pending object

Information about the Integrations Server plan.

Same fields as current in plan_info
history object[] required
Same fields as current in plan_info
metadata object

Information about the public and internal state, and the configuration settings of an Elasticsearch cluster.

Same fields as metadata in info
topology object required

The topology for Elasticsearch clusters, multiple Kibana instances, or multiple APM Servers. The ClusterTopologyInfo also includes the instances and containers, and where they are located.

Same fields as topology in info

External resources related to the Integrations Server

A map of application-specific operations (which map to 'operationId's in the Swagger API) to metadata about that operation

settings object

The settings for the Integrations Server.

metadata object

The top-level configuration settings for the Elasticsearch cluster.

name string

The display name of the cluster

region string

The region that this Integrations Server belongs to. Only populated in SaaS or federated ECE.

apm_server_mode enum

The mode APM is operating in.

Values: standalone managed
settings object

Additional configuration about the current deployment object.

traffic_filter_settings object

The configuration settings for the traffic filter.

rulesets string[] required

IDs of the traffic filter rulesets

observability object

The observability settings for a deployment

logging object

The logging settings for a deployment

destination object required

The destination to send logs and metrics to

deployment_id string required

The deployment to send logs and/or metrics to. Contains either the deployment's ID or 'self'.

ref_id string

RefId of the Elasticsearch cluster to send logs and/or metrics to. If not specified, refId is resolved automatically as long as the destination deployment contains a single Elasticsearch resource.

metrics object

The metrics settings for a deployment

destination object required

The destination to send logs and metrics to

deployment_id string required

The deployment to send logs and/or metrics to. Contains either the deployment's ID or 'self'.

ref_id string

RefId of the Elasticsearch cluster to send logs and/or metrics to. If not specified, refId is resolved automatically as long as the destination deployment contains a single Elasticsearch resource.

autoscaling_enabled boolean

If autoscaling is enabled for this deployment.

auto_ops object required

AutoOps settings for this deployment.

status enum required

See AutoOps integration status for this deployment.

Values: connected not_connected excluded
byok object

Information required to create a Bring Your Own Key (BYOK) deployment.

key_resource_path string required

Key path (i.e arn:aws:kms:us-east-1:1234567890:key/12345678-0000-0000-0000-000000000000).

solution_type string

An optional string that declares the deployment's expected application. Example supported values are: elasticsearch, observability, security.

metadata object

Additional information about the current deployment object.

tags object[]

Arbitrary user-defined metadata associated with this deployment

key string required

The metadata field name

value string required

The metadata value

byok_enabled boolean

Indicates if the Deployment is BYOK enabled or not

byok_migration boolean

True if a BYOK migration was requested for this deployment via the migrate_to_byok API. Set at request time, before any plan runs — not a completion signal.

minimal_metadata object[]
cursor string

To retrieve the next batch of deployments from this search, specify this value in the cursor field of the next search request. For paginated searches, it is recommended to sort on a static and unique field, like deployment or cluster id. A static and unique sort avoids concurrent updates causing a deployment to move across pages and becoming a duplicate or lost entry. The default sort of rank and modified date is often good for getting a particular deployment into the first page, but if a not yet seen deployment is modified in between page requests, then it would be left out from the next page.

Response headers

x-cloud-resource-version string

The resource version, which is used to avoid update conflicts with concurrent operations

x-cloud-resource-created string

The date-time when the resource was created (ISO format relative to UTC)

x-cloud-resource-last-modified string

The date-time when the resource was last modified (ISO format relative to UTC)

Base URL
https://api.elastic-cloud.com/api/v1