Build request to migrate deployment to a different template

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

Returns a deployment update request that would migrate this deployment to a different template.

Path parameters

deployment_id string required

Identifier for the Deployment

Query parameters

template_id string required

The ID of the deployment template to migrate to

skip_instance_metrics_check boolean · default: false

If true, will skip the instance metrics check for memory and disk usage calculations

Responses

The request was valid and the deployment can be migrated to the template with the provided ID.

application/json
name string

A new name for the deployment, otherwise stays the same.

prune_orphans boolean required

Whether or not to prune orphan resources that are no longer mentioned in this request. Note that resourcesare tracked by ref_id, and if a resource's ref_id is changed, any previous running resources created with that previousref_id are considered to be orphaned as well.

resources object

Describes the Deployment resource updates

elasticsearch object[]

A list of payloads for Elasticsearch cluster updates

ref_id string required

A locally-unique user-specified id for this Elasticsearch cluster

display_name string

The human readable name for the cluster (defaults to the generated cluster id if not specified)

region string required

The region where this resource exists

plan object required

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.

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.

kibana object[]

A list of payloads for Kibana updates

ref_id string required

A locally-unique user-specified id for Kibana

elasticsearch_cluster_ref_id string required

Alias to the Elasticsearch Cluster to attach Kibana to

display_name string

The human readable name for the Kibana cluster (default: takes the name of its Elasticsearch cluster)

region string required

The region where this resource exists

plan object required

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

apm object[]

A list of payloads for APM updates

ref_id string required

A locally-unique user-specified id for APM

elasticsearch_cluster_ref_id string required

Alias to the Elasticsearch Cluster to attach APM to

display_name string

The human readable name for the APM cluster (default: takes the name of its Elasticsearch cluster)

region string required

The region where this resource exists

plan object required

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

appsearch object[]

A list of payloads for AppSearch updates. AppSearch has been replaced by Enterprise Search in the Elastic Stack 7.7 and higher

ref_id string required

A locally-unique user-specified id for AppSearch

elasticsearch_cluster_ref_id string required

Alias to the Elasticsearch Cluster to attach AppSearch to

display_name string

The human readable name for the AppSearch cluster (default: takes the name of its Elasticsearch cluster)

region string required

The region where this resource exists

plan object required

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

A list of payloads for Enterprise Search updates

ref_id string required

A locally-unique user-specified id for Enterprise Search

elasticsearch_cluster_ref_id string required

Alias to the Elasticsearch Cluster to attach Enterprise Search to

display_name string

The human readable name for the Enterprise Search cluster (default: takes the name of its Elasticsearch cluster)

region string required

The region where this resource exists

plan object required

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

integrations_server object[]

A list of payloads for Integrations Server updates

ref_id string required

A locally-unique user-specified id for the Integrations Server

elasticsearch_cluster_ref_id string required

Alias to the Elasticsearch Cluster to attach the Integrations Server to

display_name string

The human readable name for the Integrations Server cluster (default: takes the name of its Elasticsearch cluster)

region string required

The region where this resource exists

plan object required

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

settings object

Additional configuration for the new deployment object.

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

Enable autoscaling for this deployment.

auto_ops object

AutoOps settings for this deployment.

status enum required

See AutoOps integration status for this deployment.

Values: connected not_connected excluded
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

alias string

A user-defined alias to use in place of Cluster IDs for user-friendly URLs

The deployment cannot be successfully migrated to the template with the provided ID.

application/json
errors object[] required

A list of errors that occurred in the failing request

code string required

A structured code representing the error type that occurred

message string required

A human readable message describing the error that occurred

fields string[]

If the error can be tied to a specific field or fields in the user request, this lists those fields

You are not authorized to perform this action.

application/json
errors object[] required

A list of errors that occurred in the failing request

code string required

A structured code representing the error type that occurred

message string required

A human readable message describing the error that occurred

fields string[]

If the error can be tied to a specific field or fields in the user request, this lists those fields

The Deployment specified by {deployment_id} cannot be found. (code: deployments.deployment_not_found)

application/json
errors object[] required

A list of errors that occurred in the failing request

code string required

A structured code representing the error type that occurred

message string required

A human readable message describing the error that occurred

fields string[]

If the error can be tied to a specific field or fields in the user request, this lists those fields

Response headers

x-cloud-error-codes enum

The error codes associated with the response

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