Update plan

edit

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 Elasticsearch cluster plan is valid. The return object contains an internal representation of the plan that you can use for debugging.

202

(ClusterCrudResponse) The Elasticsearch cluster plan is valid and the update is in progress.

400

(BasicFailedReply) The Elasticsearch cluster plan contains errors. (code: 'clusters.cluster_invalid_plan' and 'clusters.plan_feature_not_implemented')

404

(BasicFailedReply) The {cluster_id} can't be found. (code: 'clusters.cluster_not_found')

412

(BasicFailedReply) The settings that you specified could be harmful. (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"
            ],
            "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" : 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
}
'