KosmoKrator

productivity

OVHcloud Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the OVHcloud KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.ovh.*. Use lua_read_doc("integrations.ovh") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic OVHcloud workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.ovh.list_servers({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("ovh"))' --json
kosmo integrations:lua --eval 'print(docs.read("ovh.list_servers"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local ovh = app.integrations.ovh
local result = ovh.list_servers({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.ovh, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.ovh.default.* or app.integrations.ovh.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need OVHcloud, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

OVHcloud — Lua API Reference

list_servers

List all dedicated servers in the OVH account.

Parameters

None.

Example

local result = app.integrations.ovh.list_servers({})

for _, server in ipairs(result) do
  print(server)
end

get_server

Get details for a specific dedicated server.

Parameters

NameTypeRequiredDescription
service_namestringyesThe dedicated server service name (e.g., "ns123456.ip-1-2-3.eu")

Example

local result = app.integrations.ovh.get_server({ service_name = "ns123456.ip-1-2-3.eu" })
local s = result
print(s.name .. " - " .. s.os .. " - " .. s.datacenter)

list_domains

List all domains in the OVH account.

Parameters

None.

Example

local result = app.integrations.ovh.list_domains({})

for _, domain in ipairs(result) do
  print(domain)
end

list_vps

List all VPS instances in the OVH account.

Parameters

None.

Example

local result = app.integrations.ovh.list_vps({})

for _, vps in ipairs(result) do
  print(vps)
end

list_ip

List all IP addresses in the OVH account.

Parameters

None.

Example

local result = app.integrations.ovh.list_ip({})

for _, ip in ipairs(result) do
  print(ip)
end

list_projects

List all public cloud projects in the OVH account.

Parameters

None.

Example

local result = app.integrations.ovh.list_projects({})

for _, project in ipairs(result) do
  print(project)
end

get_current_user

Get the current authenticated OVH account information.

Parameters

None.

Example

local result = app.integrations.ovh.get_current_user({})
print("Account: " .. result.nichandle .. " (" .. result.email .. ")")

Multi-Account Usage

If you have multiple OVH accounts configured, use account-specific namespaces:

-- Default account (always works)
app.integrations.ovh.list_servers({})

-- Explicit default (portable across setups)
app.integrations.ovh.default.list_servers({})

-- Named accounts
app.integrations.ovh.production.list_servers({})
app.integrations.ovh.staging.list_servers({})

All functions are identical across accounts — only the credentials differ.

Raw agent markdown
# OVHcloud — Lua API Reference

## list_servers

List all dedicated servers in the OVH account.

### Parameters

None.

### Example

```lua
local result = app.integrations.ovh.list_servers({})

for _, server in ipairs(result) do
  print(server)
end
```

---

## get_server

Get details for a specific dedicated server.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `service_name` | string | yes | The dedicated server service name (e.g., `"ns123456.ip-1-2-3.eu"`) |

### Example

```lua
local result = app.integrations.ovh.get_server({ service_name = "ns123456.ip-1-2-3.eu" })
local s = result
print(s.name .. " - " .. s.os .. " - " .. s.datacenter)
```

---

## list_domains

List all domains in the OVH account.

### Parameters

None.

### Example

```lua
local result = app.integrations.ovh.list_domains({})

for _, domain in ipairs(result) do
  print(domain)
end
```

---

## list_vps

List all VPS instances in the OVH account.

### Parameters

None.

### Example

```lua
local result = app.integrations.ovh.list_vps({})

for _, vps in ipairs(result) do
  print(vps)
end
```

---

## list_ip

List all IP addresses in the OVH account.

### Parameters

None.

### Example

```lua
local result = app.integrations.ovh.list_ip({})

for _, ip in ipairs(result) do
  print(ip)
end
```

---

## list_projects

List all public cloud projects in the OVH account.

### Parameters

None.

### Example

```lua
local result = app.integrations.ovh.list_projects({})

for _, project in ipairs(result) do
  print(project)
end
```

---

## get_current_user

Get the current authenticated OVH account information.

### Parameters

None.

### Example

```lua
local result = app.integrations.ovh.get_current_user({})
print("Account: " .. result.nichandle .. " (" .. result.email .. ")")
```

---

## Multi-Account Usage

If you have multiple OVH accounts configured, use account-specific namespaces:

```lua
-- Default account (always works)
app.integrations.ovh.list_servers({})

-- Explicit default (portable across setups)
app.integrations.ovh.default.list_servers({})

-- Named accounts
app.integrations.ovh.production.list_servers({})
app.integrations.ovh.staging.list_servers({})
```

All functions are identical across accounts — only the credentials differ.
Metadata-derived Lua example
local result = app.integrations.ovh.list_servers({})
print(result)

Functions

list_servers Read

List all dedicated servers in the OVH account. Returns a list of server service names.

Lua path
app.integrations.ovh.list_servers
Full name
ovh.ovh_list_servers
ParameterTypeRequiredDescription
No parameters.
get_server Read

Get details for a specific OVH dedicated server by service name. Returns full server information including hardware, network, and OS details.

Lua path
app.integrations.ovh.get_server
Full name
ovh.ovh_get_server
ParameterTypeRequiredDescription
service_name string yes The dedicated server service name (e.g., "ns123456.ip-1-2-3.eu").
list_domains Read

List all domains in the OVH account. Returns a list of domain names.

Lua path
app.integrations.ovh.list_domains
Full name
ovh.ovh_list_domains
ParameterTypeRequiredDescription
No parameters.
list_vps Read

List all VPS instances in the OVH account. Returns a list of VPS service names.

Lua path
app.integrations.ovh.list_vps
Full name
ovh.ovh_list_vps
ParameterTypeRequiredDescription
No parameters.
list_ip_addresses Read

List all IP addresses in the OVH account. Returns a list of IP blocks and addresses.

Lua path
app.integrations.ovh.list_ip_addresses
Full name
ovh.ovh_list_ip
ParameterTypeRequiredDescription
No parameters.
list_projects Read

List all public cloud projects in the OVH account. Returns a list of project IDs.

Lua path
app.integrations.ovh.list_projects
Full name
ovh.ovh_list_projects
ParameterTypeRequiredDescription
No parameters.
get_current_user Read

Get information about the current authenticated OVH account, including nichandle, email, and account details.

Lua path
app.integrations.ovh.get_current_user
Full name
ovh.ovh_get_current_user
ParameterTypeRequiredDescription
No parameters.