Template API
The Exam Orchestrator deploys a Deployment Template of your choosing during the deployment of an exam. This Deployment Template is an “ARM Template Spec” that is stored in your Azure Tenant.
The Exam Orchestrator passes a specific set of parameters to this template and expects a specific set of outputs back when the deployment finishes. We call this the “Template API”.
Your Deployment Template has to meet this API for the deployment to succeed.
Parameters
The following parameters are passed to your Deployment Template:
Name | Type | Description |
---|---|---|
userCapacity | number | The number of students in the exam |
startTime | string | RFC3339 formatted start time of the exam (compatible with ISO8601) |
endTime | string | RFC3339 formatted end time of the exam (compatible with ISO8601) |
examId | string | the UUIDv4 ID of the exam |
instanceId | string | the UUIDv4 ID of the Schoolyear AVD add-on installation in your Schoolyear Tenant. |
trustedProxySecret | securestring | A token that can be used by the trusted proxy to connect to the Schoolyear API. |
userGroupId | string | ID of the Entra User Group that was created during for the exam |
apiBaseUrl | string | The base URL of the Schoolyear API. E.g. https://api.schoolyear.app |
entraAuthority | string | The OpenID Connect Authority URI of your Azure Tenant. |
entraClientId | string | The Client ID of the OpenID Connect App Registration. |
Outputs
The Exam Orchestrator expects the following outputs from a successful deployment:
Name | Type | Description | Example |
---|---|---|---|
publicIps | []string | List of IPs (max 10) from which sessionhosts may connect to the Schoolyear API. This should be the IP addresses of the NAT gateway(s) of your exam. | ["123.123.123.123", "124.124.124.124" |
proxyConfig | object | The proxy configuration for clients to connect to the trusted proxy. See below for more details | See below |
resourceUrlsToDelete | []string | A list of Resource URIs that should be deleted in addition to the exam’s Resource Group. The URIs’ host must end with .azure.com . | ["https://management.azure.com/subscriptions/a0af5066-74bf-4ab3-8ef6-4f114b9c1028/resourceGroups/templates/providers/Microsoft.Network/dnsZones/foreignproxy.example.com/A/89cf3d5a-943e-4194-ae1f-f49424cb635f?api-version=2018-05-01"] |
hostpoolName | string | The name of the AVD hostpool that should be monitored for available sessionhosts | hostpool-89cf3d5a-943e-4194-ae1f-f49424cb635f |
vmNumberOfInstances | number | Minimum number of sessionhosts that should be “Available” is the hostpool for the deployment to qualify as “succeeded” | 20 |
Proxy Configuration
One of the outputs of the Deployment Template must be the proxyConfig
.
This is an object that describes which hostnames should be routed through which proxy.
This config is applied to the Schoolyear Safe Exam Workspace of the student.