Create cluster

edit

Creates an Elasticsearch cluster.

Request

edit

POST /api/v1/clusters/elasticsearch

Query parameters

edit
Name Type Required Description

request_id

string

N

(Optional) The idempotency token. When two create requests share the same request_id (minimum size of 32 characters, maximum size of 128 characters), only one cluster is created. The second request returns the information for that cluster, but the password field is blank.

validate_only

boolean; default: false

N

When true, validates the cluster definition without creating the cluster.

Request body

edit

(CreateElasticsearchClusterRequest) (required) The cluster definition

Responses

edit
200

(ClusterCrudResponse) The cluster definition was valid - no further action was requested. The return object contains an internal representation of the plan, for use in debugging

201

(ClusterCrudResponse) The cluster definition was valid and the cluster creation has started

400

(BasicFailedReply) * The cluster definition contained errors. (code: clusters.cluster_invalid_plan) * The features used in the cluster definition have not been implemented yet. (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
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

edit
curl -XPOST {{hostname}}/api/v1/clusters/elasticsearch \
-H "Authorization: ApiKey $ECE_API_KEY" \
-H 'Content-Type: application/json' \
-d '
{
   "apm" : {
      "name" : "string",
      "plan" : {
         "apm" : {
            "docker_image" : "string",
            "system_settings" : {
               "debug_enabled" : true,
               "elasticsearch_password" : "string",
               "elasticsearch_url" : "string",
               "elasticsearch_username" : "string",
               "kibana_url" : "string",
               "secret_token" : "string"
            },
            "user_settings_json" : {},
            "user_settings_override_json" : {},
            "user_settings_override_yaml" : "string",
            "user_settings_yaml" : "string",
            "version" : "string"
         },
         "cluster_topology" : [
            {
               "apm" : null,
               "instance_configuration_id" : "string",
               "size" : {
                  "resource" : "string",
                  "value" : 0
               },
               "zone_count" : 0
            }
         ],
         "transient" : {
            "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" : {}
            }
         }
      }
   },
   "cluster_name" : "string",
   "kibana" : {
      "cluster_name" : "string",
      "plan" : {
         "cluster_topology" : [
            {
               "allocator_filter" : {},
               "instance_configuration_id" : "string",
               "kibana" : {
                  "docker_image" : "string",
                  "system_settings" : {
                     "elasticsearch_password" : "string",
                     "elasticsearch_url" : "string",
                     "elasticsearch_username" : "string"
                  },
                  "user_settings_json" : {},
                  "user_settings_override_json" : {},
                  "user_settings_override_yaml" : "string",
                  "user_settings_yaml" : "string",
                  "version" : "string"
               },
               "memory_per_node" : 0,
               "node_configuration" : "string",
               "node_count_per_zone" : 0,
               "size" : null,
               "zone_count" : 0
            }
         ],
         "kibana" : null,
         "transient" : {
            "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
         },
         "zone_count" : 0
      }
   },
   "plan" : {
      "cluster_topology" : [
         {
            "allocator_filter" : {},
            "elasticsearch" : {
               "curation" : {
                  "from_instance_configuration_id" : "string",
                  "to_instance_configuration_id" : "string"
               },
               "docker_image" : "string",
               "enabled_built_in_plugins" : [
                  "string"
               ],
               "node_attributes" : {
                  "some_property" : "string"
               },
               "system_settings" : {
                  "auto_create_index" : true,
                  "default_shards_per_index" : 0,
                  "destructive_requires_name" : true,
                  "enable_close_index" : true,
                  "monitoring_collection_interval" : 0,
                  "monitoring_history_duration" : "string",
                  "reindex_whitelist" : [
                     "string"
                  ],
                  "scripting" : {
                     "expressions_enabled" : true,
                     "file" : {
                        "enabled" : true,
                        "sandbox_mode" : true
                     },
                     "inline" : null,
                     "mustache_enabled" : true,
                     "painless_enabled" : true,
                     "stored" : null
                  },
                  "use_disk_threshold" : true,
                  "watcher_trigger_engine" : "string"
               },
               "user_bundles" : [
                  {
                     "elasticsearch_version" : "string",
                     "name" : "string",
                     "url" : "string"
                  }
               ],
               "user_plugins" : [
                  {
                     "elasticsearch_version" : "string",
                     "name" : "string",
                     "url" : "string"
                  }
               ],
               "user_settings_json" : {},
               "user_settings_override_json" : {},
               "user_settings_override_yaml" : "string",
               "user_settings_yaml" : "string",
               "version" : "string"
            },
            "instance_configuration_id" : "string",
            "memory_per_node" : 0,
            "node_configuration" : "string",
            "node_count_per_zone" : 0,
            "node_type" : {
               "data" : true,
               "ingest" : true,
               "master" : true,
               "ml" : true
            },
            "size" : null,
            "zone_count" : 0
         }
      ],
      "deployment_template" : {
         "id" : "string",
         "version" : "string"
      },
      "elasticsearch" : null,
      "tiebreaker_override" : true,
      "tiebreaker_topology" : {
         "memory_per_node" : 0
      },
      "transient" : {
         "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_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" : null
      },
      "zone_count" : 0
   },
   "settings" : {
      "ccs" : {
         "remote_clusters" : {
            "some_property" : {
               "cluster_id" : "string",
               "skip_unavailable" : true
            }
         }
      },
      "curation" : {
         "specs" : [
            {
               "index_pattern" : "string",
               "trigger_interval_seconds" : 0
            }
         ]
      },
      "dedicated_masters_threshold" : 0,
      "ip_filtering" : {
         "rulesets" : [
            "string"
         ]
      },
      "metadata" : {
         "contact_email" : "string",
         "hidden" : true,
         "name" : "string",
         "owner_id" : "string",
         "resources" : {
            "cpu" : {
               "boost" : true,
               "hard_limit" : true
            }
         },
         "subscription_level" : "string",
         "system_owned" : true
      },
      "monitoring" : {
         "target_cluster_id" : "string"
      },
      "snapshot" : {
         "enabled" : true,
         "interval" : "string",
         "pending_interval" : "string",
         "repository" : {
            "default" : {},
            "reference" : {
               "repository_name" : "string"
            },
            "static" : {
               "repository_type" : "string",
               "settings" : {}
            }
         },
         "repository_name" : "string",
         "retention" : {
            "max_age" : "string",
            "snapshots" : 0
         },
         "suspended" : [
            "string"
         ],
         "wait_time_after_snapshotting" : "string"
      }
   }
}
'