Move clusters by type

edit

Moves the clusters, by type, to a different allocator.

Request

edit

POST /api/v1/platform/infrastructure/allocators/{allocator_id}/clusters/{cluster_type}/_move

Path parameters

edit
Name Type Required Description

allocator_id

string

Y

The allocator identifier.

cluster_type

string; allowed values: [elasticsearch, kibana]

Y

The cluster types to move off of the allocator. NOTE: When unspecified, all clusters are moved.

Query parameters

edit
Name Type Required Description

allocator_down

boolean; default: false

N

When true, considers all instances on the allocator as permanently shut down when deciding how to migrate data to new nodes.When left blank, the system automatically decides. NOTE: The default treats the allocator as up.

force_update

boolean; default: false

N

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

move_only

boolean; default: true

N

When true, bypasses the cluster state changes, but continues to move the specified instances

validate_only

boolean; default: false

N

When true, validates the plan overrides, then returns the plan without performing the move.

Request body

edit

(MoveClustersRequest) Overrides defaults for the move of each cluster

Responses

edit
202

(MoveClustersCommandResponse) 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 allocator.

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/platform/infrastructure/allocators/{allocator_id}/clusters/{cluster_type}/_move \
-u $CLOUD_USER:$CLOUD_KEY \
-H 'Content-Type: application/json' \
-d '
{
   "apm_clusters" : [
      {
         "cluster_ids" : [
            "string"
         ],
         "plan_override" : {
            "plan_configuration" : {
               "calm_wait_time" : 0,
               "cluster_reboot" : "string",
               "extended_maintenance" : true,
               "move_allocators" : [
                  {
                     "allocator_down" : true,
                     "from" : "string",
                     "to" : [
                        "string"
                     ]
                  }
               ],
               "move_instances" : [
                  {
                     "from" : "string",
                     "instance_down" : true,
                     "to" : [
                        "string"
                     ]
                  }
               ],
               "preferred_allocators" : [
                  "string"
               ],
               "reallocate_instances" : true,
               "timeout" : 0
            },
            "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" : {}
            }
         }
      }
   ],
   "elasticsearch_clusters" : [
      {
         "cluster_ids" : [
            "string"
         ],
         "plan_override" : {
            "cluster_settings_json" : {},
            "plan_configuration" : {
               "calm_wait_time" : 0,
               "cluster_reboot" : "string",
               "extended_maintenance" : true,
               "max_snapshot_attempts" : 0,
               "move_allocators" : [
                  null
               ],
               "move_instances" : [
                  null
               ],
               "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" : null
         }
      }
   ],
   "kibana_clusters" : [
      {
         "cluster_ids" : [
            "string"
         ],
         "plan_override" : {
            "plan_configuration" : {
               "calm_wait_time" : 0,
               "cluster_reboot" : "string",
               "extended_maintenance" : true,
               "move_allocators" : [
                  null
               ],
               "move_instances" : [
                  null
               ],
               "preferred_allocators" : [
                  "string"
               ],
               "reallocate_instances" : true,
               "timeout" : 0
            },
            "strategy" : null
         }
      }
   ]
}
'