canonical: https://jentic.com/apis/azure.com/azure-mariadbmanagementclient

# Microsoft Azure MariaDBManagementClient

Jentic publishes the only available OpenAPI specification for MariaDBManagementClient, keeping it validated and agent-ready. Azure Database for MariaDB exposes a control-plane API for provisioning and operating fully managed MariaDB servers, including server lifecycle, databases, firewall rules, virtual network rules, log files, replicas, security alert policies, and configuration parameters. Use it to spin up a server in a chosen performance tier, configure access, and tune server parameters without managing the underlying VM. Authentication is via Azure Active Directory OAuth 2.0 on Azure Resource Manager.

## For AI agents

Provision and operate Azure Database for MariaDB servers: create or scale servers, manage databases, configure firewall and VNet rules, and read log files. Useful for managed MariaDB lifecycle automation.

## Scope

Does not run SQL queries, manage table schemas, or handle data plane operations - use for control-plane MariaDB server lifecycle and configuration only.

## Capabilities

- Create or scale a managed MariaDB server in a chosen region and performance tier
- Provision and drop logical databases inside an existing MariaDB server
- Configure IP firewall rules and virtual network service endpoints to control server access
- Read and update server configuration parameters such as max_connections and innodb_buffer_pool_size
- List replicas and downloadable log files for an Azure Database for MariaDB server
- Restart a MariaDB server through a single POST call without filing a support ticket
- Manage server-level security alert policies for threat detection

## Use cases

### Provision a managed MariaDB server

Application teams use the API to provision Azure Database for MariaDB servers as part of an environment bootstrap. A single PUT call creates the server with the chosen SKU, storage, geo-redundant backup, and admin login, and Azure handles patching, replication, and backups. Follow-up calls add databases and firewall rules so the application can connect.

Example prompt: PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} with SKU, storageProfile, and adminLogin; poll the async operation until provisioning completes.

### Lock down server access

Security teams use the firewall rule and virtual network rule endpoints to ensure servers only accept connections from approved networks. Firewall rules whitelist single IPs or ranges, while VNet rules tie a server to specific subnets through service endpoints. Both are stored as named child resources of the server so they can be inventoried and removed cleanly.

Example prompt: List existing firewall rules with FirewallRules_ListByServer, then PUT each missing rule with the start and end IP for an approved range.

### Tune server configuration

DBAs adjust MariaDB server parameters such as innodb_buffer_pool_size or wait_timeout to fit workload patterns. The configurations endpoints list every tunable setting along with its current value, allowed range, and source, and PUT updates a single setting. Some parameters are static and require a server restart, which the same API can trigger.

Example prompt: GET Configurations_ListByServer to find the parameter, PUT Configurations_CreateOrUpdate with the new value, then POST Servers_Restart if the parameter requires it.

### Agent-driven database lifecycle

Through Jentic, an AI agent can read a deployment ticket and provision a complete MariaDB environment: server, database, firewall rule, and configuration overrides. The agent searches Jentic for 'create azure mariadb server', loads each operation in turn, and chains the calls. Jentic injects the Azure AD bearer token at execution time so the agent never handles secrets.

Example prompt: Use Jentic search 'create azure mariadb server', execute Servers_Create, then chain Databases_CreateOrUpdate and FirewallRules_CreateOrUpdate to complete environment setup.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} | Create a MariaDB server |
| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} | Update or scale a MariaDB server |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} | Create a database on a server |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName} | Create a firewall rule |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName} | Update a server configuration parameter |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart | Restart a MariaDB server |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas | List replicas of a server |

## Key resources

- **Servers** — Create, list, get, update, delete, and restart Azure Database for MariaDB servers.
- **Databases** — Create, list, get, and delete logical databases inside a MariaDB server.
- **FirewallRules** — Manage IP firewall rules controlling inbound access to a MariaDB server.
- **VirtualNetworkRules** — Bind subnets to a MariaDB server through service endpoint VNet rules.
- **Configurations** — Read and update tunable MariaDB server parameters.
- **LogFiles** — List downloadable server log files.
- **Replicas** — Enumerate replicas attached to a primary server.
- **ServerSecurityAlertPolicies** — Configure server-level threat detection alert policies.

## Why Jentic

- **Setup:** Wiring Azure Database for MariaDB by hand means setting up MSAL and an Azure AD service principal, minting bearer tokens against management.azure.com, validating SKU shapes, and polling the Azure-AsyncOperation URL that server creates and restarts return. Through Jentic you install once, import MariaDBManagementClient from the API Directory, store the service principal credentials once, and your agent calls it.
- **Permission scoping:** The server name and its child names travel in the URL path (/servers/{serverName}, /servers/{serverName}/databases/{databaseName}, /firewallRules/{firewallRuleName}), so a rule can pin your agent to a named server. You choose the operations it may call, so restarting a server or deleting a database is not included unless you add it.
- **Credential handling:** Your Azure AD client credentials are stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived ARM-scoped bearer token at execution time. The raw secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an azure mariadb server' or 'add a firewall rule to a mariadb server', and Jentic returns the matching Servers or FirewallRules operation with its full input schema, including SKU and storage options, so the agent calls the right endpoint directly.

## Related APIs

- **MySQL Management Client** — Provision and operate Azure Database for MySQL servers - same shape, different engine.
- **PostgreSQL Management Client** — Managed PostgreSQL on Azure with a parallel API surface.
- **SQL Management Client** — Provision Azure SQL Database, the SQL Server-based managed offering.
- **Resource Management Client** — Manage resource groups that contain MariaDB servers.

## FAQ

### Why is there no official OpenAPI spec for MariaDBManagementClient?

Microsoft Azure does not publish a standalone OpenAPI specification for the MariaDB management resource provider. Jentic generates and maintains this spec so that AI agents and developers can call MariaDBManagementClient via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the MariaDB Management API use?

The API uses Azure Active Directory OAuth 2.0 via the azure_auth scheme on https://management.azure.com/. Through Jentic, your Azure AD client credentials are stored encrypted in your Jentic One instance and exchanged for a short-lived bearer token at execution time.

### Can I create databases on a MariaDB server through this API?

Yes. After the server exists, call PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} with the desired charset and collation in the body. Use Databases_ListByServer to inventory existing databases first.

### How do I add an IP firewall rule with this API?

Call PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName} with startIpAddress and endIpAddress in the body. The rule applies immediately and is also visible to the Azure portal.

### What are the rate limits for the MariaDB Management API?

The control-plane endpoints inherit standard Azure Resource Manager throttle quotas, surfaced through x-ms-ratelimit-remaining-* response headers. Long-running operations such as Servers_Create return 202 with an Azure-AsyncOperation URL the agent should poll rather than retry.

### How do I provision a MariaDB server through Jentic?

Search Jentic for 'create azure mariadb server', load Servers_Create, supply the SKU, storageProfile, and administratorLogin in the body, and execute. Jentic surfaces the returned 202 status URL so your agent can poll for completion.

### Can the API restart a MariaDB server?

Yes. POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart triggers an asynchronous restart. Combine it with Configurations_CreateOrUpdate when changing static parameters that require a restart to take effect.

### Can I limit what my agent is allowed to do with the Microsoft Azure MariaDB Management API?

Yes. Jentic One runs self-hosted, so your own rules decide which operations and credentials the agent may use. Because the server name and its child names travel in the URL path, such as /servers/{serverName} and /servers/{serverName}/databases/{databaseName}, you can pin the agent to a single named MariaDB server. You also choose exactly which operations it may call, so destructive actions like Servers_Restart or Databases_Delete stay off limits unless you explicitly add them.
