Move clusters by type

edit

Moves clusters of a given type off an 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: false

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 command was issued successfully, use the "GET" command on each /{cluster_id} resource to monitor progress

400

(BasicFailedReply) The cluster definition contained errors (code: 'clusters.cluster_invalid_plan' and 'clusters.plan_feature_not_implemented')

403

(BasicFailedReply) The move command was prohibited for the given cluster

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
         }
      }
   ]
}
'