Connect an Azure subscription to PD Azure VM in WHMCS
PD Azure VM uses an Azure app registration and subscription connection to create and manage the servers you sell. Save that connection separately from the customer offering and confirm which subscription it belongs to.
Prepare the four values
Ask the administrator responsible for Azure to prepare an approved app registration for the intended subscription. You need Directory (tenant) ID, Application (client) ID, the client secret Value, and Subscription ID. The secret Value is different from its identifier and is displayed only when created, as explained in Microsoft’s credential guide.
The documented role for this module is Contributor on the target subscription because it creates a resource group for each service. Access limited to one existing resource group does not cover that design. Have the authorised Azure administrator review the role and scope; do not broaden unrelated identities simply to clear an error.
The connection format is one JSON object with keys tenant_id, client_id, client_secret and subscription_id. Supply all four actual values, using valid JSON, and keep it private. The optional secret_expires value records the secret’s expiry date in YYYY-MM-DD form for the module’s expiry notices; it does not renew the secret.
Save the connection
- Open System Settings → Servers and add a server with module PD Azure VM.
- Enter the prepared credential JSON in Password. The module does not use this server record’s username or hostname for the Azure connection.
- Save the record and review the server group that the intended product will use.
- Open PD Modules → Azure VM and locate Test Connection. Read the result before offering the product.
The module-level test uses the first available account returned for this module. With several connections, do not assume it tested the one used by a particular offering. Confirm the account association through your normal administration process; do not disable working accounts merely to force a test selection.
Check what success means
The test checks access to the subscription and resource-provider registration, with some additional quota information when available. It does not prove Contributor write permissions, the capacity for every VM size or a completed deployment. Check the app’s actual role assignment and the intended region before accepting orders.
For malformed credentials, recheck the four keys, the tenant/client pairing and whether you used the secret Value. For expired or replaced credentials, have the Azure administrator prepare the intended replacement, update the saved connection and verify it before retiring a working credential. Do not create a new subscription or order a VM merely to test the saved JSON.
Do not send client secrets, credential JSON or unredacted subscription details in screenshots.
See the PD Azure VM WHMCS guide for related setup, or explore PD Azure VM.