Set deployment template

edit

Creates or updates a deployment template.

Request

edit

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

Path parameters

edit
Name Type Required Description

template_id

string

Y

The identifier for the deployment template.

Query parameters

edit
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

edit

(DeploymentTemplateInfo) (required) The deployment template definition.

Responses

edit
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.unauthorized.rbac.elevated_permissions_required"')

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

Request example

edit
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_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
         },
         "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"
         }
      }
   },
   "description" : "string",
   "hidden" : true,
   "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" : {},
            "match_none" : {},
            "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
}
'