Templates - Deployments

Get deployment templates

Retrieves all deployment templates.

Request

GET /api/v1/platform/configuration/templates/deployments

Query parameters

Name Type Required Description

metadata

string

N

An optional key/value pair in the form of (key:value) that will act as a filter and exclude any templates that do not have a matching metadata item associated.

show_instance_configurations

boolean

N

If true, will return details for each instance configuration referenced by the template.

stack_version

string

N

If present, it will cause the returned deployment templates to be adapted to return only the elements allowed in that version.

Responses

200
(array[DeploymentTemplateInfo]) The deployment templates were returned successfully.
Warning

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XGET {{hostname}}/api/v1/platform/configuration/templates/deployments \
-u $CLOUD_USER:$CLOUD_KEY

Create deployment template

Creates a deployment template.

Request

POST /api/v1/platform/configuration/templates/deployments

Request body

(DeploymentTemplateInfo) (required) The deployment template definition.

Responses

201
(IdResponse) The deployment definition was valid and the template has been created.
400
(BasicFailedReply) The template definition contained errors.
449
(BasicFailedReply) elevated permissions are required. (code: '"root.needs_elevated_permissions"')
Warning

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XPOST {{hostname}}/api/v1/platform/configuration/templates/deployments \
-u $CLOUD_USER:$CLOUD_KEY \
-H 'Content-Type: application/json' \
-d '
{
   "cluster_template" : {
      "apm" : {
         "name" : "string",
         "plan" : {
            "apm" : {
               "docker_image" : "string",
               "system_settings" : {
                  "debug_enabled" : "string",
                  "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_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
         },
         "zone_count" : 0
      },
      "settings" : {
         "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"
         }
      }
   },
   "description" : "string",
   "id" : "string",
   "instance_configurations" : [
      {
         "allocator_filter" : {
            "bool" : {
               "filter" : [
                  null
               ],
               "minimum_should_match" : 0,
               "must" : [
                  null
               ],
               "must_not" : [
                  null
               ],
               "should" : [
                  null
               ]
            },
            "exists" : {
               "field" : "string"
            },
            "match" : {
               "some_property" : {
                  "analyzer" : "string",
                  "minimum_should_match" : 0,
                  "operator" : "string",
                  "query" : "string"
               }
            },
            "match_all" : {},
            "nested" : {
               "path" : "string",
               "query" : null,
               "score_mode" : "string"
            },
            "prefix" : {
               "some_property" : {
                  "boost" : 0.1,
                  "value" : "string"
               }
            },
            "query_string" : {
               "allow_leading_wildcard" : true,
               "analyzer" : "string",
               "default_field" : "string",
               "default_operator" : "string",
               "query" : "string"
            },
            "range" : {
               "some_property" : {
                  "boost" : 0.1,
                  "format" : "string",
                  "gt" : {},
                  "gte" : {},
                  "lt" : {},
                  "lte" : {},
                  "time_zone" : "string"
               }
            },
            "term" : {
               "some_property" : {
                  "value" : {}
               }
            }
         },
         "deleted_on" : "2019-01-01T00:00:00Z",
         "description" : "string",
         "discrete_sizes" : {
            "default_size" : 0,
            "resource" : "string",
            "sizes" : [
               0
            ]
         },
         "id" : "string",
         "instance_type" : "string",
         "metadata" : {},
         "name" : "string",
         "node_types" : [
            "string"
         ],
         "storage_multiplier" : 0.1,
         "system_owned" : true
      }
   ],
   "metadata" : [
      {
         "key" : "string",
         "value" : "string"
      }
   ],
   "name" : "string",
   "order" : 0,
   "source" : {
      "action" : "string",
      "admin_id" : "string",
      "date" : "2019-01-01T00:00:00Z",
      "facilitator" : "string",
      "remote_addresses" : [
         "string"
      ],
      "user_id" : "string"
   },
   "system_owned" : true
}
'

Delete deployment template

Deletes a deployment template by id.

Request

DELETE /api/v1/platform/configuration/templates/deployments/{template_id}

Path parameters

Name Type Required Description

template_id

string

Y

The identifier for deployment template.

Responses

200
(EmptyResponse) The deployment template was successfully deleted.
404
(BasicFailedReply) The deployment template specified by {template_id} cannot be found.
449
(BasicFailedReply) elevated permissions are required. (code: '"root.needs_elevated_permissions"')
Warning

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XDELETE {{hostname}}/api/v1/platform/configuration/templates/deployments/{template_id} \
-u $CLOUD_USER:$CLOUD_KEY

Get deployment template

Retrieves a deployment template by id.

Request

GET /api/v1/platform/configuration/templates/deployments/{template_id}

Path parameters

Name Type Required Description

template_id

string

Y

The identifier for the deployment template.

Query parameters

Name Type Required Description

show_instance_configurations

boolean

N

If true, will return details for each instance configuration referenced by the template.

stack_version

string

N

If present, it will cause the returned deployment template to be adapted to return only the elements allowed in that version.

Responses

200
(DeploymentTemplateInfo) The deployment template was found and returned successfully.
404
(BasicFailedReply) The deployment template specified by {template_id} cannot be found.
Warning

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XGET {{hostname}}/api/v1/platform/configuration/templates/deployments/{template_id} \
-u $CLOUD_USER:$CLOUD_KEY

Set deployment template

Creates or updates a deployment template.

Request

PUT /api/v1/platform/configuration/templates/deployments/{template_id}

Path parameters

Name Type Required Description

template_id

string

Y

The identifier for the deployment template.

Query parameters

Name Type Required Description

create_only

boolean

N

If true, will fail if the deployment template already exists at the given id

version

integer

N

If specified, checks for conflicts against the version of the template (returned in 'x-cloud-resource-version' of the GET request)

Request body

(DeploymentTemplateInfo) (required) The deployment template definition.

Responses

200
(IdResponse) The deployment definition was valid and the template has been updated.
201
(IdResponse) The deployment definition was valid and the template was created.
400
(BasicFailedReply) The deployment definition contained errors.
404
(BasicFailedReply) The deployment template specified by {template_id} cannot be found.
409
(BasicFailedReply) The version supplied in the request conflicted with the version found on the server.
449
(BasicFailedReply) elevated permissions are required. (code: '"root.needs_elevated_permissions"')
Warning

To perform this operation, you must be authenticated by means of one of the following methods: apiKey, basicAuth.

Request example

curl -XPUT {{hostname}}/api/v1/platform/configuration/templates/deployments/{template_id} \
-u $CLOUD_USER:$CLOUD_KEY \
-H 'Content-Type: application/json' \
-d '
{
   "cluster_template" : {
      "apm" : {
         "name" : "string",
         "plan" : {
            "apm" : {
               "docker_image" : "string",
               "system_settings" : {
                  "debug_enabled" : "string",
                  "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_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
         },
         "zone_count" : 0
      },
      "settings" : {
         "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"
         }
      }
   },
   "description" : "string",
   "id" : "string",
   "instance_configurations" : [
      {
         "allocator_filter" : {
            "bool" : {
               "filter" : [
                  null
               ],
               "minimum_should_match" : 0,
               "must" : [
                  null
               ],
               "must_not" : [
                  null
               ],
               "should" : [
                  null
               ]
            },
            "exists" : {
               "field" : "string"
            },
            "match" : {
               "some_property" : {
                  "analyzer" : "string",
                  "minimum_should_match" : 0,
                  "operator" : "string",
                  "query" : "string"
               }
            },
            "match_all" : {},
            "nested" : {
               "path" : "string",
               "query" : null,
               "score_mode" : "string"
            },
            "prefix" : {
               "some_property" : {
                  "boost" : 0.1,
                  "value" : "string"
               }
            },
            "query_string" : {
               "allow_leading_wildcard" : true,
               "analyzer" : "string",
               "default_field" : "string",
               "default_operator" : "string",
               "query" : "string"
            },
            "range" : {
               "some_property" : {
                  "boost" : 0.1,
                  "format" : "string",
                  "gt" : {},
                  "gte" : {},
                  "lt" : {},
                  "lte" : {},
                  "time_zone" : "string"
               }
            },
            "term" : {
               "some_property" : {
                  "value" : {}
               }
            }
         },
         "deleted_on" : "2019-01-01T00:00:00Z",
         "description" : "string",
         "discrete_sizes" : {
            "default_size" : 0,
            "resource" : "string",
            "sizes" : [
               0
            ]
         },
         "id" : "string",
         "instance_type" : "string",
         "metadata" : {},
         "name" : "string",
         "node_types" : [
            "string"
         ],
         "storage_multiplier" : 0.1,
         "system_owned" : true
      }
   ],
   "metadata" : [
      {
         "key" : "string",
         "value" : "string"
      }
   ],
   "name" : "string",
   "order" : 0,
   "source" : {
      "action" : "string",
      "admin_id" : "string",
      "date" : "2019-01-01T00:00:00Z",
      "facilitator" : "string",
      "remote_addresses" : [
         "string"
      ],
      "user_id" : "string"
   },
   "system_owned" : true
}
'