Documentation Index
Fetch the complete documentation index at: https://docs.xloud.tech/llms.txt
Use this file to discover all available pages before exploring further.
Overview
An orchestration template is a YAML document that declaratively describes a set of cloud resources and their relationships. The Orchestration engine reads the template, resolves dependencies between resources, and provisions them in the correct order. Templates are reusable — parameterized values allow the same template to deploy different environments without modification.Prerequisites
- Familiarity with YAML syntax
- Access to the Xloud Orchestration service in your project
xloudCLI installed for template validation
Template Structure
Every orchestration template has up to six top-level sections:template-skeleton.yaml
| Section | Required | Purpose |
|---|---|---|
xloud_template_version | Yes | Specifies the template format version |
description | No | Human-readable summary shown in the Dashboard |
parameter_groups | No | Groups parameters into labeled sections in the Dashboard UI |
parameters | No | Defines input variables that customize the template at runtime |
conditions | No | Named boolean expressions controlling conditional resource creation |
resources | Yes | The cloud resources to create, update, or delete |
outputs | No | Values extracted from created resources and returned to the caller |
Parameters
Parameters make templates reusable across different environments and projects.Parameter Types
| Type | Description | Example Value |
|---|---|---|
string | Arbitrary text value | "m1.large" |
number | Integer or float | 3 |
boolean | true or false | true |
json | Arbitrary JSON object or array | {"key": "value"} |
comma_delimited_list | CSV string interpreted as a list | "az1,az2,az3" |
Parameter Definition Reference
parameters-reference.yaml
Resources
Resources are the core of every template. Each resource has a logical name, a type, and a set of properties.resource-definition.yaml
Intrinsic Functions
Intrinsic functions allow template sections to reference other parts of the template dynamically at runtime.| Function | Syntax | Description |
|---|---|---|
get_param | { get_param: param_name } | Returns the value of a template parameter |
get_resource | { get_resource: resource_name } | Returns the ID of another resource in the stack |
get_attr | { get_attr: [resource_name, attribute] } | Returns a specific attribute of a resource |
str_replace | { str_replace: { template: "...", params: {...} } } | Performs string substitution |
list_join | { list_join: [",", [value1, value2]] } | Joins a list of values with a delimiter |
if | { if: [condition_name, true_value, false_value] } | Returns one of two values based on a condition |
equals | { equals: [value_a, value_b] } | Returns true if both values are equal |
not | { not: condition } | Negates a condition |
and | { and: [condition_a, condition_b] } | Returns true if all conditions are true |
or | { or: [condition_a, condition_b] } | Returns true if any condition is true |
Function Examples
intrinsic-function-examples.yaml
Conditions
Conditions enable selective resource creation based on parameter values. Define a condition by name, then reference it in resource definitions withcondition:.
conditions-example.yaml
Outputs
Outputs expose values from created resources back to the caller. They are visible in the Dashboard stack detail view and retrievable via CLI.outputs-example.yaml
Next Steps
Resource Types
Full reference for all supported resource types and their properties
Getting Started
Deploy your first stack using a complete example template
Auto-Scaling
Use scaling groups and alarm policies in templates
Manage Stacks
Update and manage stacks through their full lifecycle