Update plan

edit

DEPRECATED (Scheduled to be removed in the next major version): Updates the configuration of the Elasticsearch cluster.

Request

edit

POST /api/v1/clusters/elasticsearch/{cluster_id}/plan

Path parameters

edit
Name Type Required Description

cluster_id

string

Y

The Elasticsearch cluster identifier.

Query parameters

edit
Name Type Required Description

validate_only

boolean; default: false

N

When true, validates the cluster definition without performing the update.

Request body

edit

(ElasticsearchClusterPlan) (required) The update plan definition

Responses

edit
200

(ClusterCrudResponse) The cluster definition was valid - no further action was requested. The return object contains an internal representation of the plan, for use in debugging

202

(ClusterCrudResponse) The plan definition was valid and the updated plan is in progress

400

(BasicFailedReply) * The cluster definition contained errors. (code: clusters.cluster_invalid_plan) * The features used in the cluster definition have not been implemented yet. (code: clusters.plan_feature_not_implemented)

Headers

x-cloud-error-codes (string; allowed values: [clusters.cluster_invalid_plan, clusters.plan_feature_not_implemented])
The error codes associated with the response
404

(BasicFailedReply) The cluster specified by {cluster_id} cannot be found. (code: clusters.cluster_not_found)

Headers

x-cloud-error-codes (string; allowed values: [clusters.cluster_not_found])
The error codes associated with the response
412

(BasicFailedReply) Potential risky settings have been specified. (code: clusters.cluster_plan_state_error)

Headers

x-cloud-error-codes (string; allowed values: [clusters.cluster_plan_state_error])
The error codes associated with the response
449

(BasicFailedReply) Elevated permissions are required. (code: root.unauthorized.rbac.elevated_permissions_required)

Headers

x-cloud-error-codes (string; allowed values: [root.unauthorized.rbac.elevated_permissions_required])
The error codes associated with the response

Request example

