Update plan

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

Request

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

Path parameters

Name Type Required Description

cluster_id

string

Y

The Elasticsearch cluster identifier.

Query parameters

Name Type Required Description

validate_only

boolean; default: false

N

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

Request body

(ElasticsearchClusterPlan) (required) The update plan definition

Responses

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

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

Request example

curl -XPOST https://{{hostname}}/api/v1/clusters/elasticsearch/{cluster_id}/plan \
-H "Authorization: ApiKey $ECE_API_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_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
      },
      "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
}
'