Move instances

DEPRECATED (Scheduled to be removed in the next major version): Moves one or more instances in the Elasticsearch cluster.

Request

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

Path parameters

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 parameters

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.

move_only

boolean; default: false

N

When true, moves the specified instances and ignores the changes for the cluster state.

validate_only

boolean; default: false

N

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

Request body

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

Responses

202

(ClusterCommandResponse) The move command was issued successfully, use the "GET" command on the /{cluster_id} resource to monitor progress

400

(BasicFailedReply) * The cluster definition contained errors. (code: clusters.cluster_invalid_plan) * The cluster definition contained errors. (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
403

(BasicFailedReply) The move command was prohibited for the given cluster. (code: clusters.command_prohibited)

Headers

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

(BasicFailedReply) * The cluster specified by {cluster_id} cannot be found. (code: clusters.cluster_not_found) * One or more of the instances specified at {instance_ids} could not be found. (code: clusters.instances_not_found)

Headers

x-cloud-error-codes (string; allowed values: [clusters.cluster_not_found, clusters.instances_not_found])
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}/instances/{instance_ids}/_move \
-H "Authorization: ApiKey $ECE_API_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_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" : {}
   }
}
'