Update plan

edit

Updates the configuration of an existing 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' and 'clusters.plan_feature_not_implemented')

404

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

412

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

449

(BasicFailedReply) elevated permissions are required. (code: '"root.needs_elevated_permissions"')

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

edit
curl -XPOST {{hostname}}/api/v1/clusters/elasticsearch/{cluster_id}/plan \
-u $CLOUD_USER:$CLOUD_KEY \
-H 'Content-Type: application/json' \
-d '
{
   "cluster_topology" : [
      {
         "allocator_filter" : {},
         "elasticsearch" : {
            "curation" : {
               "from_instance_configuration_id" : "string",
               "to_instance_configuration_id" : "string"
            },
            "docker_image" : "string",
            "enabled_built_in_plugins" : [
               "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" : null,
                  "mustache_enabled" : true,
                  "painless_enabled" : true,
                  "stored" : null
               },
               "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"
         },
         "instance_configuration_id" : "string",
         "memory_per_node" : 0,
         "node_configuration" : "string",
         "node_count_per_zone" : 0,
         "node_type" : {
            "data" : true,
            "ingest" : true,
            "master" : true,
            "ml" : true
         },
         "size" : {
            "resource" : "string",
            "value" : 0
         },
         "zone_count" : 0
      }
   ],
   "deployment_template" : {
      "id" : "string",
      "version" : "string"
   },
   "elasticsearch" : null,
   "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_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_upgrade_checker" : true,
         "timeout" : 0
      },
      "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" : {
         "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
}
'