Set deployment template

PUT /deployments/templates/{template_id}

Creates or updates a deployment template.

Path parameters

  • template_id string Required

    The identifier for the deployment template.

Query parameters

  • version string

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

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

    Default value is false.

  • If true, the deployment template definition will be validated but the template will not be updated.

    Default value is false.

  • region string Required

    Region of the deployment template

Body Required

The deployment template definition.

  • name string Required

    A human readable name for the template.

  • An optional description for the template.

  • deployment_template object Required

    A request for creating a new Deployment consisting of multiple clusters

    Additional properties are allowed.

    Hide deployment_template attributes Show deployment_template attributes object
    • name string

      A name for the deployment; otherwise this will be the generated deployment id

    • The Resources that will belong to this Deployment

      Additional properties are allowed.

      Hide resources attributes Show resources attributes object
      • elasticsearch array[object]

        A list of payloads for Elasticsearch cluster creation.

        Hide elasticsearch attributes Show elasticsearch attributes object
        • ref_id string Required

          A locally-unique user-specified id for this Elasticsearch cluster

        • The human readable name for the cluster (defaults to the generated cluster id if not specified)

        • region string Required

          The region where this resource exists

        • plan object Required

          The plan for building this Elasticsearch cluster

          Additional properties are allowed.

          Hide plan attributes Show plan attributes object
          • cluster_topology array[object] Required
            Hide cluster_topology attributes Show cluster_topology attributes object
            • id string

              Unique identifier of this topology element

            • Controls the combinations of Elasticsearch node types. TIP: By default, the Elasticsearch node is master eligible, can hold data, and run ingest pipelines. WARNING: Do not set for tiebreaker topologies.

              Additional properties are allowed.

              Hide node_type attributes Show node_type attributes object
              • master boolean

                Defines whether this node can be elected master (default: false)

              • data boolean

                Defines whether this node can hold data (default: false)

              • ingest boolean

                Defines whether this node can run an ingest pipeline (default: false)

              • ml boolean

                Defines whether this node can run ml jobs, valid only for versions 5.4.0 or greater (default: false)

            • node_roles array[string]

              The list of node roles for this topology element (ES version >= 7.10). Allowable values are: master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, transform

              Values are master, ingest, ml, data_hot, data_content, data_warm, data_cold, data_frozen, remote_cluster_client, or transform.

            • memory_per_node integer(int32)

              The memory capacity in MB for each node of this type built in each zone.

            • node_count_per_zone integer(int32)

              The number of nodes of this type that are allocated within each zone. (i.e. total capacity per zone = node_count_per_zone * memory_per_node in MB). Cannot be set for tiebreaker topologies. For dedicated master nodes, must be 1 if an entry exists.

            • zone_count integer(int32)

              The default number of zones in which data nodes will be placed

            • The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

              Additional properties are allowed.

              Hide elasticsearch attributes Show elasticsearch attributes object
              • version string

                The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

              • A docker URI that allows overriding of the default docker image specified for this version

              • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                  Additional properties are allowed.

                  Hide scripting attributes Show scripting attributes object
                  • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                  • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                  • stored object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide stored attributes Show stored attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • file object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide file attributes Show file attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                  • inline object

                    Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                    Additional properties are allowed.

                    Hide inline attributes Show inline attributes object
                    • enabled boolean

                      If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                    • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                • reindex_whitelist array[string]

                  Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

                • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

                • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

                • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

                • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

                • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

                • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

                • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

              • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

              • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

              • user_plugins array[object]

                A list of admin-uploaded plugin objects that are available for this user.

                Hide user_plugins attributes Show user_plugins attributes object
                • name string Required

                  The name of the plugin

                • url string Required

                  The URL of the plugin (must be accessible from the ECE infrastructure)

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • user_bundles array[object]

                A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

                Hide user_bundles attributes Show user_bundles attributes object
                • name string Required

                  The name of the bundle

                • url string Required

                  The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

                • elasticsearch_version string Required

                  The supported Elasticsearch version (must match the version in the plan)

              • curation object

                Defines the index curation routing for the cluster

                Additional properties are allowed.

                Hide curation attributes Show curation attributes object
              • Defines the Elasticsearch node attributes for the instances in the topology

                Hide node_attributes attribute Show node_attributes attribute object
                • * string Additional properties
            • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

            • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

            • size object

              Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

              Additional properties are allowed.

              Hide size attributes Show size attributes object
              • value integer(int32) Required

                Amount of resource

              • resource string Required

                Type of resource

                Values are memory or storage.

            • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

              Additional properties are allowed.

              Hide autoscaling_min attributes Show autoscaling_min attributes object
              • value integer(int32) Required

                Amount of resource

              • resource string Required

                Type of resource

                Values are memory or storage.

            • Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

              Additional properties are allowed.

              Hide autoscaling_max attributes Show autoscaling_max attributes object
              • value integer(int32) Required

                Amount of resource

              • resource string Required

                Type of resource

                Values are memory or storage.

            • An arbitrary JSON object overriding the default autoscaling policy. Don't set unless you really know what you are doing.

              Additional properties are allowed.

            • Controls for the topology element. Only used as part of the deployment template. Ignored if included as part of a deployment.

              Additional properties are allowed.

              Hide topology_element_control attribute Show topology_element_control attribute object
              • min object Required

                Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

                Additional properties are allowed.

                Hide min attributes Show min attributes object
                • value integer(int32) Required

                  Amount of resource

                • resource string Required

                  Type of resource

                  Values are memory or storage.

            • Set to true to enable autoscaling for this topology element, even if the cluster-level 'autoscaling_enabled' field is false. Note that 'autoscaling_tier_override' cannot be set to false if cluster-level 'autoscaling_enabled' is true. Currently only supported for the 'ml' tier

          • elasticsearch object Required

            The Elasticsearch cluster settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

            Additional properties are allowed.

            Hide elasticsearch attributes Show elasticsearch attributes object
            • version string

              The version of the Elasticsearch cluster (must be one of the ECE supported versions). Currently cannot be different across the topology (and is generally specified in the globals). Defaults to the latest version if not specified.

            • A docker URI that allows overriding of the default docker image specified for this version

            • A subset of Elasticsearch settings. TIP: To define the complete set of Elasticsearch settings, use ElasticsearchSystemSettings with user_settings_override* and user_settings*.

              Additional properties are allowed.

              Hide system_settings attributes Show system_settings attributes object
              • Controls the languages supported by the Elasticsearch cluster, such as Painless, Mustache, and Expressions. Controls how the languages are used, such as file, index, and inline. TIP: For complex configurations, leave these blank and configure these settings in the user YAML or JSON.

                Additional properties are allowed.

                Hide scripting attributes Show scripting attributes object
                • (5.x+ only) If enabled (the default) then the painless scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.painless.[file|stored|inline]')

                • (5.x+ only) If enabled (the default) then the mustache scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.mustache.[file|stored|inline]')

                • (5.x+ only) If enabled (the default) then the expressions scripting engine is allowed as a sandboxed language. Sandboxed languages are the only ones allowed if 'sandbox_mode' is set to true. NOTES: (Corresponds to the parameters 'script.engine.expression.[file|stored|inline]')

                • stored object

                  Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                  Additional properties are allowed.

                  Hide stored attributes Show stored attributes object
                  • enabled boolean

                    If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                  • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                • file object

                  Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                  Additional properties are allowed.

                  Hide file attributes Show file attributes object
                  • enabled boolean

                    If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                  • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

                • inline object

                  Enables scripting for the specified type and controls other parameters. Store scripts in indexes (stored), upload in file bundles (file), or use in API requests (inline).

                  Additional properties are allowed.

                  Hide inline attributes Show inline attributes object
                  • enabled boolean

                    If enabled (default: true) then scripts are enabled, either for sandboxing languages (by default), or for all installed languages if 'sandbox_mode' is disabled (or for 6.x). NOTES: (Corresponds to the parameter 'script.file|stored/indexed|inline')

                  • If enabled (default: true) and this script type is enabled, then only the sandbox languages are allowed. By default the sandbox languages are painless, expressions and mustache, but this can be restricted via the 'painless_enabled', 'mustache_enabled' 'expression_enabled' settings.NOTES: Not supported in 6.x. (Corresponds to the parameters 'script.engine.[painless|mustache|expressions].[file|stored|inline]')

              • reindex_whitelist array[string]

                Limits remote Elasticsearch clusters that can be used as the source for '_reindex' API commands

              • If true (the default), then any write operation on an index that does not currently exist will create it. NOTES: (Corresponds to the parameter 'action.auto_create_index')

              • Defaults to false on versions <= 7.2.0, true otherwise. If false, then the API commands to close indices are disabled. This is important because Elasticsearch does not snapshot or migrate close indices on versions under 7.2.0, therefore standard Elastic Cloud configuration operations will cause irretrievable loss of indices' data. NOTES: (Corresponds to the parameter 'cluster.indices.close.enable')

              • If true (default is false) then the index deletion API will not support wildcards or '_all'. NOTES: (Corresponds to the parameter 'action.destructive_requires_name')

              • The trigger engine for Watcher, defaults to 'scheduler' - see the xpack documentation for more information. NOTES: (Corresponds to the parameter '(xpack.)watcher.trigger.schedule.engine', depending on version. Ignored from 6.x onwards.)

              • (2.x only - to get the same result in 5.x template mappings must be used) Sets the default number of shards per index, defaulting to 1 if not specified. (Corresponds to the parameter 'index.number_of_shards' in 2.x, not supported in 5.x)

              • The default interval at which monitoring information from the cluster if collected, if monitoring is enabled. NOTES: (Corresponds to the parameter 'marvel.agent.interval' in 2.x and 'xpack.monitoring.collection.interval' in 5.x)

              • The duration for which monitoring history is stored (format '(NUMBER)d' eg '3d' for 3 days). NOTES: ('Corresponds to the parameter xpack.monitoring.history.duration' in 5.x, defaults to '7d')

            • An arbitrary JSON object allowing cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters arey are on the allowlist and not on the denylist. NOTES: (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Elasticsearch settings)

            • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. NOTES: (This field together with 'system_settings' and 'user_settings*' defines the total set of Elasticsearch settings)

            • A list of plugin names from the Elastic-supported subset that are bundled with the version images. NOTES: (Users should consult the Elastic stack objects to see what plugins are available, this is currently only available from the UI)

            • user_plugins array[object]

              A list of admin-uploaded plugin objects that are available for this user.

              Hide user_plugins attributes Show user_plugins attributes object
              • name string Required

                The name of the plugin

              • url string Required

                The URL of the plugin (must be accessible from the ECE infrastructure)

              • elasticsearch_version string Required

                The supported Elasticsearch version (must match the version in the plan)

            • user_bundles array[object]

              A list of admin-uploaded bundle objects (eg scripts, synonym files) that are available for this user.

              Hide user_bundles attributes Show user_bundles attributes object
              • name string Required

                The name of the bundle

              • url string Required

                The URL of the bundle, which must be accessible from the ECE infrastructure. This URL could be cached by platform, make sure to change it when updating the bundle

              • elasticsearch_version string Required

                The supported Elasticsearch version (must match the version in the plan)

            • curation object

              Defines the index curation routing for the cluster

              Additional properties are allowed.

              Hide curation attributes Show curation attributes object
            • Defines the Elasticsearch node attributes for the instances in the topology

              Hide node_attributes attribute Show node_attributes attribute object
              • * string Additional properties
          • Documents which deployment template was used in the creation of this plan

            Additional properties are allowed.

            Hide deployment_template attributes Show deployment_template attributes object
            • id string Required

              The unique identifier of the deployment template

            • version string

              A version identifier to disambiguate multiple revisions of the same template

          • Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Elasticsearch settings.

            Additional properties are allowed.

            Hide transient attributes Show transient attributes object
            • strategy object

              The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

              Additional properties are allowed.

              Hide strategy attributes Show strategy attributes object
              • rolling object

                Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                Additional properties are allowed.

                Hide rolling attributes Show rolling attributes object
                • group_by string

                  Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                • shard_init_wait_time integer(int64)

                  The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

              • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                Additional properties are allowed.

              • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                Additional properties are allowed.

              • A strategy that lets constructor choose the most optimal way to execute the plan.

                Additional properties are allowed.

            • The configuration settings for the timeout and fallback parameters.

              Additional properties are allowed.

              Hide plan_configuration attributes Show plan_configuration attributes object
              • timeout integer(int64)

                The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB). NOTES: A 3 zone cluster with 2 nodes of 2048 each would have a timeout of 4*2048=8192 seconds. Timeout does not include time required to run rollback actions.

              • calm_wait_time integer(int64)

                This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

              • move_instances array[object]
                Hide move_instances attributes Show move_instances attributes object
                • from string Required

                  The instance id that is going to be moved

                • to array[string]

                  An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

              • move_allocators array[object]
                Hide move_allocators attributes Show move_allocators attributes object
                • from string Required

                  The allocator id off which all instances in the cluster should be moved

                • to array[string]

                  An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

              • move_only boolean

                If true (default: false) only move_instances and move_allocators instructions will be executed, all other changes will be ignored

              • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

              • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

              • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                • * string Additional properties
              • If true (default: false), does not take (or require) a successful snapshot to be taken before performing any potentially destructive changes to this cluster

              • If taking a snapshot (ie unless 'skip_snapshots': true) then will retry on failure at most this number of times (default: 5)

              • max_snapshot_age integer(int64)

                When you take a snapshot and 'skip_snapshots' is false, specifies the maximum age in seconds of the most recent snapshot before a new snapshot is created. Default is 300

              • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

              • Set to 'forced' to force a reboot as part of the upgrade plan. NOTES: (ie taking an existing plan and leaving it alone except for setting 'transient.plan_configuration.cluster_reboot': 'forced' will reboot the cluster)

                Value is forced.

              • If false (the default) then the plan will fail out if it believes the requested sequence of operations can result in data loss - this flag will override some of these restraints

              • If true (default: false) then the plan will not wait for data to be migrated from old instances to new instances before continuing the plan (potentially deleting the old instances and losing data)

              • If false, the cluster is checked for issues that should be resolved before migration (eg contains old Lucene segments), if true this is bypassed

              • If false (the default), the cluster will run (currently) 2.x->5.x operations for any plan change ending with a 5.x cluster (eg apply a cluster license, ensure Monitoring is configured)

              • If false (the default), the cluster will perform a snapshot after a major version upgrade takes place

            • Restores a snapshot from a local or remote repository.

              Additional properties are allowed.

              Hide restore_snapshot attributes Show restore_snapshot attributes object
              • If specified, contains the name of the snapshot repository - else will default to the Elastic Cloud system repo ('found-snapshots')

              • snapshot_name string Required

                The name of the snapshot to restore. Use '__latest_success__' to get the most recent snapshot from the specified repository

              • Raw remote snapshot restore settings. Do not send this if you are sending source_cluster_id

                Additional properties are allowed.

                Hide repository_config attribute Show repository_config attribute object
                • The remote snapshot settings raw JSON - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                  Additional properties are allowed.

              • The configuration for the restore command, such as which indices you want to restore.

                Additional properties are allowed.

                Hide restore_payload attributes Show restore_payload attributes object
                • indices array[string]

                  The list of indices to restore (supports +ve and -ve selection and wildcarding - see the default Elasticsearch index format documentation)

                • This JSON object (merged with the 'indices' field (if present) is passed untouched into the restore command - see the Elasticsearch '_snapshot' documentation for more details on supported formats

                  Additional properties are allowed.

              • strategy string

                The restore strategy to use. Defaults to a full restore. Partial restore will attempt to restore unavailable indices only

                Values are partial, full, or recovery.

              • If specified, contains the name of the source cluster id. Do not send this if you are sending repository_config

            • The list of resources that will be configured as remote clusters

              Additional properties are allowed.

              Hide remote_clusters attribute Show remote_clusters attribute object
              • resources array[object] Required

                The remote resources

                Hide resources attributes Show resources attributes object
                • deployment_id string Required

                  The id of the deployment

                • elasticsearch_ref_id string Required

                  The locally-unique user-specified id of an Elasticsearch Resource

                • alias string Required

                  The alias for this remote cluster. Aliases must only contain letters, digits, dashes and underscores

                • If true, skip this cluster during search if it is disconnected. Default: false

            • If specified, contains transient settings to be applied to an Elasticsearch cluster during changes,default values shown below applied. These can be overridden by specifying them in the map (or null to unset). Additional settings can also be set. Settings will be cleared after the plan has finished. If not specified, no settings will be applied. NOTE: These settings are only explicitly cleared for 5.x+ clusters, they must be hand-reset to their defaults in 2.x- (or a cluster reboot will clear them).

              • indices.store.throttle.max_bytes_per_sec: 120Mb
              • indices.recovery.max_bytes_per_sec: 120Mb
              • cluster.routing.allocation.cluster_concurrent_rebalance: 5
              • cluster.routing.allocation.node_initial_primaries_recoveries: 5
              • cluster.routing.allocation.node_concurrent_incoming_recoveries: 5 For version 8.1 and later no defaults are provided through this mechanism, but instead hardware dependent settings are provided to each instance.

              Additional properties are allowed.

          • Enable autoscaling for this Elasticsearch cluster.

        • settings object

          The settings for building this Elasticsearch cluster

          Additional properties are allowed.

          Hide settings attributes Show settings attributes object
          • snapshot object

            The snapshot settings for this deployment. When provided, snapshot settings are changed as specified. A null value reverts the field to the default value. Otherwise, all snapshot settings remain as they were set previously.

            Additional properties are allowed.

            Hide snapshot attributes Show snapshot attributes object
            • Snapshot repository configuration

              Additional properties are allowed.

              Hide repository attributes Show repository attributes object
              • static object

                Cluster snapshot static repository settings, containing repository type and settings

                Additional properties are allowed.

                Hide static attributes Show static attributes object
                • Type of snapshot repository, ie: S3

                • settings object

                  Settings associated with snapshot repository

                  Additional properties are allowed.

              • Cluster snapshot reference repository settings, containing the repository name in ECE fashion

                Additional properties are allowed.

                Hide reference attribute Show reference attribute object
                • ECE snapshot repository name, from the '/platform/configuration/snapshots/repositories' endpoint

              • default object

                Cluster snapshot default repository settings

                Additional properties are allowed.

            • interval string

              Interval between snapshots, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute). Default is 30 minutes

            • Interval between snapshot progress checks, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute). Default is 1 minute

            • The time to wait between snapshot phases (snapshot, purge), with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute). Default is 10 minutes

            • enabled boolean

              Indicates if Snapshotting is enabled

            • suspended array[string]

              List of temporary snapshot suspensions

            • Cluster snapshot retention information

              Additional properties are allowed.

              Hide retention attributes Show retention attributes object
              • snapshots integer(int32)

                Number of snapshots to retain

              • max_age string

                Total retention period for all snapshots, with the format 'length unit' (space is optional), where unit can be one of: d (day), h (hour), min (minute)

            • Cron expression indicating when should snapshots be taken. This can be enabled only if SLM is enabled for the deployment and 'interval' is not present

          • The monitoring settings for this deployment. When provided, monitoring settings are changed as specified. A null value reverts the field to the default value. Otherwise, all monitoring settings remain as they were set previously.

            Additional properties are allowed.

            Hide monitoring attribute Show monitoring attribute object
            • target_cluster_id string Required

              The Id of the target cluster to which to send monitoring information

          • metadata object

            The top-level configuration settings for the Elasticsearch cluster.

            Additional properties are allowed.

            Hide metadata attributes Show metadata attributes object
            • name string

              The display name of the cluster

            • owner_id string

              The user id (referencing whatever user database is in use) of the cluster owner

            • Subscription level of the cluster

            • Indicates if a cluster is system owned (restricts the set of operations that can be performed on it)

            • Contact email for the cluster

            • The top-level configuration settings for the Elasticsearch cluster resources.

              Additional properties are allowed.

              Hide resources attribute Show resources attribute object
              • cpu object

                Specifies the CPU resource settings for the Elasticsearch cluster.

                Additional properties are allowed.

                Hide cpu attributes Show cpu attributes object
                • boost boolean

                  Indicates if the CPU boost flag is enabled or not.

                • hard_limit boolean

                  Indicates if the CPU hard limit flag is enabled or not. When set to true (default), allocates CPU timeshare based on the total CPU time multiplied by the relative RAM capacity of the instance on a given host. When set to false, delegates CPU allocation to the operating system to schedule CPU timeshares.

          • curation object

            The curation settings for this deployment. When provided, curation settings are changed as specified. A null value reverts the field to the default value. Otherwise, all curation settings remain as they were set previously.

            Additional properties are allowed.

            Hide curation attribute Show curation attribute object
            • specs array[object] Required

              Specifications for curation

              Hide specs attributes Show specs attributes object
          • Threshold starting from which the number of instances in the cluster results in the introduction of dedicated masters. If the cluster is downscaled to a number of nodes below this one, dedicated masters will be removed. Limit is inclusive. When provided the threshold setting is updated. A null value removes the field. Otherwise, the setting remains as it was set previously.

          • The rulesets to apply to all resources in this cluster. When specified, the set of rulesets is updated and the same rulesets will be applied to Kibana and APM clusters as well. If not specified, the rulesets remain as they were set previously.

            Additional properties are allowed.

            Hide traffic_filter attribute Show traffic_filter attribute object
            • rulesets array[string] Required

              IDs of the traffic filter rulesets

          • trust object

            Configuration of trust with other clusters. When provided, trust settings are changed as specified. A null value reverts the field to the default value. Otherwise, all trust settings remain as they were set previously.

            Additional properties are allowed.

            Hide trust attributes Show trust attributes object
            • accounts array[object]

              The list of trust relationships with different accounts

              Hide accounts attributes Show accounts attributes object
              • account_id string Required

                the ID of the Account

              • name string

                A human readable name of the trust relationship

              • trust_all boolean Required

                If true, all clusters in this account will by default be trusted and the trust_allowlist is ignored.

              • trust_allowlist array[string]

                The list of clusters to trust. Only used when trust_all is false.

            • external array[object]

              The list of trust relationships with external entities

              Hide external attributes Show external attributes object
              • trust_relationship_id string Required

                The ID of the external trust relationship

              • name string

                The name of the external trust relationship. Retrieved from the TrustRelationship and ignored on write.

              • trust_all boolean Required

                If true, all clusters in this external entity will be trusted and the trust_allowlist is ignored.

              • trust_allowlist array[string]

                The list of clusters to trust. Only used when trust_all is false.

            • direct array[object]

              The list of trust relationships where the certificate is bundled with the trust setting. Allows configuring trust for clusters running outside of an Elastic Cloud managed environment or in an Elastic Cloud environment without an environment level trust established.

              Hide direct attributes Show direct attributes object
              • uid string

                Auto generated identifier for this trust, allows distinguishing between update vs remove and add.

              • name string Required

                a human readable name of the trust relationship

              • type string

                The type can either be ESS, ECE, generic or proxy. If none is specified, then generic is assumed. If proxy is specified, trust_all should be false and trust_allowlist, scope_id and additional_node_names should be omitted.

                Values are ECE, ESS, generic, or proxy.

              • trust_all boolean Required

                If true, scope_id is required and the trust_allowlist is ignored and all clusters matching the scope id will be trusted.

              • trust_allowlist array[string]

                The list of clusters with matching scope to trust. Only used when trust_all is false. Providing one or more clusters makes scope_id mandatory.

              • scope_id string

                A lowercase alphanumerical string of max 32 characters. Usually an organization id or an environment id, but could really be any suitable suffix for clusters using the CA certificate of this trust. Required unless trust_all is false and trust_allowlist is empty.

              • A list of node names trusted in addition to those deducible from trust_allowlist and scope id. Allows trusting nodes that don't have a scoped name at the cost of maintaining the list. Mandatory if scope id is not defined. Wildcards are not allowed.

              • certificates array[object] Required

                The public ca certificate(s) to trust. Only one is required, but it is possible to specify multiple certificates in order to facilitate key rotation.

                Hide certificates attribute Show certificates attribute object
                • pem string Required

                  The public ca certificate as string in PEM format.

          • The contents of the Elasticsearch keystore. It's a write only field.

            Additional properties are allowed.

            Hide keystore_contents attribute Show keystore_contents attribute object
            • secrets object Required

              List of secrets

              Hide secrets attribute Show secrets attribute object
              • * object Additional properties

                The value that you configure for the Elasticsearch keystore secret.

                Additional properties are allowed.

                Hide * attributes Show * attributes object
                • value object

                  Value of this setting. This can either be a string or a JSON object that is stored as a JSON string in the keystore. NOTE: When the keystore secret is unspecified, it is removed.

                  Additional properties are allowed.

                • as_file boolean

                  Stores the keystore secret as a file. The default is false, which stores the keystore secret as string when value is a plain string, or true when value is an object.

      • kibana array[object]

        A list of payloads for Kibana creation.

        Hide kibana attributes Show kibana attributes object
        • ref_id string Required

          A locally-unique user-specified id for Kibana

        • Alias to the Elasticsearch Cluster to attach Kibana to

        • The human readable name for the Kibana cluster (default: takes the name of its Elasticsearch cluster)

        • region string Required

          The region where this resource exists

        • plan object Required

          The plan for the Kibana instance.

          Additional properties are allowed.

          Hide plan attributes Show plan attributes object
          • cluster_topology array[object]
            Hide cluster_topology attributes Show cluster_topology attributes object
            • memory_per_node integer(int32)

              The memory capacity in MB for each node of this type built in each zone.

            • node_count_per_zone integer(int32)

              The number of nodes of this type that are allocated within each zone (i.e. total capacity per zone = node_count_per_zone * memory_per_node in MB).

            • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

            • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

            • size object

              Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

              Additional properties are allowed.

              Hide size attributes Show size attributes object
              • value integer(int32) Required

                Amount of resource

              • resource string Required

                Type of resource

                Values are memory or storage.

            • zone_count integer(int32)

              number of zones in which nodes will be placed

            • kibana object

              The Kibana instance settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

              Additional properties are allowed.

              Hide kibana attributes Show kibana attributes object
              • version string

                The version of the Kibana cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

              • A docker URI that allows overriding of the default docker image specified for this version

              • A subset of Kibana settings. TIP: To define the complete set of Elasticsearch settings, use KibanaSystemSettings with user_settings_override_ and user_settings_.

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • DEPRECATED: Scheduled for removal in a future version of the API.

                  Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

              • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

          • kibana object Required

            The Kibana instance settings. When specified at the top level, provides a field-by-field default. When specified at the topology level, provides the override settings.

            Additional properties are allowed.

            Hide kibana attributes Show kibana attributes object
            • version string

              The version of the Kibana cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

            • A docker URI that allows overriding of the default docker image specified for this version

            • A subset of Kibana settings. TIP: To define the complete set of Elasticsearch settings, use KibanaSystemSettings with user_settings_override_ and user_settings_.

              Additional properties are allowed.

              Hide system_settings attributes Show system_settings attributes object
              • DEPRECATED: Scheduled for removal in a future version of the API.

                Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

              • Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

              • Optionally override the account within Elasticsearch - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

            • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Kibana settings)

            • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Kibana settings)

          • Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Kibana instance settings.

            Additional properties are allowed.

            Hide transient attributes Show transient attributes object
            • strategy object

              The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

              Additional properties are allowed.

              Hide strategy attributes Show strategy attributes object
              • rolling object

                Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                Additional properties are allowed.

                Hide rolling attributes Show rolling attributes object
                • group_by string

                  Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                • shard_init_wait_time integer(int64)

                  The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

              • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                Additional properties are allowed.

              • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                Additional properties are allowed.

              • A strategy that lets constructor choose the most optimal way to execute the plan.

                Additional properties are allowed.

            • The configuration settings for the timeout and fallback parameters.

              Additional properties are allowed.

              Hide plan_configuration attributes Show plan_configuration attributes object
              • timeout integer(int64)

                The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

              • calm_wait_time integer(int64)

                This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

              • move_instances array[object]
                Hide move_instances attributes Show move_instances attributes object
                • from string Required

                  The instance id that is going to be moved

                • to array[string]

                  An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

              • move_allocators array[object]
                Hide move_allocators attributes Show move_allocators attributes object
                • from string Required

                  The allocator id off which all instances in the cluster should be moved

                • to array[string]

                  An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

              • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

              • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

              • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                • * string Additional properties
              • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

              • Set to 'forced' to force a reboot as part of the upgrade plan

                Value is forced.

              • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

        • settings object

          The settings for building this Kibana cluster

          Additional properties are allowed.

          Hide settings attribute Show settings attribute object
          • metadata object

            The top-level configuration settings for the Elasticsearch cluster.

            Additional properties are allowed.

            Hide metadata attributes Show metadata attributes object
            • name string

              The display name of the cluster

            • owner_id string

              The user id (referencing whatever user database is in use) of the cluster owner

            • Subscription level of the cluster

            • Indicates if a cluster is system owned (restricts the set of operations that can be performed on it)

            • Contact email for the cluster

            • The top-level configuration settings for the Elasticsearch cluster resources.

              Additional properties are allowed.

              Hide resources attribute Show resources attribute object
              • cpu object

                Specifies the CPU resource settings for the Elasticsearch cluster.

                Additional properties are allowed.

                Hide cpu attributes Show cpu attributes object
                • boost boolean

                  Indicates if the CPU boost flag is enabled or not.

                • hard_limit boolean

                  Indicates if the CPU hard limit flag is enabled or not. When set to true (default), allocates CPU timeshare based on the total CPU time multiplied by the relative RAM capacity of the instance on a given host. When set to false, delegates CPU allocation to the operating system to schedule CPU timeshares.

      • apm array[object]

        A list of payloads for APM creation. WARNING: For stack versions 8.0.0 and higher the integrations_server payload should be used instead, as this field becomes deprecated.

        Hide apm attributes Show apm attributes object
        • ref_id string Required

          A locally-unique user-specified id for APM

        • Alias to the Elasticsearch Cluster to attach APM to

        • The human readable name for the APM cluster (default: takes the name of its Elasticsearch cluster)

        • region string Required

          The region where this resource exists

        • plan object Required

          The plan for the APM Server.

          Additional properties are allowed.

          Hide plan attributes Show plan attributes object
          • cluster_topology array[object]
            Hide cluster_topology attributes Show cluster_topology attributes object
            • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

            • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

            • size object

              Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

              Additional properties are allowed.

              Hide size attributes Show size attributes object
              • value integer(int32) Required

                Amount of resource

              • resource string Required

                Type of resource

                Values are memory or storage.

            • zone_count integer(int32)

              number of zones in which nodes will be placed

            • apm object

              The configuration options for the APM Server.

              Additional properties are allowed.

              Hide apm attributes Show apm attributes object
              • version string

                The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

              • A docker URI that allows overriding of the default docker image specified for this version

              • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • DEPRECATED: Scheduled for removal in a future version of the API.

                  Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • DEPRECATED: Scheduled for removal in a future version of the API.

                  Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within APM - defaults to the previously existing secretToken

                • Optionally enable debug mode for APM servers - defaults false

              • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

          • apm object Required

            The configuration options for the APM Server.

            Additional properties are allowed.

            Hide apm attributes Show apm attributes object
            • version string

              The version of the Apm cluster (must be one of the ECE supported versions, and won't work unless it matches the APM version. Leave blank to auto-detect version.)

            • A docker URI that allows overriding of the default docker image specified for this version

            • A structure that defines a curated subset of the APM Server settings. TIP: To define the complete set of APM Server setting, use ApmSystemSettings with user_settings_override_ and user_settings_.

              Additional properties are allowed.

              Hide system_settings attributes Show system_settings attributes object
              • DEPRECATED: Scheduled for removal in a future version of the API.

                Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

              • DEPRECATED: Scheduled for removal in a future version of the API.

                Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

              • Optionally override the account within APM - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

              • Optionally override the account within APM - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

              • Optionally override the secret token within APM - defaults to the previously existing secretToken

              • Optionally enable debug mode for APM servers - defaults false

            • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Apm settings)

            • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Apm settings)

          • Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and APM Server settings.

            Additional properties are allowed.

            Hide transient attributes Show transient attributes object
            • strategy object

              The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

              Additional properties are allowed.

              Hide strategy attributes Show strategy attributes object
              • rolling object

                Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                Additional properties are allowed.

                Hide rolling attributes Show rolling attributes object
                • group_by string

                  Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                • shard_init_wait_time integer(int64)

                  The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

              • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                Additional properties are allowed.

              • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                Additional properties are allowed.

              • A strategy that lets constructor choose the most optimal way to execute the plan.

                Additional properties are allowed.

            • The plan control configuration options for the APM Server.

              Additional properties are allowed.

              Hide plan_configuration attributes Show plan_configuration attributes object
              • timeout integer(int64)

                The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

              • calm_wait_time integer(int64)

                This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

              • move_instances array[object]
                Hide move_instances attributes Show move_instances attributes object
                • from string Required

                  The instance id that is going to be moved

                • to array[string]

                  An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

              • move_allocators array[object]
                Hide move_allocators attributes Show move_allocators attributes object
                • from string Required

                  The allocator id off which all instances in the cluster should be moved

                • to array[string]

                  An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

              • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

              • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

              • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                • * string Additional properties
              • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

              • Set to 'forced' to force a reboot as part of the upgrade plan

                Value is forced.

              • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

        • settings object

          The settings for building this APM cluster

          Additional properties are allowed.

          Hide settings attribute Show settings attribute object
          • metadata object

            The top-level configuration settings for the Elasticsearch cluster.

            Additional properties are allowed.

            Hide metadata attributes Show metadata attributes object
            • name string

              The display name of the cluster

            • owner_id string

              The user id (referencing whatever user database is in use) of the cluster owner

            • Subscription level of the cluster

            • Indicates if a cluster is system owned (restricts the set of operations that can be performed on it)

            • Contact email for the cluster

            • The top-level configuration settings for the Elasticsearch cluster resources.

              Additional properties are allowed.

              Hide resources attribute Show resources attribute object
              • cpu object

                Specifies the CPU resource settings for the Elasticsearch cluster.

                Additional properties are allowed.

                Hide cpu attributes Show cpu attributes object
                • boost boolean

                  Indicates if the CPU boost flag is enabled or not.

                • hard_limit boolean

                  Indicates if the CPU hard limit flag is enabled or not. When set to true (default), allocates CPU timeshare based on the total CPU time multiplied by the relative RAM capacity of the instance on a given host. When set to false, delegates CPU allocation to the operating system to schedule CPU timeshares.

      • appsearch array[object]

        A list of payloads for AppSearch updates. AppSearch has been replaced by Enterprise Search in the Elastic Stack 7.7 and higher.

        Hide appsearch attributes Show appsearch attributes object
        • ref_id string Required

          A locally-unique user-specified id for AppSearch

        • Alias to the Elasticsearch Cluster to attach AppSearch to

        • The human readable name for the AppSearch cluster (default: takes the name of its Elasticsearch cluster)

        • region string Required

          The region where this resource exists

        • plan object Required

          The plan for the App Search cluster.

          Additional properties are allowed.

          Hide plan attributes Show plan attributes object
          • cluster_topology array[object]
            Hide cluster_topology attributes Show cluster_topology attributes object
            • Defines the AppSearch node type

              Additional properties are allowed.

              Hide node_type attributes Show node_type attributes object
              • appserver boolean Required

                Defines whether this instance should run as Application/API server

              • worker boolean Required

                Defines whether this instance should run as background worker

            • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

            • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

            • size object

              Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

              Additional properties are allowed.

              Hide size attributes Show size attributes object
              • value integer(int32) Required

                Amount of resource

              • resource string Required

                Type of resource

                Values are memory or storage.

            • zone_count integer(int32)

              number of zones in which nodes will be placed

            • Additional properties are allowed.

              Hide appsearch attributes Show appsearch attributes object
              • version string

                The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

              • A docker URI that allows overriding of the default docker image specified for this version

              • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

              • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

          • appsearch object Required

            Additional properties are allowed.

            Hide appsearch attributes Show appsearch attributes object
            • version string

              The version of the AppSearch cluster (must be one of the ECE supported versions, and won't work unless it matches the Elasticsearch version. Leave blank to auto-detect version.)

            • A docker URI that allows overriding of the default docker image specified for this version

            • This structure defines a curated subset of the AppSearch settings. (This field together with 'user_settings_override*' and 'user_settings*' defines the total set of AppSearch settings)

              Additional properties are allowed.

              Hide system_settings attributes Show system_settings attributes object
              • Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

              • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

              • Optionally override the account within App Search - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

              • Optionally override the secret session key within App Search - defaults to the previously existing secretSession. Note that this field is never returned from the API, it is write only.

            • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of AppSearch settings)

            • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of AppSearch settings)

          • Defines configuration parameters that control how the plan (ie consisting of the cluster topology and AppSearch settings) is applied

            Additional properties are allowed.

            Hide transient attributes Show transient attributes object
            • strategy object

              The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

              Additional properties are allowed.

              Hide strategy attributes Show strategy attributes object
              • rolling object

                Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                Additional properties are allowed.

                Hide rolling attributes Show rolling attributes object
                • group_by string

                  Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                • shard_init_wait_time integer(int64)

                  The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

              • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                Additional properties are allowed.

              • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                Additional properties are allowed.

              • A strategy that lets constructor choose the most optimal way to execute the plan.

                Additional properties are allowed.

            • Additional properties are allowed.

              Hide plan_configuration attributes Show plan_configuration attributes object
              • timeout integer(int64)

                The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

              • calm_wait_time integer(int64)

                This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

              • move_instances array[object]
                Hide move_instances attributes Show move_instances attributes object
                • from string Required

                  The instance id that is going to be moved

                • to array[string]

                  An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

              • move_allocators array[object]
                Hide move_allocators attributes Show move_allocators attributes object
                • from string Required

                  The allocator id off which all instances in the cluster should be moved

                • to array[string]

                  An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

              • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

              • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

              • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                • * string Additional properties
              • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

              • Set to 'forced' to force a reboot as part of the upgrade plan

                Value is forced.

              • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

        • settings object

          The settings for building this AppSearch cluster

          Additional properties are allowed.

          Hide settings attribute Show settings attribute object
          • metadata object

            The top-level configuration settings for the Elasticsearch cluster.

            Additional properties are allowed.

            Hide metadata attributes Show metadata attributes object
            • name string

              The display name of the cluster

            • owner_id string

              The user id (referencing whatever user database is in use) of the cluster owner

            • Subscription level of the cluster

            • Indicates if a cluster is system owned (restricts the set of operations that can be performed on it)

            • Contact email for the cluster

            • The top-level configuration settings for the Elasticsearch cluster resources.

              Additional properties are allowed.

              Hide resources attribute Show resources attribute object
              • cpu object

                Specifies the CPU resource settings for the Elasticsearch cluster.

                Additional properties are allowed.

                Hide cpu attributes Show cpu attributes object
                • boost boolean

                  Indicates if the CPU boost flag is enabled or not.

                • hard_limit boolean

                  Indicates if the CPU hard limit flag is enabled or not. When set to true (default), allocates CPU timeshare based on the total CPU time multiplied by the relative RAM capacity of the instance on a given host. When set to false, delegates CPU allocation to the operating system to schedule CPU timeshares.

      • integrations_server array[object]

        A list of payloads for Integrations Server creation.

        Hide integrations_server attributes Show integrations_server attributes object
        • ref_id string Required

          A locally-unique user-specified id for the Integrations Server

        • Alias to the Elasticsearch Cluster to attach the Integrations Server to

        • The human readable name for the Integrations Server cluster (default: takes the name of its Elasticsearch cluster)

        • region string Required

          The region where this resource exists

        • plan object Required

          The plan for the Integrations Server.

          Additional properties are allowed.

          Hide plan attributes Show plan attributes object
          • cluster_topology array[object]
            Hide cluster_topology attributes Show cluster_topology attributes object
            • Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the id of an existing instance configuration.

            • The version of the Instance Configuration Id. If it is unset, the meaning depends on read vs writes. For deployment reads, it is equivalent to version 0 (or the IC is unversioned); for deployment creates and deployment template use, it is equivalent to 'the latest version'; and for deployment updates, it is equivalent to 'retain the current version'.

            • size object

              Measured by the amount of a resource. The final cluster size is calculated using multipliers from the topology instance configuration.

              Additional properties are allowed.

              Hide size attributes Show size attributes object
              • value integer(int32) Required

                Amount of resource

              • resource string Required

                Type of resource

                Values are memory or storage.

            • zone_count integer(int32)

              number of zones in which nodes will be placed

            • The configuration options for the Integrations Server.

              Additional properties are allowed.

              Hide integrations_server attributes Show integrations_server attributes object
              • version string

                The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

              • A docker URI that allows overriding of the default docker image specified for this version

              • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

                Additional properties are allowed.

                Hide system_settings attributes Show system_settings attributes object
                • DEPRECATED: Scheduled for removal in a future version of the API.

                  Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • DEPRECATED: Scheduled for removal in a future version of the API.

                  Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

                • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

                • Optionally enable debug mode for Integrations Server - defaults false

              • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server settings)

              • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

                Additional properties are allowed.

              • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              • mode string

                The mode the Integrations Server is operating in.

                Values are standalone or managed.

          • integrations_server object Required

            The configuration options for the Integrations Server.

            Additional properties are allowed.

            Hide integrations_server attributes Show integrations_server attributes object
            • version string

              The version of the Integrations Server cluster (must be one of the ECE supported versions, and won't work unless it matches the Integrations Server version. Leave blank to auto-detect version.)

            • A docker URI that allows overriding of the default docker image specified for this version

            • A structure that defines a curated subset of the Integrations Server settings. TIP: To define the complete set of Integrations Server setting, use IntegrationsSystemSettings with user_settings_override_ and user_settings_.

              Additional properties are allowed.

              Hide system_settings attributes Show system_settings attributes object
              • DEPRECATED: Scheduled for removal in a future version of the API.

                Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

              • DEPRECATED: Scheduled for removal in a future version of the API.

                Optionally override the URL to which to send data (for advanced users only, if unspecified the system selects an internal URL)

              • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the password must also be specified). Note that this field is never returned from the API, it is write only.

              • Optionally override the account within Integrations Server - defaults to a system account that always exists (if specified, the username must also be specified). Note that this field is never returned from the API, it is write only.

              • Optionally override the secret token within Integrations Server - defaults to the previously existing secretToken

              • Optionally enable debug mode for Integrations Server - defaults false

            • An arbitrary JSON object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_yaml' is allowed), provided the parameters are on the allowlist and not on the denylist. (This field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing (non-admin) cluster owners to set their parameters (only one of this and 'user_settings_json' is allowed), provided the parameters are on the allowlist and not on the denylist. (These field together with 'user_settings_override*' and 'system_settings' defines the total set of Integrations Server settings)

            • An arbitrary JSON object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_yaml' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

              Additional properties are allowed.

            • An arbitrary YAML object allowing ECE admins owners to set clusters' parameters (only one of this and 'user_settings_override_json' is allowed), ie in addition to the documented 'system_settings'. (This field together with 'system_settings' and 'user_settings*' defines the total set of Integrations Server settings)

            • mode string

              The mode the Integrations Server is operating in.

              Values are standalone or managed.

          • Defines the configuration parameters that control how the plan is applied. For example, the Elasticsearch cluster topology and Integrations Server settings.

            Additional properties are allowed.

            Hide transient attributes Show transient attributes object
            • strategy object

              The options for performing a plan change. Specify only one property each time. The default is grow_and_shrink.

              Additional properties are allowed.

              Hide strategy attributes Show strategy attributes object
              • rolling object

                Performs inline, rolling configuration changes that mutate existing containers. TIP: This is the fastest way to update a plan, but can fail for complex plan changes, such as topology changes. Also, this is less safe for configuration changes that leave a cluster in a non running state. NOTE: When you perform a major version upgrade, and 'group_by' is set to 'pass:macros[all]';, rolling is required.

                Additional properties are allowed.

                Hide rolling attributes Show rolling attributes object
                • group_by string

                  Specifies the grouping attribute to use when rolling several instances. Instances that share the same value for the provided attribute key are rolled together as a unit. Examples that make sense to use are '__all__' (roll all instances as a single unit), 'logical_zone_name' (roll instances by zone), '__name__' (roll one instance at a time, the default if not specified). Note that '__all__' is required when performing a major version upgrade

                • Whether we allow changing the capacity of instances (default false). This is currently implemented by stopping, re-creating then starting the affected instance on its associated allocator when performing the changes. NOTES: This requires a round-trip through the allocation infrastructure of the active constructor, as it has to reserve the target capacity without over-committing

                • Whether to skip attempting to do a synced flush on the filesystem of the container (default: false), which is less safe but may be required if the container is unhealthy

                • shard_init_wait_time integer(int64)

                  The time, in seconds, to wait for shards that show no progress of initializing before rolling the next group (default: 10 minutes)

              • A strategy that creates instances with the new plan, migrates data from the old instances, then shuts down the old instances. GrowShrinkStrategyConfig is safer than 'rolling' and ensures single node availability during a plan change, but can be a lot slower on larger clusters.

                Additional properties are allowed.

              • A strategy that creates new Elasticsearch instances, Kibana instances, and APM Servers with the new plan, then migrates the node data to minimize the amount of spare capacity.

                Additional properties are allowed.

              • A strategy that lets constructor choose the most optimal way to execute the plan.

                Additional properties are allowed.

            • The plan control configuration options for the Integrations Server.

              Additional properties are allowed.

              Hide plan_configuration attributes Show plan_configuration attributes object
              • timeout integer(int64)

                The total timeout in seconds after which the plan is cancelled even if it is not complete. Defaults to 4x the max memory capacity per node (in MB)

              • calm_wait_time integer(int64)

                This timeout determines how long to give a cluster after it responds to API calls before performing actual operations on it. It defaults to 5s

              • move_instances array[object]
                Hide move_instances attributes Show move_instances attributes object
                • from string Required

                  The instance id that is going to be moved

                • to array[string]

                  An optional list of allocator ids to which the instance should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that the instance should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will automatically decide (currently: will treat the instances as up)

              • move_allocators array[object]
                Hide move_allocators attributes Show move_allocators attributes object
                • from string Required

                  The allocator id off which all instances in the cluster should be moved

                • to array[string]

                  An optional list of allocator ids to which the instance(s) should be moved. If not specified then any available allocator can be used (including the current one if it is healthy)

                • Tells the infrastructure that all instances on the allocator should be considered as permanently down when deciding how to migrate data to new nodes. If left blank then the system will auto-decide (currently: will treat the allocator as up)

              • If true (default: false) does not allow re-using any existing instances currently in the cluster, ie even unchanged instances will be re-created

              • List of allocators on which instances are placed if possible (if not possible/not specified then any available allocator with space is used)

              • Map containing allocators tags in form of key value pairs, increasing the likelihood during move requests for allocators with matching tags, to be selected as target allocators

                Hide preferred_allocator_tags attribute Show preferred_allocator_tags attribute object
                • * string Additional properties
              • If true (default false), does not clear the maintenance flag (which prevents its API from being accessed except by the constructor) on new instances added until after a snapshot has been restored, otherwise, the maintenance flag is cleared once the new instances successfully join the new cluster

              • Set to 'forced' to force a reboot as part of the upgrade plan

                Value is forced.

              • If false (the default), the plan fails if it determines that the request can result in unsafe operations. Setting this flag overrides some of these check restraints.

        • settings object

          The settings for building this Integrations Server cluster

          Additional properties are allowed.

          Hide settings attribute Show settings attribute object
          • metadata object

            The top-level configuration settings for the Elasticsearch cluster.

            Additional properties are allowed.

            Hide metadata attributes Show metadata attributes object
            • name string

              The display name of the cluster

            • owner_id string

              The user id (referencing whatever user database is in use) of the cluster owner

            • Subscription level of the cluster

            • Indicates if a cluster is system owned (restricts the set of operations that can be performed on it)

            • Contact email for the cluster

            • The top-level configuration settings for the Elasticsearch cluster resources.

              Additional properties are allowed.

              Hide resources attribute Show resources attribute object
              • cpu object

                Specifies the CPU resource settings for the Elasticsearch cluster.

                Additional properties are allowed.

                Hide cpu attributes Show cpu attributes object
                • boost boolean

                  Indicates if the CPU boost flag is enabled or not.

                • hard_limit boolean

                  Indicates if the CPU hard limit flag is enabled or not. When set to true (default), allocates CPU timeshare based on the total CPU time multiplied by the relative RAM capacity of the instance on a given host. When set to false, delegates CPU allocation to the operating system to schedule CPU timeshares.

    • settings object

      Additional configuration for this Deployment

      Additional properties are allowed.

      Hide settings attributes Show settings attributes object
      • The rulesets to apply to all resources in this cluster. When specified, the set of rulesets is updated and the same rulesets will be applied to Kibana and APM clusters as well. If not specified, the rulesets remain as they were set previously.

        Additional properties are allowed.

        Hide traffic_filter_settings attribute Show traffic_filter_settings attribute object
        • rulesets array[string] Required

          IDs of the traffic filter rulesets

      • Observability settings for this deployment

        Additional properties are allowed.

        Hide observability attributes Show observability attributes object
        • logging object

          The logging settings for the deployment

          Additional properties are allowed.

          Hide logging attribute Show logging attribute object
          • destination object Required

            The destination deployment that this deployment's logs will be sent to

            Additional properties are allowed.

            Hide destination attributes Show destination attributes object
            • deployment_id string Required

              The deployment to send logs and/or metrics to. Contains either the deployment's ID or 'self'.

            • ref_id string

              RefId of the Elasticsearch cluster to send logs and/or metrics to. If not specified, refId is resolved automatically as long as the destination deployment contains a single Elasticsearch resource.

        • metrics object

          The metrics settings for the deployment

          Additional properties are allowed.

          Hide metrics attributes Show metrics attributes object
          • destination object Required

            The destination deployment that this deployment's logs will be sent to

            Additional properties are allowed.

            Hide destination attributes Show destination attributes object
            • deployment_id string Required

              The deployment to send logs and/or metrics to. Contains either the deployment's ID or 'self'.

            • ref_id string

              RefId of the Elasticsearch cluster to send logs and/or metrics to. If not specified, refId is resolved automatically as long as the destination deployment contains a single Elasticsearch resource.

          • Set to true to force the deployment to use legacy monitoring instead of Metricbeat-based monitoring.

      • Enable autoscaling for this deployment.

    • metadata object

      Additional information about this deployment

      Additional properties are allowed.

      Hide metadata attributes Show metadata attributes object
      • Indicates if a deployment is system owned (restricts the set of operations that can be performed on it)

      • tags array[object]

        Arbitrary user-defined metadata associated with this deployment

        Hide tags attributes Show tags attributes object
        • key string Required

          The metadata field name

        • value string Required

          The metadata value

    • alias string

      A user-defined alias to use in place of Cluster IDs for user-friendly URLs

    • region string

      Identifier of the region to be used as the default for all the resources of the deployment

    • version string

      The version for all the resources of the deployment (must be one of the supported versions). Defaults to the latest version if not specified.

  • Whether or not if this is system owned template.

  • metadata array[object]

    Optional arbitrary metadata to associate with this template.

    Hide metadata attributes Show metadata attributes object
    • key string Required

      The metadata field name

    • value string Required

      The metadata value

  • order integer(int32)

    Determines the order in which this template should be returned when listed. Templates are returned in ascending order. If not specified, then the template willbe appended to the end of the list.

  • hidden boolean

    Whether or not the deployment template is hidden by default.

  • Minimum stack version required by this template, if any.

  • Provider and version agnostic template identifier used for grouping related template types.

