Removals for ECE 3.0
editRemovals for ECE 3.0
editWith the release of Elastic Cloud Enterprise version 3.0 a number of features, API endpoints, and Elastic Stack versions will no longer be supported. Check the following information for details about what will be removed, and migration options if appropriate.
Check the following sections for more detail:
Features removed in ECE 3.0
editThe following set of features are removed in Elastic Cloud Enterprise 3.0.
-
Custom deployment templates must support
node_roles
and include all components -
When creating custom deployment templates, aside from the
Hot data and Content
tier, platform admins were previously able to decide whether or not to include other components, such as Enterprise Search, Kibana, and others. This is in addition to the option to disable a component by setting its size to 0GB.In ECE version 2.9.0, we introduced a new
node_roles
field to configure which node roles are assigned to each Elasticsearch node, and which added support for features such as autoscaling and the frozen data tier. As part of this change, all components are now required to be included in custom templates when usingnode_roles
. When a component is included it is still be possible to disable it by setting its size to 0GB, excluding the hot data and content tier which is required and must be enabled.Starting with ECE version 3.0, all custom deployment templates are required to support
node_roles
and must include all components. Existing deployments will be required to migrate to usenode_roles
before upgrading to Elastic Stack version 8.0 or above.If there are deployment templates in your environment that were not updated to support
node_roles
or that do not include all components, you must first update them before you are able to upgrade your environment to ECE version 3.0 or above.You can use this step-by-step guide that describes the migration process.
- Removing support for the dedicated App Search component
-
In ECE version 2.4.0 we introduced support for an Elastic App Search component with a dedicated App Search deployment template. In ECE version 2.6.0, we expanded that support to Elastic Enterprise Search that gives you access both to App Search and Workplace Search.
Starting from ECE version 3.0 we will no longer support the App Search deployment template or App Search component in custom deployment templates.
If there are active deployments in your ECE environment that are still using the legacy App Search deployment template or the App Search component in a custom deployment template, you must first migrate them to use Enterprise Search before you are able to upgrade your environment to ECE version 3.0 or above.
You can use the following step-by-step guide that will walk you through the migration process.
- Removing support for the dedicated Cross-Cluster-Search (CCS) deployment template
-
Previously, we supported CCS using a dedicated CCS deployment template. In ECE version 2.9.0, we expanded that support to all deployment templates, making CCS (and CCR) available in all deployments using compatible Elastic Stack versions.
Starting with ECE version 3.0, we no longer support the dedicated CCS deployment template.
If there are active deployments in your environment created using the CCS template, you must first migrate them to a different template before you are able to upgrade your environment to ECE version 3.0 or above.
You can use this step-by-step guide that describes the migration process.
- Removing support for Elastic Stack versions 2.x and 5.x
-
In ECE 2.x versions, you could upload older 2.x and 5.x Elastic Stack packs and create new deployments using those versions. As described on our End-of-Life page, maintenance for those versions ended more than two years ago.
Starting with ECE version 3.0, we no longer support version 2.x or 5.x deployments.
If there are active deployments in your ECE environment using those versions, you must first upgrade them to Elastic Stack 6.0 or above before you are able to upgrade your environment to ECE version 3.0 or above. We highly recommend upgrading to a supported version as described on our End-of-Life page.
Refer to our Upgrade documentation to upgrade your deployments to a newer Elastic Stack version.
- Removing support for index curation
-
Index curation enabled you to easily and automatically move indices from hot to cold data nodes after a certain time period. In ECE version 2.2, we released support for index lifecycle management (ILM) that offers a much more robust mechanism to move your data across the different phases as it matures and is less frequently searched.
Starting with ECE version 3.0, we no longer support index curation.
If you have active deployments using index curation, you must first migrate them to use ILM before you are able to upgrade your environment to ECE version 3.0 or above.
You can use this step-by-step guide that describes the migration process.
- Remove logging and metrics index curator
-
Logging and metrics curator was a process that ran on coordinating nodes that enforced index retention on system-managed indices in the logging and metrics cluster.
Starting with ECE version 3.0, we no longer use the curator process for logging and metrics index retention. Instead, we will install default ILM policies for system-managed logging and metrics indices in the logging and metrics cluster. If log and metrics retention was customized in previous versions of ECE, we won’t install the default ILM policies to avoid pruning logs and metrics that were intended to be retained. The upgrade log will warn you about this and output the custom retention policy that was detected.
To configure system log and metrics indices retention, see setting retention period for logging and metrics indices.
After a successful upgrade from ECE version < 3.0 to a version >= 3.0, we suggest that you remove the backup container of the curator manually by running
docker rm -f frc-curators-curator_bak
. - Removing support for Elasticsearch remote clusters “sniff mode”
-
When creating or editing a deployment, the
node_type
field was used to configure which Elasticsearch node roles should be assigned to each node. Starting with Elastic Stack 7.10, Elasticsearch supports a new method to configure and manage Elasticsearch node roles using a singlenode.roles
setting. With this change, we introduced a newnode_roles
field in our ECE API to take advantage of the new Elasticsearch setting.Starting with Elastic Stack version 8.0, the legacy node role configuration is no longer supported in Elasticsearch and, as a result, we are also removing support for the legacy
node_type
field. Requests to create or update deployments using Elastic Stack version 8.0 or above will be rejected. You can, however, continue and use thenode_type
field to create and manage deployments using older stack versions.As a first step, before you migrate a deployment to use
node_roles
, the relevant deployment template associated with that deployment (as configured in thedeployment_template
field in the deployment JSON) must be updated to supportnode_roles
. System-owned templates all support the newnode_roles
field. To learn more about how to update custom deployment templates, refer to Custom deployment templates must supportnode_roles
and include all components.If you are using the ECE user console to manage your deployment, this change should be transparent. The deployment will automatically migrate to use the new
node_roles
field when you upgrade to a stack version that supports the new field. If you are using the ECE API to create and manage deployments, you must edit your payload and replace thenode_type
field with the newnode_roles
field to assign node roles to each Elasticsearch node.You can use this step-by-step guide that describes the migration process.
- Removing the IP filtering API endpoints
- We introduced the Traffic Filters API in ECE version 2.6.0. The IP Filtering API endpoints were deprecated in the same release. We are removing access to the IP Filtering endpoints in ECE version 3.0 to consolidate on the newer set of API endpoints.
- Change in CORS behavior
- We implemented CORS behavior handling in the proxy to match legacy behavior, and since the stack now fully supports CORS handling on its own, we no longer need to do this for current versions. Beginning with ECE version 3.0, we now rely on the stack implementation for all clusters that support it.
API endpoints removed in ECE 3.0
editThe following set endpoints have removed from the Elastic Cloud Enterprise RESTful API in version 3.0. Check Deployments API replaces clusters API for options on how to migrate to a different endpoint before upgrading ECE.
-
POST /cluster/_search
-
Use
POST /deployments/_search
instead. -
GET /clusters/apm
-
Use
GET /deployments
instead. -
POST /clusters/apm
-
Use
PUT /deployments/{deployment_id}
instead. -
POST /clusters/apm/_resync
-
Use
POST /deployments/_resync
instead. -
POST /clusters/apm/_search
-
Use
POST /deployments/_search
instead. -
GET /clusters/apm/{cluster_id}
-
Use
GET /deployments/{deployment_id}
instead. -
DELETE /clusters/apm/{cluster_id}
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}
instead. -
POST /clusters/apm/{cluster_id}/_reset-token
-
Use
POST /deployments/{deployment_id}/apm/{ref_id}/_reset-token
instead. -
POST /clusters/apm/{cluster_id}/_restart
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/_restart
instead. -
POST /clusters/apm/{cluster_id}/_shutdown
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/_shutdown
instead. -
POST /clusters/apm/{cluster_id}/_upgrade
-
Use
POST /deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_upgrade
instead. -
POST /clusters/apm/{cluster_id}/instances/_move
-
POST /clusters/apm/{cluster_id}/instances/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_start
instead. -
POST /clusters/apm/{cluster_id}/instances/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_stop
instead. -
POST /clusters/apm/{cluster_id}/instances/maintenance-mode/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_start
instead. -
POST /clusters/apm/{cluster_id}/instances/maintenance-mode/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_stop
instead. -
POST /clusters/apm/{cluster_id}/instances/{instance_ids}/_move
-
POST /clusters/apm/{cluster_id}/instances/{instance_ids}/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_start
instead. -
POST /clusters/apm/{cluster_id}/instances/{instance_ids}/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_stop
instead. -
POST /clusters/apm/{cluster_id}/instances/{instance_ids}/maintenance-mode/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_start
instead. -
POST /clusters/apm/{cluster_id}/instances/{instance_ids}/maintenance-mode/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_stop
instead. -
PUT /clusters/apm/{cluster_id}/metadata/name/{new_name}
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/apm/{cluster_id}/metadata/raw
-
Use
GET /deployments/{deployment_id}?show_metadata=true
instead. -
POST /clusters/apm/{cluster_id}/metadata/raw
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/metadata/raw
instead. -
GET /clusters/apm/{cluster_id}/metadata/settings
-
Use
GET /deployments/{deployment_id}
instead. -
PATCH /clusters/apm/{cluster_id}/metadata/settings
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/apm/{cluster_id}/plan
-
Use
GET /deployments/{deployment_id}
instead. -
POST /clusters/apm/{cluster_id}/plan
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/apm/{cluster_id}/plan/activity
-
Use
GET /deployments/{deployment_id}
instead. -
GET /clusters/apm/{cluster_id}/plan/pending
-
Use
GET /deployments/{deployment_id}
instead. -
DELETE /clusters/apm/{cluster_id}/plan/pending
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}/plan/pending
instead. -
GET /clusters/elasticsearch
-
Use
GET /deployments
instead. -
POST /clusters/elasticsearch
-
Use
POST /deployments
instead. -
POST /clusters/elasticsearch/_resync
-
Use
POST /deployments/_resync
instead. -
POST /clusters/elasticsearch/_search
-
Use
POST /deployments/_search
instead. -
GET /clusters/elasticsearch/ccs/eligible_remotes
-
Use
POST /deployments/eligible-remote-clusters
instead. -
GET /clusters/elasticsearch/{cluster_id}
-
Use
GET /deployments/{deployment_id}
instead. -
DELETE /clusters/elasticsearch/{cluster_id}
-
Use
DELETE /deployments/{deployment_id}
instead. -
POST /clusters/elasticsearch/{cluster_id}/_restart
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/_restart
instead. -
POST /clusters/elasticsearch/{cluster_id}/_resync
-
Use
POST /deployments/{deployment_id}/_resync
instead. -
POST /clusters/elasticsearch/{cluster_id}/_shutdown
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/_shutdown
instead. -
POST /clusters/elasticsearch/{cluster_id}/_snapshot
- Use Elasticsearch snapshot API and snapshot lifecycle management APIs.
-
GET /clusters/elasticsearch/{cluster_id}/ccs
- Use Elasticsearch remote info API.
-
GET /clusters/elasticsearch/{cluster_id}/ccs/settings
-
Use
GET /deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters
instead. -
PUT /clusters/elasticsearch/{cluster_id}/ccs/settings
-
Use
PUT /deployments/{deployment_id}/elasticsearch/{ref_id}/remote-clusters
instead. -
GET /clusters/elasticsearch/{cluster_id}/curation/settings
- Curation no longer available. Use Elasticsearch index lifecycle management instead.
-
PUT /clusters/elasticsearch/{cluster_id}/curation/settings
- Curation no longer available. Use Elasticsearch index lifecycle management instead.
-
POST /clusters/elasticsearch/{cluster_id}/instances/_move
-
POST /clusters/elasticsearch/{cluster_id}/instances/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_start
instead. -
POST /clusters/elasticsearch/{cluster_id}/instances/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_stop
instead. -
POST /clusters/elasticsearch/{cluster_id}/instances/maintenance-mode/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_start
instead. -
POST /clusters/elasticsearch/{cluster_id}/instances/maintenance-mode/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_stop
instead. -
PUT /clusters/elasticsearch/{cluster_id}/instances/settings
-
Use
PUT /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/overrides
instead. -
POST /clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/_move
-
POST /clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_start
instead. -
POST /clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_stop
instead. -
POST /clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/maintenance-mode/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_start
instead. -
POST /clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/maintenance-mode/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_stop
instead. -
PUT /clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/settings
-
Use
PUT /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/overrides
instead. -
GET /clusters/elasticsearch/{cluster_id}/keystore
-
Use
GET /deployments/{deployment_id}/elasticsearch/{ref_id}/keystore
instead. -
PATCH /clusters/elasticsearch/{cluster_id}/keystore
-
Use
PATCH /deployments/{deployment_id}/elasticsearch/{ref_id}/keystore
instead. -
PUT /clusters/elasticsearch/{cluster_id}/metadata/name/{new_name}
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/elasticsearch/{cluster_id}/metadata/raw
-
Use
GET /deployments/{deployment_id}?show_metadata=true
instead. -
POST /clusters/elasticsearch/{cluster_id}/metadata/raw
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/metadata/raw
instead. -
GET /clusters/elasticsearch/{cluster_id}/metadata/settings
-
Use
GET /deployments/{deployment_id}
instead. -
PATCH /clusters/elasticsearch/{cluster_id}/metadata/settings
-
Use
PUT /deployments/{deployment_id}
instead. -
DELETE /clusters/elasticsearch/{cluster_id}/monitoring
-
Use
PUT /deployments/{deployment_id}
instead. -
POST /clusters/elasticsearch/{cluster_id}/monitoring/{dest_cluster_id}
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/elasticsearch/{cluster_id}/plan
-
Use
GET /deployments/{deployment_id}
instead. -
POST /clusters/elasticsearch/{cluster_id}/plan
-
Use
PUT /deployments/{deployment_id}
instead. -
POST /clusters/elasticsearch/{cluster_id}/plan/_migrate
-
GET /clusters/elasticsearch/{cluster_id}/plan/activity
-
Use
GET /deployments/{deployment_id}?show_plan_history=true&show_plan_logs=true
instead. -
GET /clusters/elasticsearch/{cluster_id}/plan/pending
-
Use
GET /deployments/{deployment_id}
instead. -
DELETE /clusters/elasticsearch/{cluster_id}/plan/pending
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}/plan/pending
instead. -
GET /clusters/elasticsearch/{cluster_id}/proxy/{elasticsearch_path}
-
Use
GET /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
POST /clusters/elasticsearch/{cluster_id}/proxy/{elasticsearch_path}
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
PUT /clusters/elasticsearch/{cluster_id}/proxy/{elasticsearch_path}
-
Use
PUT /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
DELETE /clusters/elasticsearch/{cluster_id}/proxy/{elasticsearch_path}
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
PUT /clusters/elasticsearch/{cluster_id}/settings/security/legacy
- Endpoint was used for 2.x versions of Elasticsearch which are EOL and unsupported in ECE 3.0.
-
GET /clusters/elasticsearch/{cluster_id}/snapshot/settings
-
Use
GET /deployments/{deployment_id}
instead. -
PATCH /clusters/elasticsearch/{cluster_id}/snapshot/settings
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/elasticsearch/{cluster_id}/support/_generate-diagnostics
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/diagnostics/_capture
instead. -
GET /clusters/elasticsearch/{cluster_id}/support/_generate-logs
-
GET /clusters/enterprise_search/{cluster_id}/proxy/{enterprise_search_path}
-
Use
GET /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
POST /clusters/enterprise_search/{cluster_id}/proxy/{enterprise_search_path}
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
PUT /clusters/enterprise_search/{cluster_id}/proxy/{enterprise_search_path}
-
Use
PUT /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
DELETE /clusters/enterprise_search/{cluster_id}/proxy/{enterprise_search_path}
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
GET /clusters/kibana
-
Use
GET /deployments
instead. -
POST /clusters/kibana
-
Use
PUT /deployments/{deployment_id}
instead. -
POST /clusters/kibana/_resync
-
Use
POST /deployments/_resync
instead. -
POST /clusters/kibana/_search
-
Use
POST /deployments/_search
instead. -
GET /clusters/kibana/{cluster_id}
-
Use
GET /deployments/{deployment_id}
instead. -
DELETE /clusters/kibana/{cluster_id}
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}
instead. -
POST /clusters/kibana/{cluster_id}/_restart
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/_restart
instead. -
POST /clusters/kibana/{cluster_id}/_resync
-
Use
POST /deployments/{deployment_id}/_resync
instead. -
POST /clusters/kibana/{cluster_id}/_shutdown
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/_shutdown
instead. -
POST /clusters/kibana/{cluster_id}/_upgrade
-
Use
POST /deployments/{deployment_id}/{stateless_resource_kind}/{ref_id}/_upgrade
instead. -
POST /clusters/kibana/{cluster_id}/instances/_move
-
POST /clusters/kibana/{cluster_id}/instances/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_start
instead. -
POST /clusters/kibana/{cluster_id}/instances/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/_stop
instead. -
POST /clusters/kibana/{cluster_id}/instances/maintenance-mode/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_start
instead. -
POST /clusters/kibana/{cluster_id}/instances/maintenance-mode/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/maintenance-mode/_stop
instead. -
POST /clusters/kibana/{cluster_id}/instances/{instance_ids}/_move
-
POST /clusters/kibana/{cluster_id}/instances/{instance_ids}/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_start
instead. -
POST /clusters/kibana/{cluster_id}/instances/{instance_ids}/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/_stop
instead. -
POST /clusters/kibana/{cluster_id}/instances/{instance_ids}/maintenance-mode/_start
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_start
instead. -
POST /clusters/kibana/{cluster_id}/instances/{instance_ids}/maintenance-mode/_stop
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/instances/{instance_ids}/maintenance-mode/_stop
instead. -
PUT /clusters/kibana/{cluster_id}/metadata/name/{new_name}
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/kibana/{cluster_id}/metadata/raw
-
Use
GET /deployments/{deployment_id}?show_metadata=true
instead. -
POST /clusters/kibana/{cluster_id}/metadata/raw
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/metadata/raw
instead. -
GET /clusters/kibana/{cluster_id}/metadata/settings
-
Use
GET /deployments/{deployment_id}
instead. -
PATCH /clusters/kibana/{cluster_id}/metadata/settings
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/kibana/{cluster_id}/plan
-
Use
GET /deployments/{deployment_id}
instead. -
POST /clusters/kibana/{cluster_id}/plan
-
Use
PUT /deployments/{deployment_id}
instead. -
GET /clusters/kibana/{cluster_id}/plan/activity
-
Use
GET /deployments/{deployment_id}?show_plan_history=true&show_plan_logs=true
instead. -
GET /clusters/kibana/{cluster_id}/plan/pending
-
Use
GET /deployments/{deployment_id}
instead. -
DELETE /clusters/kibana/{cluster_id}/plan/pending
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}/plan/pending
instead. -
GET /clusters/kibana/{cluster_id}/proxy/{kibana_path}
-
Use
GET /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
POST /clusters/kibana/{cluster_id}/proxy/{kibana_path}
-
Use
POST /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
PUT /clusters/kibana/{cluster_id}/proxy/{kibana_path}
-
Use
PUT /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
DELETE /clusters/kibana/{cluster_id}/proxy/{kibana_path}
-
Use
DELETE /deployments/{deployment_id}/{resource_kind}/{ref_id}/proxy/{proxy_path}
instead. -
GET /deployments/ip-filtering/associations/{association_type}/{associated_entity_id}/rulesets
-
Use
GET /deployments/traffic-filter/associations/{association_type}/{associated_entity_id}/rulesets
instead. -
GET /deployments/ip-filtering/rulesets
-
Use
GET /deployments/traffic-filter/rulesets
instead. -
POST /deployments/ip-filtering/rulesets
-
Use
POST /deployments/traffic-filter/rulesets
instead. -
GET /deployments/ip-filtering/rulesets/{ruleset_id}
-
Use
GET /deployments/traffic-filter/rulesets/{ruleset_id}
instead. -
PUT /deployments/ip-filtering/rulesets/{ruleset_id}
-
Use
PUT /deployments/traffic-filter/rulesets/{ruleset_id}
instead. -
DELETE /deployments/ip-filtering/rulesets/{ruleset_id}
-
Use
DELETE /deployments/traffic-filter/rulesets/{ruleset_id}
instead. -
GET /deployments/ip-filtering/rulesets/{ruleset_id}/associations
-
Use
GET /deployments/traffic-filter/rulesets/{ruleset_id}/associations
instead. -
POST /deployments/ip-filtering/rulesets/{ruleset_id}/associations
-
Use
POST /deployments/traffic-filter/rulesets/{ruleset_id}/associations
instead. -
DELETE /deployments/ip-filtering/rulesets/{ruleset_id}/associations/{association_type}/{associated_entity_id}
-
Use
DELETE /deployments/traffic-filter/rulesets/{ruleset_id}/associations/{association_type}/{associated_entity_id}
instead. -
POST /platform/configuration/security/deployment/_disable
- The security deployment is required in Elastic Cloud Enterprise 3.0, so there is no longer an API for disabling it.
-
POST /platform/configuration/security/deployment/_enable
- The security deployment is already enabled in Elastic Cloud Enterprise 3.0, so there is no longer an API for enabling it.
-
GET /platform/configuration/templates/deployments
-
Use
GET /deployments/templates
instead. -
POST /platform/configuration/templates/deployments
-
Use
POST /deployments/templates
instead. -
DELETE /platform/configuration/templates/deployments/{template_id}
-
Use
DELETE /deployments/templates/{template_id}
instead. -
GET /platform/configuration/templates/deployments/{template_id}
-
Use
GET /deployments/templates/{template_id}
instead. -
PUT /platform/configuration/templates/deployments/{template_id}
-
Use
PUT /deployments/templates/{template_id}
instead. -
POST /users/auth/reauthenticate
- Use API keys instead.
Deployments API replaces clusters API
editStarting in Elastic Cloud Enterprise 3.0, there is no longer a top-level concept of clusters. Deployments are now the only top level model, and they represent a collection of resources. A resource is essentially what used to be called a cluster. It represents a deployable product with an infrastructure plan and a topology of instances that are deployed on one or more allocators. A resource has a kind (Elasticsearch, Kibana, Enterprise Search, and so on) and a reference ID (refid) that uniquely identifies it within the deployment. The resource kind and refid are used throughout the API to replace operations that used to be for operating on individual clusters. You can retrieve the resources and their corresponding refids for a given deployment by using the Get Deployment API.
As an example, in Elastic Cloud Enterprise 2, you could use the clusters API like so to create a deployment:
POST /api/v1/clusters/elasticsearch { "cluster_name": "My deployment", "plan": { "cluster_topology": [ { "id": "hot_content", "node_type": { "data": true, "master": true, "ingest": true, "ml": false }, "node_roles": [ "master", "ingest", "transform", "data_hot", "remote_cluster_client", "data_content" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "hot" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.default", "size": { "value": 4096, "resource": "memory" } }, { "id": "warm", "node_type": { "data": true, "master": false, "ingest": false, "ml": false }, "node_roles": [ "data_warm", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "warm" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.highstorage", "size": { "value": 0, "resource": "memory" } }, { "id": "cold", "node_type": { "data": true, "master": false, "ingest": false, "ml": false }, "node_roles": [ "data_cold", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "cold" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.highstorage", "size": { "value": 0, "resource": "memory" } }, { "id": "frozen", "node_type": { "data": true, "master": false, "ingest": false, "ml": false }, "node_roles": [ "data_frozen" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "frozen" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.frozen", "size": { "value": 0, "resource": "memory" } }, { "id": "coordinating", "node_type": { "ingest": true, "master": false, "data": false, "ml": false }, "node_roles": [ "ingest", "remote_cluster_client" ], "zone_count": 1, "instance_configuration_id": "coordinating", "size": { "value": 0, "resource": "memory" }, "elasticsearch": { "enabled_built_in_plugins": [] } }, { "id": "master", "node_type": { "master": true, "data": false, "ml": false, "ingest": false }, "node_roles": [ "master", "remote_cluster_client" ], "zone_count": 1, "instance_configuration_id": "master", "size": { "value": 0, "resource": "memory" }, "elasticsearch": { "enabled_built_in_plugins": [] } }, { "id": "ml", "node_type": { "ml": true, "data": false, "master": false, "ingest": false }, "node_roles": [ "ml", "remote_cluster_client" ], "zone_count": 1, "instance_configuration_id": "ml", "size": { "value": 0, "resource": "memory" }, "elasticsearch": { "enabled_built_in_plugins": [] } } ], "elasticsearch": { "version": "7.15.1" }, "autoscaling_enabled": false, "deployment_template": { "id": "default" } } }
POST /api/v1/clusters/kibana { "elasticsearch_cluster_id": {elasticsearch_id}, "plan": { "zone_count": 1, "cluster_topology": [ { "instance_configuration_id": "kibana", "size": { "value": 1024, "resource": "memory" }, "zone_count": 1 } ], "kibana": { "version": "7.15.1" } } }
With the deployments API, you can create the same deployment like so:
POST /api/v1/deployments { "resources": { "elasticsearch": [ { "ref_id": "main-elasticsearch", "region": "ece-region", "plan": { "cluster_topology": [ { "id": "hot_content", "node_roles": [ "master", "ingest", "transform", "data_hot", "remote_cluster_client", "data_content" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "hot" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.default", "size": { "value": 4096, "resource": "memory" } }, { "id": "warm", "node_roles": [ "data_warm", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "warm" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.highstorage", "size": { "value": 0, "resource": "memory" } }, { "id": "cold", "node_roles": [ "data_cold", "remote_cluster_client" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "cold" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.highstorage", "size": { "value": 0, "resource": "memory" } }, { "id": "frozen", "node_roles": [ "data_frozen" ], "zone_count": 1, "elasticsearch": { "node_attributes": { "data": "frozen" }, "enabled_built_in_plugins": [] }, "instance_configuration_id": "data.frozen", "size": { "value": 0, "resource": "memory" } }, { "id": "coordinating", "node_roles": [ "ingest", "remote_cluster_client" ], "zone_count": 1, "instance_configuration_id": "coordinating", "size": { "value": 0, "resource": "memory" }, "elasticsearch": { "enabled_built_in_plugins": [] } }, { "id": "master", "node_roles": [ "master", "remote_cluster_client" ], "zone_count": 1, "instance_configuration_id": "master", "size": { "value": 0, "resource": "memory" }, "elasticsearch": { "enabled_built_in_plugins": [] } }, { "id": "ml", "node_roles": [ "ml", "remote_cluster_client" ], "zone_count": 1, "instance_configuration_id": "ml", "size": { "value": 0, "resource": "memory" }, "elasticsearch": { "enabled_built_in_plugins": [] } } ], "elasticsearch": { "version": "7.15.1" }, "autoscaling_enabled": false, "deployment_template": { "id": "default" } }, "settings": { "dedicated_masters_threshold": 6, "snapshot": { "enabled": false } } } ], "kibana": [ { "ref_id": "main-kibana", "elasticsearch_cluster_ref_id": "main-elasticsearch", "region": "ece-region", "plan": { "zone_count": 1, "cluster_topology": [ { "instance_configuration_id": "kibana", "size": { "value": 1024, "resource": "memory" }, "zone_count": 1 } ], "kibana": { "version": "7.15.1" } } } ], "apm": [], "enterprise_search": [] }, "name": "My deployment", "metadata": { "system_owned": false } }
You can find many more examples in our Elastic Cloud Enterprise API documentation.
Deprecated Elastic Stack versions
editElastic Stack verson 5.6.0 is no longer maintained and will not be supported on ECE 3.0. You must upgrade to Elastic Stack version 6.0 or above before upgrading to ECE 3.0, and we strongly recommend upgrading to a maintained version. More information is available on the Elastic products end-of-life page.