Move instancesedit

Moves one or more instances in the Elasticsearch cluster.

Requestedit

POST /api/v1/clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/_move

Path parametersedit

Name Type Required Description

cluster_id

string

Y

The Elasticsearch cluster identifier.

instance_ids

array[string]

Y

A comma-separated list of instance identifiers.

Query parametersedit

Name Type Required Description

force_update

boolean; default: false

N

When true, cancels and overwrites the pending plans, or treats the instance as an error.

ignore_missing

boolean; default: false

N

When true and the instance does not exist, proceeds to the next instance, or treats the instance as an error.

instances_down

boolean; default: false

N

When true, the instances specified by instance_ids permanently shut down for data migration logic.

validate_only

boolean; default: false

N

When true, validates the move request, then returns the calculated plan without applying the plan.

Request bodyedit

(TransientElasticsearchPlanConfiguration) Overrides defaults for the move, including setting the configuration of instances specified in the path

Responsesedit

202

(ClusterCommandResponse) The move is in progress. To monitor progress, use the GET command on the /{cluster_id} resource.

400

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

403

(BasicFailedReply) The move command is prohibited for the Elasticsesarch cluster. Specify a different cluster, then try again.

404

(BasicFailedReply) One or more {instance_id} can't be found. (code: 'clusters.instances_not_found')

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 exampleedit

curl -XPOST {{hostname}}/api/v1/clusters/elasticsearch/{cluster_id}/instances/{instance_ids}/_move \
-u $CLOUD_USER:$CLOUD_KEY \
-H 'Content-Type: application/json' \
-d '
{
   "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_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" : {}
   }
}
'