Move clusters by typeedit

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

Requestedit

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

Path parametersedit

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 parametersedit

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 bodyedit

(MoveClustersRequest) Overrides defaults for the move of each cluster

Responsesedit

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 exampleedit

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_age" : 0,
               "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
         }
      }
   ]
}
'