canonical: https://jentic.com/apis/azure.com/compute-management-convenience-client

# Microsoft Azure ComputeManagementConvenienceClient

Jentic publishes the only available OpenAPI specification for ComputeManagementConvenienceClient, keeping it validated and agent-ready. This convenience client wraps a single Azure Resource Manager endpoint that creates or updates a Microsoft.Resources deployment, used as the canonical 'deploy this ARM template' call when a workflow only needs to land a VM-shaped deployment without pulling in the full Compute Management Client surface. It accepts an ARM template plus parameters and returns the deployment's provisioning status.

## For AI agents

Submit an Azure Resource Manager deployment that lands compute resources from a template, and read back its provisioning state.

## Scope

Does not delete deployments, list deployments, manage VMs directly, or read deployment templates back - use for submitting an ARM deployment by name only.

## Capabilities

- Submit an ARM template deployment that lands VMs or other compute resources into a resource group
- Read back the provisioning state of a named deployment to drive a wait-for-completion loop
- Re-run an existing deployment with updated parameters by reusing its name
- Use a single convenience endpoint instead of pulling in the full Compute Management Client surface

## Use cases

### One-shot ARM deployment for compute resources

When a workflow only needs to land a single ARM template that defines VMs, NICs, and disks, this convenience endpoint is enough - there is no need to pull in the full Compute Management Client. PUT the template and parameters under a deployment name and the resource group becomes the unit of consistency. The provisioning state on the response drives a poll loop or a webhook completion handler.

Example prompt: PUT /subscriptions/{subscriptionId}/resourcegroups/prod-rg/providers/Microsoft.Resources/deployments/web-tier-deploy with the ARM template body and return the provisioningState from the response.

### Idempotent infrastructure refresh

Reusing the same deployment name with the same template makes the call idempotent - ARM diffs the desired state against the current state and only changes what differs. This is the pattern teams use to roll forward infrastructure changes from CI without writing a custom diff layer.

Example prompt: Re-PUT /subscriptions/{subscriptionId}/resourcegroups/prod-rg/providers/Microsoft.Resources/deployments/web-tier-deploy with the same name but updated VM size parameter and confirm provisioningState reaches Succeeded.

### Programmatic poll-for-completion

ARM deployments are asynchronous. After PUTting the template, callers GET the same deployment URL until provisioningState is Succeeded, Failed, or Canceled. This convenience endpoint handles both create and read so a single client wrapper can drive the full deploy-and-wait pattern.

Example prompt: GET /subscriptions/{subscriptionId}/resourcegroups/prod-rg/providers/Microsoft.Resources/deployments/web-tier-deploy every 30 seconds until provisioningState is no longer 'Running'.

### Agent-driven infrastructure deployment via Jentic

An AI agent integrated through Jentic can take a natural-language request such as 'spin up a Linux VM in westeurope', generate or fetch the matching ARM template, and submit it via this endpoint. Jentic's intent search exposes the deployment operation and the AAD token stays scoped via the vault, so the agent doesn't handle raw Azure credentials.

Example prompt: Take an ARM template literal for a Standard_D2s_v3 Linux VM, PUT it under deployment name 'agent-vm-001' in resource group agent-rg, and report back when provisioningState is Succeeded.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName} | Submit an ARM template deployment to a resource group |

## Key resources

- **Deployments** — Create or update an ARM deployment by name in a resource group

## Why Jentic

- **Setup:** Wiring this convenience deployment endpoint by hand means an Azure AD app registration for the OAuth implicit flow against management.azure.com, learning the Microsoft.Resources deployment path shape, and building the ARM template payload yourself. Through Jentic you install once, import ComputeManagementConvenienceClient from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The subscription, resource group, and deployment name are all URL path parameters (/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}), so a rule can pin the agent to one resource group. You limit the agent to the operations it needs, so submitting an ARM deployment is included only when you add it.
- **Credential handling:** Your Azure AD token for the user_impersonation scope is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'submit an ARM template deployment' or 'deploy a VM from a template', and Jentic returns the PUT deployments operation with its template-shaped input schema so the agent calls the right endpoint without navigating the Microsoft.Resources ARM paths.

## Related APIs

- **Compute Management Client** — Full Compute Management surface for direct VM and scale set operations
- **Container Instance Management Client** — Provisions container groups when a container, not a VM, is the right unit of compute
- **Consumption Management Client** — Reports billing and usage for the resources the deployment provisions

## FAQ

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

Microsoft Azure does not publish this convenience client as a separate OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call ComputeManagementConvenienceClient 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 ComputeManagementConvenienceClient use?

It uses Azure Active Directory OAuth 2.0 with the implicit flow at https://login.microsoftonline.com/common/oauth2/authorize and the user_impersonation scope. Through Jentic the AAD token sits in the encrypted vault and the agent receives a scoped access token instead of the raw bearer credential.

### Can I deploy an ARM template with this API?

Yes. Issue PUT /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName} with the template, parameters, and mode (Incremental or Complete) in the request body. The response contains the deployment's provisioningState.

### What are the rate limits for the ComputeManagementConvenienceClient?

ARM applies subscription-level throttling - typically 12,000 reads and 1,200 writes per hour per subscription. Deployment PUTs count as writes and large templates can trigger 429s under load.

### How do I deploy infrastructure through Jentic?

Search Jentic for 'submit arm deployment', load the schema for PUT /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}, and execute it with your template body. Run pip install jentic to get the SDK.

### Is the ComputeManagementConvenienceClient free?

Calling the deployment endpoint itself is free. Costs come from the Azure resources the deployment provisions - VMs, disks, NICs, and so on are billed on standard Azure rates.

### Can I limit what my agent is allowed to do with the ComputeManagementConvenienceClient API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials your agent can use, so the single PUT deployments operation is available to the agent only when you add it. Since the subscription, resource group, and deployment name are all URL path parameters, a rule can pin the agent to one resource group and hold it to submitting ARM deployments there rather than reaching across your subscription. Your Azure Active Directory token is stored once by your own instance and injected at execution time, never entering the agent's prompt or context.