edit
curl -XPOST https://{{hostname}}/api/v1/clusters/elasticsearch/{cluster_id}/plan \
-H "Authorization: ApiKey $ECE_API_KEY" \
-H 'Content-Type: application/json' \
-d '
{
   "autoscaling_enabled" : true,
   "cluster_topology" : [
      {
         "allocator_filter" : {},
         "autoscaling_max" : {
            "resource" : "string",
            "value" : 0
         },
         "autoscaling_min" : {
            "resource" : "string",
            "value" : 0
         },
         "autoscaling_policy_override_json" : {},
         "elasticsearch" : {
            "curation" : {
               "from_instance_configuration_id" : "string",
               "to_instance_configuration_id" : "string"
            },
            "docker_image" : "string",
            "enabled_built_in_plugins" : [
               "string"
            ],
            "node_attributes" : {
               "some_property" : "string"
            },
            "system_settings" : {
               "auto_create_index" : true,
               "default_shards_per_index" : 0,
               "destructive_requires_name" : true,
               "enable_close_index" : true,
               "monitoring_collection_interval" : 0,
               "monitoring_history_duration" : "string",
               "reindex_whitelist" : [
                  "string"
               ],
               "scripting" : {
                  "expressions_enabled" : true,
                  "file" : {
                     "enabled" : true,
                     "sandbox_mode" : true
                  },
                  "inline" : {
                     "enabled" : true,
                     "sandbox_mode" : true
                  },
                  "mustache_enabled" : true,
                  "painless_enabled" : true,
                  "stored" : {
                     "enabled" : true,
                     "sandbox_mode" : true
                  }
               },
               "use_disk_threshold" : true,
               "watcher_trigger_engine" : "string"
            },
            "user_bundles" : [
               {
                  "elasticsearch_version" : "string",
                  "name" : "string",
                  "url" : "string"
               }
            ],
            "user_plugins" : [
               {
                  "elasticsearch_version" : "string",
                  "name" : "string",
                  "url" : "string"
               }
            ],
            "user_settings_json" : {},
            "user_settings_override_json" : {},
            "user_settings_override_yaml" : "string",
            "user_settings_yaml" : "string",
            "version" : "string"
         },
         "id" : "string",
         "instance_configuration_id" : "string",
         "memory_per_node" : 0,
         "node_configuration" : "string",
         "node_count_per_zone" : 0,
         "node_roles" : [
            "string"
         ],
         "node_type" : {
            "data" : true,
            "ingest" : true,
            "master" : true,
            "ml" : true
         },
         "size" : {
            "resource" : "string",
            "value" : 0
         },
         "topology_element_control" : {
            "min" : {
               "resource" : "string",
               "value" : 0
            }
         },
         "zone_count" : 0
      }
   ],
   "deployment_template" : {
      "id" : "string",
      "version" : "string"
   },
   "elasticsearch" : {
      "curation" : {
         "from_instance_configuration_id" : "string",
         "to_instance_configuration_id" : "string"
      },
      "docker_image" : "string",
      "enabled_built_in_plugins" : [
         "string"
      ],
      "node_attributes" : {
         "some_property" : "string"
      },
      "system_settings" : {
         "auto_create_index" : true,
         "default_shards_per_index" : 0,
         "destructive_requires_name" : true,
         "enable_close_index" : true,
         "monitoring_collection_interval" : 0,
         "monitoring_history_duration" : "string",
         "reindex_whitelist" : [
            "string"
         ],
         "scripting" : {
            "expressions_enabled" : true,
            "file" : {
               "enabled" : true,
               "sandbox_mode" : true
            },
            "inline" : {
               "enabled" : true,
               "sandbox_mode" : true
            },
            "mustache_enabled" : true,
            "painless_enabled" : true,
            "stored" : {
               "enabled" : true,
               "sandbox_mode" : true
            }
         },
         "use_disk_threshold" : true,
         "watcher_trigger_engine" : "string"
      },
      "user_bundles" : [
         {
            "elasticsearch_version" : "string",
            "name" : "string",
            "url" : "string"
         }
      ],
      "user_plugins" : [
         {
            "elasticsearch_version" : "string",
            "name" : "string",
            "url" : "string"
         }
      ],
      "user_settings_json" : {},
      "user_settings_override_json" : {},
      "user_settings_override_yaml" : "string",
      "user_settings_yaml" : "string",
      "version" : "string"
   },
   "tiebreaker_override" : true,
   "tiebreaker_topology" : {
      "memory_per_node" : 0
   },
   "transient" : {
      "cluster_settings_json" : {},
      "plan_configuration" : {
         "calm_wait_time" : 0,
         "cluster_reboot" : "string",
         "extended_maintenance" : true,
         "max_snapshot_age" : 0,
         "max_snapshot_attempts" : 0,
         "move_allocators" : [
            {
               "allocator_down" : true,
               "from" : "string",
               "to" : [
                  "string"
               ]
            }
         ],
         "move_instances" : [
            {
               "from" : "string",
               "instance_down" : true,
               "to" : [
                  "string"
               ]
            }
         ],
         "move_only" : true,
         "override_failsafe" : true,
         "preferred_allocators" : [
            "string"
         ],
         "reallocate_instances" : true,
         "skip_data_migration" : true,
         "skip_post_upgrade_steps" : true,
         "skip_snapshot" : true,
         "skip_snapshot_post_major_upgrade" : true,
         "skip_upgrade_checker" : true,
         "timeout" : 0
      },
      "remote_clusters" : {
         "resources" : [
            {
               "alias" : "string",
               "deployment_id" : "string",
               "elasticsearch_ref_id" : "string",
               "info" : {
                  "compatible" : true,
                  "connected" : true,
                  "healthy" : true,
                  "trusted" : true,
                  "trusted_back" : true
               },
               "skip_unavailable" : true
            }
         ]
      },
      "restore_snapshot" : {
         "repository_config" : {
            "raw_settings" : {}
         },
         "repository_name" : "string",
         "restore_payload" : {
            "indices" : [
               "string"
            ],
            "raw_settings" : {}
         },
         "snapshot_name" : "string",
         "source_cluster_id" : "string",
         "strategy" : "string"
      },
      "strategy" : {
         "autodetect" : {},
         "grow_and_shrink" : {},
         "rolling" : {
            "allow_inline_resize" : true,
            "group_by" : "string",
            "shard_init_wait_time" : 0,
            "skip_synced_flush" : true
         },
         "rolling_grow_and_shrink" : {}
      }
   },
   "zone_count" : 0
}
'