Responses

  • The deployment definition was valid and the template has been updated.

    Hide response attribute Show response attribute object
    • id string Required

      The ID

  • The deployment definition was valid and the template was created.

    Hide response attribute Show response attribute object
    • id string Required

      The ID

  • The requested region is not supported. (code: templates.region_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is templates.region_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The user is not authorized to access requested region. (code: templates.region_not_allowed)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is templates.region_not_allowed.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The deployment template specified by {template_id} cannot be found. (code: templates.template_not_found)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is templates.template_not_found.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

  • The version supplied in the request conflicted with the version found on the server. (code: templates.version_conflict)

    Hide headers attribute Show headers attribute
    • The error codes associated with the response

      Value is templates.version_conflict.

    Hide response attribute Show response attribute object
    • errors array[object] Required

      A list of errors that occurred in the failing request

      Hide errors attributes Show errors attributes object
      • code string Required

        A structured code representing the error type that occurred

      • message string Required

        A human readable message describing the error that occurred

      • fields array[string]

        If the error can be tied to a specific field or fields in the user request, this lists those fields

PUT /deployments/templates/{template_id}
curl \
 -X PUT https://{{hostname}}/api/v1/deployments/templates/{template_id}?region=string \
 -d '{"name":"string","description":"string","deployment_template":{"name":"string","resources":{"elasticsearch":[{"ref_id":"string","display_name":"string","region":"string","plan":{"cluster_topology":[{"id":"string","node_type":{"master":true,"data":true,"ingest":true,"ml":true},"node_roles":["master"],"memory_per_node":42,"node_count_per_zone":42,"zone_count":42,"elasticsearch":{"version":"string","docker_image":"string","system_settings":{"scripting":{"painless_enabled":true,"mustache_enabled":true,"expressions_enabled":true,"stored":{"enabled":true,"sandbox_mode":true},"file":{"enabled":true,"sandbox_mode":true},"inline":{"enabled":true,"sandbox_mode":true}},"reindex_whitelist":["string"],"auto_create_index":true,"enable_close_index":true,"destructive_requires_name":true,"watcher_trigger_engine":"string","default_shards_per_index":42,"monitoring_collection_interval":42,"monitoring_history_duration":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string","enabled_built_in_plugins":["string"],"user_plugins":[{"name":"string","url":"string","elasticsearch_version":"string"}],"user_bundles":[{"name":"string","url":"string","elasticsearch_version":"string"}],"curation":{"from_instance_configuration_id":"string","to_instance_configuration_id":"string"},"node_attributes":{"additionalProperty1":"string","additionalProperty2":"string"}},"instance_configuration_id":"string","instance_configuration_version":42,"size":{"value":42,"resource":"memory"},"autoscaling_min":{"value":42,"resource":"memory"},"autoscaling_max":{"value":42,"resource":"memory"},"autoscaling_policy_override_json":{},"topology_element_control":{"min":{"value":42,"resource":"memory"}},"autoscaling_tier_override":true}],"elasticsearch":{"version":"string","docker_image":"string","system_settings":{"scripting":{"painless_enabled":true,"mustache_enabled":true,"expressions_enabled":true,"stored":{"enabled":true,"sandbox_mode":true},"file":{"enabled":true,"sandbox_mode":true},"inline":{"enabled":true,"sandbox_mode":true}},"reindex_whitelist":["string"],"auto_create_index":true,"enable_close_index":true,"destructive_requires_name":true,"watcher_trigger_engine":"string","default_shards_per_index":42,"monitoring_collection_interval":42,"monitoring_history_duration":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string","enabled_built_in_plugins":["string"],"user_plugins":[{"name":"string","url":"string","elasticsearch_version":"string"}],"user_bundles":[{"name":"string","url":"string","elasticsearch_version":"string"}],"curation":{"from_instance_configuration_id":"string","to_instance_configuration_id":"string"},"node_attributes":{"additionalProperty1":"string","additionalProperty2":"string"}},"deployment_template":{"id":"string","version":"string"},"transient":{"strategy":{"rolling":{"group_by":"string","allow_inline_resize":true,"skip_synced_flush":true,"shard_init_wait_time":42},"grow_and_shrink":{},"rolling_grow_and_shrink":{},"autodetect":{}},"plan_configuration":{"timeout":42,"calm_wait_time":42,"move_instances":[{"from":"string","to":["string"],"instance_down":true}],"move_allocators":[{"from":"string","to":["string"],"allocator_down":true}],"move_only":true,"reallocate_instances":true,"preferred_allocators":["string"],"preferred_allocator_tags":{"additionalProperty1":"string","additionalProperty2":"string"},"skip_snapshot":true,"max_snapshot_attempts":42,"max_snapshot_age":42,"extended_maintenance":true,"cluster_reboot":"forced","override_failsafe":true,"skip_data_migration":true,"skip_upgrade_checker":true,"skip_post_upgrade_steps":true,"skip_snapshot_post_major_upgrade":true},"restore_snapshot":{"repository_name":"string","snapshot_name":"string","repository_config":{"raw_settings":{}},"restore_payload":{"indices":["string"],"raw_settings":{}},"strategy":"partial","source_cluster_id":"string"},"remote_clusters":{"resources":[{"deployment_id":"string","elasticsearch_ref_id":"string","alias":"string","skip_unavailable":true}]},"cluster_settings_json":{}},"autoscaling_enabled":true},"settings":{"snapshot":{"repository":{"static":{"repository_type":"string","settings":{}},"reference":{"repository_name":"string"},"default":{}},"interval":"string","pending_interval":"string","wait_time_after_snapshotting":"string","enabled":true,"suspended":["string"],"retention":{"snapshots":42,"max_age":"string"},"cron_expression":"string"},"monitoring":{"target_cluster_id":"string"},"metadata":{"name":"string","owner_id":"string","subscription_level":"string","system_owned":true,"contact_email":"string","resources":{"cpu":{"boost":true,"hard_limit":true}}},"curation":{"specs":[{"index_pattern":"string","trigger_interval_seconds":42}]},"dedicated_masters_threshold":42,"traffic_filter":{"rulesets":["string"]},"trust":{"accounts":[{"account_id":"string","name":"string","trust_all":true,"trust_allowlist":["string"]}],"external":[{"trust_relationship_id":"string","name":"string","trust_all":true,"trust_allowlist":["string"]}],"direct":[{"uid":"string","name":"string","type":"ECE","trust_all":true,"trust_allowlist":["string"],"scope_id":"abc123","additional_node_names":["string"],"certificates":[{"pem":"string"}]}]},"keystore_contents":{"secrets":{"additionalProperty1":{"value":{},"as_file":true},"additionalProperty2":{"value":{},"as_file":true}}}}}],"kibana":[{"ref_id":"string","elasticsearch_cluster_ref_id":"string","display_name":"string","region":"string","plan":{"cluster_topology":[{"memory_per_node":42,"node_count_per_zone":42,"instance_configuration_id":"string","instance_configuration_version":42,"size":{"value":42,"resource":"memory"},"zone_count":42,"kibana":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","elasticsearch_username":"string","elasticsearch_password":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"}}],"kibana":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","elasticsearch_username":"string","elasticsearch_password":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"},"transient":{"strategy":{"rolling":{"group_by":"string","allow_inline_resize":true,"skip_synced_flush":true,"shard_init_wait_time":42},"grow_and_shrink":{},"rolling_grow_and_shrink":{},"autodetect":{}},"plan_configuration":{"timeout":42,"calm_wait_time":42,"move_instances":[{"from":"string","to":["string"],"instance_down":true}],"move_allocators":[{"from":"string","to":["string"],"allocator_down":true}],"reallocate_instances":true,"preferred_allocators":["string"],"preferred_allocator_tags":{"additionalProperty1":"string","additionalProperty2":"string"},"extended_maintenance":true,"cluster_reboot":"forced","override_failsafe":true}}},"settings":{"metadata":{"name":"string","owner_id":"string","subscription_level":"string","system_owned":true,"contact_email":"string","resources":{"cpu":{"boost":true,"hard_limit":true}}}}}],"apm":[{"ref_id":"string","elasticsearch_cluster_ref_id":"string","display_name":"string","region":"string","plan":{"cluster_topology":[{"instance_configuration_id":"string","instance_configuration_version":42,"size":{"value":42,"resource":"memory"},"zone_count":42,"apm":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","kibana_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_token":"string","debug_enabled":true},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"}}],"apm":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","kibana_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_token":"string","debug_enabled":true},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"},"transient":{"strategy":{"rolling":{"group_by":"string","allow_inline_resize":true,"skip_synced_flush":true,"shard_init_wait_time":42},"grow_and_shrink":{},"rolling_grow_and_shrink":{},"autodetect":{}},"plan_configuration":{"timeout":42,"calm_wait_time":42,"move_instances":[{"from":"string","to":["string"],"instance_down":true}],"move_allocators":[{"from":"string","to":["string"],"allocator_down":true}],"reallocate_instances":true,"preferred_allocators":["string"],"preferred_allocator_tags":{"additionalProperty1":"string","additionalProperty2":"string"},"extended_maintenance":true,"cluster_reboot":"forced","override_failsafe":true}}},"settings":{"metadata":{"name":"string","owner_id":"string","subscription_level":"string","system_owned":true,"contact_email":"string","resources":{"cpu":{"boost":true,"hard_limit":true}}}}}],"appsearch":[{"ref_id":"string","elasticsearch_cluster_ref_id":"string","display_name":"string","region":"string","plan":{"cluster_topology":[{"node_type":{"appserver":true,"worker":true},"instance_configuration_id":"string","instance_configuration_version":42,"size":{"value":42,"resource":"memory"},"zone_count":42,"appsearch":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_session_key":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"}}],"appsearch":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_session_key":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"},"transient":{"strategy":{"rolling":{"group_by":"string","allow_inline_resize":true,"skip_synced_flush":true,"shard_init_wait_time":42},"grow_and_shrink":{},"rolling_grow_and_shrink":{},"autodetect":{}},"plan_configuration":{"timeout":42,"calm_wait_time":42,"move_instances":[{"from":"string","to":["string"],"instance_down":true}],"move_allocators":[{"from":"string","to":["string"],"allocator_down":true}],"reallocate_instances":true,"preferred_allocators":["string"],"preferred_allocator_tags":{"additionalProperty1":"string","additionalProperty2":"string"},"extended_maintenance":true,"cluster_reboot":"forced","override_failsafe":true}}},"settings":{"metadata":{"name":"string","owner_id":"string","subscription_level":"string","system_owned":true,"contact_email":"string","resources":{"cpu":{"boost":true,"hard_limit":true}}}}}],"enterprise_search":[{"ref_id":"string","elasticsearch_cluster_ref_id":"string","display_name":"string","region":"string","plan":{"cluster_topology":[{"node_type":{"appserver":true,"worker":true,"connector":true},"instance_configuration_id":"string","instance_configuration_version":42,"size":{"value":42,"resource":"memory"},"zone_count":42,"enterprise_search":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_session_key":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"},"allocator_filter":{},"node_configuration":"string","memory_per_node":{},"node_count_per_zone":{}}],"enterprise_search":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_session_key":"string"},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string"},"transient":{"strategy":{"rolling":{"group_by":"string","allow_inline_resize":true,"skip_synced_flush":true,"shard_init_wait_time":42},"grow_and_shrink":{},"rolling_grow_and_shrink":{},"autodetect":{}},"plan_configuration":{"timeout":42,"calm_wait_time":42,"move_instances":[{"from":"string","to":["string"],"instance_down":true}],"move_allocators":[{"from":"string","to":["string"],"allocator_down":true}],"reallocate_instances":true,"preferred_allocators":["string"],"preferred_allocator_tags":{"additionalProperty1":"string","additionalProperty2":"string"},"extended_maintenance":true,"cluster_reboot":"forced","override_failsafe":true}}},"settings":{"metadata":{"name":"string","owner_id":"string","subscription_level":"string","system_owned":true,"contact_email":"string","resources":{"cpu":{"boost":true,"hard_limit":true}}}}}],"integrations_server":[{"ref_id":"string","elasticsearch_cluster_ref_id":"string","display_name":"string","region":"string","plan":{"cluster_topology":[{"instance_configuration_id":"string","instance_configuration_version":42,"size":{"value":42,"resource":"memory"},"zone_count":42,"integrations_server":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","kibana_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_token":"string","debug_enabled":true},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string","mode":"standalone"}}],"integrations_server":{"version":"string","docker_image":"string","system_settings":{"elasticsearch_url":"string","kibana_url":"string","elasticsearch_username":"string","elasticsearch_password":"string","secret_token":"string","debug_enabled":true},"user_settings_json":{},"user_settings_yaml":"string","user_settings_override_json":{},"user_settings_override_yaml":"string","mode":"standalone"},"transient":{"strategy":{"rolling":{"group_by":"string","allow_inline_resize":true,"skip_synced_flush":true,"shard_init_wait_time":42},"grow_and_shrink":{},"rolling_grow_and_shrink":{},"autodetect":{}},"plan_configuration":{"timeout":42,"calm_wait_time":42,"move_instances":[{"from":"string","to":["string"],"instance_down":true}],"move_allocators":[{"from":"string","to":["string"],"allocator_down":true}],"reallocate_instances":true,"preferred_allocators":["string"],"preferred_allocator_tags":{"additionalProperty1":"string","additionalProperty2":"string"},"extended_maintenance":true,"cluster_reboot":"forced","override_failsafe":true}}},"settings":{"metadata":{"name":"string","owner_id":"string","subscription_level":"string","system_owned":true,"contact_email":"string","resources":{"cpu":{"boost":true,"hard_limit":true}}}}}]},"settings":{"traffic_filter_settings":{"rulesets":["string"]},"observability":{"logging":{"destination":{"deployment_id":"string","ref_id":"string"}},"metrics":{"destination":{"deployment_id":"string","ref_id":"string"},"force_legacy_monitoring":true}},"autoscaling_enabled":true},"metadata":{"system_owned":true,"tags":[{"key":"string","value":"string"}]},"alias":"string","region":"string","version":"string"},"system_owned":true,"metadata":[{"key":"string","value":"string"}],"order":42,"hidden":true,"min_version":"string","template_category_id":"string","kibana_deeplink":[{"semver":"string","uri":"string"}]}'
Request examples
{
  "name": "string",
  "description": "string",
  "deployment_template": {
    "name": "string",
    "resources": {
      "elasticsearch": [
        {
          "ref_id": "string",
          "display_name": "string",
          "region": "string",
          "plan": {
            "cluster_topology": [
              {
                "id": "string",
                "node_type": {
                  "master": true,
                  "data": true,
                  "ingest": true,
                  "ml": true
                },
                "node_roles": [
                  "master"
                ],
                "memory_per_node": 42,
                "node_count_per_zone": 42,
                "zone_count": 42,
                "elasticsearch": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "scripting": {
                      "painless_enabled": true,
                      "mustache_enabled": true,
                      "expressions_enabled": true,
                      "stored": {
                        "enabled": true,
                        "sandbox_mode": true
                      },
                      "file": {
                        "enabled": true,
                        "sandbox_mode": true
                      },
                      "inline": {
                        "enabled": true,
                        "sandbox_mode": true
                      }
                    },
                    "reindex_whitelist": [
                      "string"
                    ],
                    "auto_create_index": true,
                    "enable_close_index": true,
                    "destructive_requires_name": true,
                    "watcher_trigger_engine": "string",
                    "default_shards_per_index": 42,
                    "monitoring_collection_interval": 42,
                    "monitoring_history_duration": "string"
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string",
                  "enabled_built_in_plugins": [
                    "string"
                  ],
                  "user_plugins": [
                    {
                      "name": "string",
                      "url": "string",
                      "elasticsearch_version": "string"
                    }
                  ],
                  "user_bundles": [
                    {
                      "name": "string",
                      "url": "string",
                      "elasticsearch_version": "string"
                    }
                  ],
                  "curation": {
                    "from_instance_configuration_id": "string",
                    "to_instance_configuration_id": "string"
                  },
                  "node_attributes": {
                    "additionalProperty1": "string",
                    "additionalProperty2": "string"
                  }
                },
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "autoscaling_min": {
                  "value": 42,
                  "resource": "memory"
                },
                "autoscaling_max": {
                  "value": 42,
                  "resource": "memory"
                },
                "autoscaling_policy_override_json": {},
                "topology_element_control": {
                  "min": {
                    "value": 42,
                    "resource": "memory"
                  }
                },
                "autoscaling_tier_override": true
              }
            ],
            "elasticsearch": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "scripting": {
                  "painless_enabled": true,
                  "mustache_enabled": true,
                  "expressions_enabled": true,
                  "stored": {
                    "enabled": true,
                    "sandbox_mode": true
                  },
                  "file": {
                    "enabled": true,
                    "sandbox_mode": true
                  },
                  "inline": {
                    "enabled": true,
                    "sandbox_mode": true
                  }
                },
                "reindex_whitelist": [
                  "string"
                ],
                "auto_create_index": true,
                "enable_close_index": true,
                "destructive_requires_name": true,
                "watcher_trigger_engine": "string",
                "default_shards_per_index": 42,
                "monitoring_collection_interval": 42,
                "monitoring_history_duration": "string"
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string",
              "enabled_built_in_plugins": [
                "string"
              ],
              "user_plugins": [
                {
                  "name": "string",
                  "url": "string",
                  "elasticsearch_version": "string"
                }
              ],
              "user_bundles": [
                {
                  "name": "string",
                  "url": "string",
                  "elasticsearch_version": "string"
                }
              ],
              "curation": {
                "from_instance_configuration_id": "string",
                "to_instance_configuration_id": "string"
              },
              "node_attributes": {
                "additionalProperty1": "string",
                "additionalProperty2": "string"
              }
            },
            "deployment_template": {
              "id": "string",
              "version": "string"
            },
            "transient": {
              "strategy": {
                "rolling": {
                  "group_by": "string",
                  "allow_inline_resize": true,
                  "skip_synced_flush": true,
                  "shard_init_wait_time": 42
                },
                "grow_and_shrink": {},
                "rolling_grow_and_shrink": {},
                "autodetect": {}
              },
              "plan_configuration": {
                "timeout": 42,
                "calm_wait_time": 42,
                "move_instances": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "instance_down": true
                  }
                ],
                "move_allocators": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "allocator_down": true
                  }
                ],
                "move_only": true,
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "skip_snapshot": true,
                "max_snapshot_attempts": 42,
                "max_snapshot_age": 42,
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true,
                "skip_data_migration": true,
                "skip_upgrade_checker": true,
                "skip_post_upgrade_steps": true,
                "skip_snapshot_post_major_upgrade": true
              },
              "restore_snapshot": {
                "repository_name": "string",
                "snapshot_name": "string",
                "repository_config": {
                  "raw_settings": {}
                },
                "restore_payload": {
                  "indices": [
                    "string"
                  ],
                  "raw_settings": {}
                },
                "strategy": "partial",
                "source_cluster_id": "string"
              },
              "remote_clusters": {
                "resources": [
                  {
                    "deployment_id": "string",
                    "elasticsearch_ref_id": "string",
                    "alias": "string",
                    "skip_unavailable": true
                  }
                ]
              },
              "cluster_settings_json": {}
            },
            "autoscaling_enabled": true
          },
          "settings": {
            "snapshot": {
              "repository": {
                "static": {
                  "repository_type": "string",
                  "settings": {}
                },
                "reference": {
                  "repository_name": "string"
                },
                "default": {}
              },
              "interval": "string",
              "pending_interval": "string",
              "wait_time_after_snapshotting": "string",
              "enabled": true,
              "suspended": [
                "string"
              ],
              "retention": {
                "snapshots": 42,
                "max_age": "string"
              },
              "cron_expression": "string"
            },
            "monitoring": {
              "target_cluster_id": "string"
            },
            "metadata": {
              "name": "string",
              "owner_id": "string",
              "subscription_level": "string",
              "system_owned": true,
              "contact_email": "string",
              "resources": {
                "cpu": {
                  "boost": true,
                  "hard_limit": true
                }
              }
            },
            "curation": {
              "specs": [
                {
                  "index_pattern": "string",
                  "trigger_interval_seconds": 42
                }
              ]
            },
            "dedicated_masters_threshold": 42,
            "traffic_filter": {
              "rulesets": [
                "string"
              ]
            },
            "trust": {
              "accounts": [
                {
                  "account_id": "string",
                  "name": "string",
                  "trust_all": true,
                  "trust_allowlist": [
                    "string"
                  ]
                }
              ],
              "external": [
                {
                  "trust_relationship_id": "string",
                  "name": "string",
                  "trust_all": true,
                  "trust_allowlist": [
                    "string"
                  ]
                }
              ],
              "direct": [
                {
                  "uid": "string",
                  "name": "string",
                  "type": "ECE",
                  "trust_all": true,
                  "trust_allowlist": [
                    "string"
                  ],
                  "scope_id": "abc123",
                  "additional_node_names": [
                    "string"
                  ],
                  "certificates": [
                    {
                      "pem": "string"
                    }
                  ]
                }
              ]
            },
            "keystore_contents": {
              "secrets": {
                "additionalProperty1": {
                  "value": {},
                  "as_file": true
                },
                "additionalProperty2": {
                  "value": {},
                  "as_file": true
                }
              }
            }
          }
        }
      ],
      "kibana": [
        {
          "ref_id": "string",
          "elasticsearch_cluster_ref_id": "string",
          "display_name": "string",
          "region": "string",
          "plan": {
            "cluster_topology": [
              {
                "memory_per_node": 42,
                "node_count_per_zone": 42,
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "kibana": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_url": "string",
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string"
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string"
                }
              }
            ],
            "kibana": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_url": "string",
                "elasticsearch_username": "string",
                "elasticsearch_password": "string"
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string"
            },
            "transient": {
              "strategy": {
                "rolling": {
                  "group_by": "string",
                  "allow_inline_resize": true,
                  "skip_synced_flush": true,
                  "shard_init_wait_time": 42
                },
                "grow_and_shrink": {},
                "rolling_grow_and_shrink": {},
                "autodetect": {}
              },
              "plan_configuration": {
                "timeout": 42,
                "calm_wait_time": 42,
                "move_instances": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "instance_down": true
                  }
                ],
                "move_allocators": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "allocator_down": true
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "settings": {
            "metadata": {
              "name": "string",
              "owner_id": "string",
              "subscription_level": "string",
              "system_owned": true,
              "contact_email": "string",
              "resources": {
                "cpu": {
                  "boost": true,
                  "hard_limit": true
                }
              }
            }
          }
        }
      ],
      "apm": [
        {
          "ref_id": "string",
          "elasticsearch_cluster_ref_id": "string",
          "display_name": "string",
          "region": "string",
          "plan": {
            "cluster_topology": [
              {
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "apm": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_url": "string",
                    "kibana_url": "string",
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string",
                    "secret_token": "string",
                    "debug_enabled": true
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string"
                }
              }
            ],
            "apm": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_url": "string",
                "kibana_url": "string",
                "elasticsearch_username": "string",
                "elasticsearch_password": "string",
                "secret_token": "string",
                "debug_enabled": true
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string"
            },
            "transient": {
              "strategy": {
                "rolling": {
                  "group_by": "string",
                  "allow_inline_resize": true,
                  "skip_synced_flush": true,
                  "shard_init_wait_time": 42
                },
                "grow_and_shrink": {},
                "rolling_grow_and_shrink": {},
                "autodetect": {}
              },
              "plan_configuration": {
                "timeout": 42,
                "calm_wait_time": 42,
                "move_instances": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "instance_down": true
                  }
                ],
                "move_allocators": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "allocator_down": true
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "settings": {
            "metadata": {
              "name": "string",
              "owner_id": "string",
              "subscription_level": "string",
              "system_owned": true,
              "contact_email": "string",
              "resources": {
                "cpu": {
                  "boost": true,
                  "hard_limit": true
                }
              }
            }
          }
        }
      ],
      "appsearch": [
        {
          "ref_id": "string",
          "elasticsearch_cluster_ref_id": "string",
          "display_name": "string",
          "region": "string",
          "plan": {
            "cluster_topology": [
              {
                "node_type": {
                  "appserver": true,
                  "worker": true
                },
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "appsearch": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_url": "string",
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string",
                    "secret_session_key": "string"
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string"
                }
              }
            ],
            "appsearch": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_url": "string",
                "elasticsearch_username": "string",
                "elasticsearch_password": "string",
                "secret_session_key": "string"
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string"
            },
            "transient": {
              "strategy": {
                "rolling": {
                  "group_by": "string",
                  "allow_inline_resize": true,
                  "skip_synced_flush": true,
                  "shard_init_wait_time": 42
                },
                "grow_and_shrink": {},
                "rolling_grow_and_shrink": {},
                "autodetect": {}
              },
              "plan_configuration": {
                "timeout": 42,
                "calm_wait_time": 42,
                "move_instances": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "instance_down": true
                  }
                ],
                "move_allocators": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "allocator_down": true
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "settings": {
            "metadata": {
              "name": "string",
              "owner_id": "string",
              "subscription_level": "string",
              "system_owned": true,
              "contact_email": "string",
              "resources": {
                "cpu": {
                  "boost": true,
                  "hard_limit": true
                }
              }
            }
          }
        }
      ],
      "enterprise_search": [
        {
          "ref_id": "string",
          "elasticsearch_cluster_ref_id": "string",
          "display_name": "string",
          "region": "string",
          "plan": {
            "cluster_topology": [
              {
                "node_type": {
                  "appserver": true,
                  "worker": true,
                  "connector": true
                },
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "enterprise_search": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_url": "string",
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string",
                    "secret_session_key": "string"
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string"
                },
                "allocator_filter": {},
                "node_configuration": "string",
                "memory_per_node": {},
                "node_count_per_zone": {}
              }
            ],
            "enterprise_search": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_url": "string",
                "elasticsearch_username": "string",
                "elasticsearch_password": "string",
                "secret_session_key": "string"
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string"
            },
            "transient": {
              "strategy": {
                "rolling": {
                  "group_by": "string",
                  "allow_inline_resize": true,
                  "skip_synced_flush": true,
                  "shard_init_wait_time": 42
                },
                "grow_and_shrink": {},
                "rolling_grow_and_shrink": {},
                "autodetect": {}
              },
              "plan_configuration": {
                "timeout": 42,
                "calm_wait_time": 42,
                "move_instances": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "instance_down": true
                  }
                ],
                "move_allocators": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "allocator_down": true
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "settings": {
            "metadata": {
              "name": "string",
              "owner_id": "string",
              "subscription_level": "string",
              "system_owned": true,
              "contact_email": "string",
              "resources": {
                "cpu": {
                  "boost": true,
                  "hard_limit": true
                }
              }
            }
          }
        }
      ],
      "integrations_server": [
        {
          "ref_id": "string",
          "elasticsearch_cluster_ref_id": "string",
          "display_name": "string",
          "region": "string",
          "plan": {
            "cluster_topology": [
              {
                "instance_configuration_id": "string",
                "instance_configuration_version": 42,
                "size": {
                  "value": 42,
                  "resource": "memory"
                },
                "zone_count": 42,
                "integrations_server": {
                  "version": "string",
                  "docker_image": "string",
                  "system_settings": {
                    "elasticsearch_url": "string",
                    "kibana_url": "string",
                    "elasticsearch_username": "string",
                    "elasticsearch_password": "string",
                    "secret_token": "string",
                    "debug_enabled": true
                  },
                  "user_settings_json": {},
                  "user_settings_yaml": "string",
                  "user_settings_override_json": {},
                  "user_settings_override_yaml": "string",
                  "mode": "standalone"
                }
              }
            ],
            "integrations_server": {
              "version": "string",
              "docker_image": "string",
              "system_settings": {
                "elasticsearch_url": "string",
                "kibana_url": "string",
                "elasticsearch_username": "string",
                "elasticsearch_password": "string",
                "secret_token": "string",
                "debug_enabled": true
              },
              "user_settings_json": {},
              "user_settings_yaml": "string",
              "user_settings_override_json": {},
              "user_settings_override_yaml": "string",
              "mode": "standalone"
            },
            "transient": {
              "strategy": {
                "rolling": {
                  "group_by": "string",
                  "allow_inline_resize": true,
                  "skip_synced_flush": true,
                  "shard_init_wait_time": 42
                },
                "grow_and_shrink": {},
                "rolling_grow_and_shrink": {},
                "autodetect": {}
              },
              "plan_configuration": {
                "timeout": 42,
                "calm_wait_time": 42,
                "move_instances": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "instance_down": true
                  }
                ],
                "move_allocators": [
                  {
                    "from": "string",
                    "to": [
                      "string"
                    ],
                    "allocator_down": true
                  }
                ],
                "reallocate_instances": true,
                "preferred_allocators": [
                  "string"
                ],
                "preferred_allocator_tags": {
                  "additionalProperty1": "string",
                  "additionalProperty2": "string"
                },
                "extended_maintenance": true,
                "cluster_reboot": "forced",
                "override_failsafe": true
              }
            }
          },
          "settings": {
            "metadata": {
              "name": "string",
              "owner_id": "string",
              "subscription_level": "string",
              "system_owned": true,
              "contact_email": "string",
              "resources": {
                "cpu": {
                  "boost": true,
                  "hard_limit": true
                }
              }
            }
          }
        }
      ]
    },
    "settings": {
      "traffic_filter_settings": {
        "rulesets": [
          "string"
        ]
      },
      "observability": {
        "logging": {
          "destination": {
            "deployment_id": "string",
            "ref_id": "string"
          }
        },
        "metrics": {
          "destination": {
            "deployment_id": "string",
            "ref_id": "string"
          },
          "force_legacy_monitoring": true
        }
      },
      "autoscaling_enabled": true
    },
    "metadata": {
      "system_owned": true,
      "tags": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    },
    "alias": "string",
    "region": "string",
    "version": "string"
  },
  "system_owned": true,
  "metadata": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "order": 42,
  "hidden": true,
  "min_version": "string",
  "template_category_id": "string",
  "kibana_deeplink": [
    {
      "semver": "string",
      "uri": "string"
    }
  ]
}
Response examples (200)
{
  "id": "string"
}
Response examples (201)
{
  "id": "string"
}
Response examples (400)
# Headers
x-cloud-error-codes: templates.region_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (401)
# Headers
x-cloud-error-codes: templates.region_not_allowed

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (404)
# Headers
x-cloud-error-codes: templates.template_not_found

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}
Response examples (409)
# Headers
x-cloud-error-codes: templates.version_conflict

# Payload
{
  "errors": [
    {
      "code": "string",
      "message": "string",
      "fields": [
        "string"
      ]
    }
  ]
}