1229 строки
37 KiB
JSON
1229 строки
37 KiB
JSON
{
|
|
"id": "https://schema.management.azure.com/schemas/2021-10-01-preview/Microsoft.LabServices.json#",
|
|
"title": "Microsoft.LabServices",
|
|
"description": "Microsoft LabServices Resource Types",
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"resourceDefinitions": {
|
|
"labPlans": {
|
|
"description": "Microsoft.LabServices/labPlans",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"description": "The geo-location where the resource lives",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI.",
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"properties": {
|
|
"description": "Lab plan resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/LabPlanProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resources": {
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/labPlans_images_childResource"
|
|
}
|
|
]
|
|
},
|
|
"type": "array"
|
|
},
|
|
"tags": {
|
|
"description": "Resource tags.",
|
|
"oneOf": [
|
|
{
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.LabServices/labPlans"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"labPlans_images": {
|
|
"description": "Microsoft.LabServices/labPlans/images",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The image name.",
|
|
"oneOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"properties": {
|
|
"description": "Image resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ImageProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.LabServices/labPlans/images"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"labs": {
|
|
"description": "Microsoft.LabServices/labs",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"description": "The geo-location where the resource lives",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the lab that uniquely identifies it within containing lab account. Used in resource URIs.",
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"properties": {
|
|
"description": "Lab resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/LabProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resources": {
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/labs_users_childResource"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/labs_schedules_childResource"
|
|
}
|
|
]
|
|
},
|
|
"type": "array"
|
|
},
|
|
"tags": {
|
|
"description": "Resource tags.",
|
|
"oneOf": [
|
|
{
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.LabServices/labs"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"labs_schedules": {
|
|
"description": "Microsoft.LabServices/labs/schedules",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.",
|
|
"oneOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"properties": {
|
|
"description": "Schedule resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ScheduleProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.LabServices/labs/schedules"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"labs_users": {
|
|
"description": "Microsoft.LabServices/labs/users",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs.",
|
|
"oneOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"properties": {
|
|
"description": "User resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/UserProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.LabServices/labs/users"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"definitions": {
|
|
"AutoShutdownProfile": {
|
|
"description": "Profile for how to handle shutting down virtual machines.",
|
|
"properties": {
|
|
"disconnectDelay": {
|
|
"description": "The amount of time a VM will stay running after a user disconnects if this behavior is enabled.",
|
|
"type": "string"
|
|
},
|
|
"idleDelay": {
|
|
"description": "The amount of time a VM will idle before it is shutdown if this behavior is enabled.",
|
|
"type": "string"
|
|
},
|
|
"noConnectDelay": {
|
|
"description": "The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled.",
|
|
"type": "string"
|
|
},
|
|
"shutdownOnDisconnect": {
|
|
"description": "Whether shutdown on disconnect is enabled",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Enabled",
|
|
"Disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"shutdownOnIdle": {
|
|
"description": "Whether a VM will get shutdown when it has idled for a period of time.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"None",
|
|
"UserAbsence",
|
|
"LowUsage"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"shutdownWhenNotConnected": {
|
|
"description": "Whether a VM will get shutdown when it hasn't been connected to after a period of time.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Enabled",
|
|
"Disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ConnectionProfile": {
|
|
"description": "Connection profile for how users connect to lab virtual machines.",
|
|
"properties": {
|
|
"clientRdpAccess": {
|
|
"description": "The enabled access level for Client Access over RDP.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Public",
|
|
"Private",
|
|
"None"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"clientSshAccess": {
|
|
"description": "The enabled access level for Client Access over SSH.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Public",
|
|
"Private",
|
|
"None"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"webRdpAccess": {
|
|
"description": "The enabled access level for Web Access over RDP.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Public",
|
|
"Private",
|
|
"None"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"webSshAccess": {
|
|
"description": "The enabled access level for Web Access over SSH.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Public",
|
|
"Private",
|
|
"None"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Credentials": {
|
|
"description": "Credentials for a user on a lab VM.",
|
|
"properties": {
|
|
"password": {
|
|
"description": "The password for the user. This is required for the TemplateVM createOption.",
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"description": "The username to use when signing in to lab VMs.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"username"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ImageProperties": {
|
|
"description": "Properties of an image resource.",
|
|
"properties": {
|
|
"availableRegions": {
|
|
"description": "The available regions of the image in the shared gallery.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"enabledState": {
|
|
"description": "Is the image enabled",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Enabled",
|
|
"Disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ImageReference": {
|
|
"description": "Image reference information. Used in the virtual machine profile.",
|
|
"properties": {
|
|
"id": {
|
|
"description": "Image resource ID",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
},
|
|
"offer": {
|
|
"description": "The image offer if applicable.",
|
|
"type": "string"
|
|
},
|
|
"publisher": {
|
|
"description": "The image publisher",
|
|
"type": "string"
|
|
},
|
|
"sku": {
|
|
"description": "The image SKU",
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"description": "The image version specified on creation.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"LabNetworkProfile": {
|
|
"description": "Profile for how to handle networking for Labs.",
|
|
"properties": {
|
|
"loadBalancerId": {
|
|
"description": "The external load balancer resource id",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
},
|
|
"publicIpId": {
|
|
"description": "The external public IP resource id",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
},
|
|
"subnetId": {
|
|
"description": "The external subnet resource id",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"LabPlanNetworkProfile": {
|
|
"description": "Profile for how to handle networking for Lab Plans.",
|
|
"properties": {
|
|
"subnetId": {
|
|
"description": "The external subnet resource id",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"LabPlanProperties": {
|
|
"description": "Lab plan resource properties",
|
|
"properties": {
|
|
"allowedRegions": {
|
|
"description": "The allowed regions for the lab creator to use when creating labs using this lab plan.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"defaultAutoShutdownProfile": {
|
|
"description": "The default lab shutdown profile. This can be changed on a lab resource and only provides a default profile.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/AutoShutdownProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"defaultConnectionProfile": {
|
|
"description": "The default lab connection profile. This can be changed on a lab resource and only provides a default profile.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ConnectionProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"defaultNetworkProfile": {
|
|
"description": "The lab plan network profile. To enforce lab network policies they must be defined here and cannot be changed when there are existing labs associated with this lab plan.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/LabPlanNetworkProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"linkedLmsInstance": {
|
|
"description": "Base Url of the lms instance this lab plan can link lab rosters against.",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
},
|
|
"sharedGalleryId": {
|
|
"description": "Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template virtual machine image it will be persisted in this gallery. Shared images from the gallery can be made available to use when creating new labs.",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
},
|
|
"supportInfo": {
|
|
"description": "Support contact information and instructions for users of the lab plan. This information is displayed to lab owners and virtual machine users for all labs in the lab plan.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/SupportInfo"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"LabProperties": {
|
|
"description": "Properties of a lab resource.",
|
|
"properties": {
|
|
"autoShutdownProfile": {
|
|
"description": "The resource auto shutdown configuration for the lab. This controls whether actions are taken on resources that are sitting idle.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/AutoShutdownProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"connectionProfile": {
|
|
"description": "The connection profile for the lab. This controls settings such as web access to lab resources or whether RDP or SSH ports are open.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ConnectionProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"description": {
|
|
"description": "The description of the lab.",
|
|
"type": "string"
|
|
},
|
|
"labPlanId": {
|
|
"description": "The ID of the lab plan. Used during resource creation to provide defaults and acts as a permission container when creating a lab via labs.azure.com. Setting a labPlanId on an existing lab provides organization..",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
},
|
|
"networkProfile": {
|
|
"description": "The network profile for the lab, typically applied via a lab plan. This profile cannot be modified once a lab has been created.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/LabNetworkProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"rosterProfile": {
|
|
"description": "The lab user list management profile.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/RosterProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"securityProfile": {
|
|
"description": "The lab security profile.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/SecurityProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"title": {
|
|
"description": "The title of the lab.",
|
|
"maxLength": 120,
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"virtualMachineProfile": {
|
|
"description": "The profile used for creating lab virtual machines.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/VirtualMachineProfile"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"RecurrencePattern": {
|
|
"description": "Recurrence pattern of a lab schedule.",
|
|
"properties": {
|
|
"expirationDate": {
|
|
"description": "When the recurrence will expire. This date is inclusive.",
|
|
"type": "string"
|
|
},
|
|
"frequency": {
|
|
"description": "The frequency of the recurrence.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Daily",
|
|
"Weekly"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"interval": {
|
|
"description": "The interval to invoke the schedule on. For example, interval = 2 and RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of 1 is used.",
|
|
"oneOf": [
|
|
{
|
|
"maximum": 365,
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"weekDays": {
|
|
"description": "The week days the schedule runs. Used for when the Frequency is set to Weekly.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"enum": [
|
|
"Sunday",
|
|
"Monday",
|
|
"Tuesday",
|
|
"Wednesday",
|
|
"Thursday",
|
|
"Friday",
|
|
"Saturday"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"frequency",
|
|
"expirationDate"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RosterProfile": {
|
|
"description": "The lab user list management profile.",
|
|
"properties": {
|
|
"activeDirectoryGroupId": {
|
|
"description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode.",
|
|
"type": "string"
|
|
},
|
|
"lmsInstance": {
|
|
"description": "The base URI identifying the lms instance.",
|
|
"type": "string"
|
|
},
|
|
"ltiClientId": {
|
|
"description": "The unique id of the azure lab services tool in the lms.",
|
|
"type": "string"
|
|
},
|
|
"ltiContextId": {
|
|
"description": "The unique context identifier for the lab in the lms.",
|
|
"type": "string"
|
|
},
|
|
"ltiRosterEndpoint": {
|
|
"description": "The uri of the names and roles service endpoint on the lms for the class attached to this lab.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ScheduleProperties": {
|
|
"description": "Schedule resource properties",
|
|
"properties": {
|
|
"notes": {
|
|
"description": "Notes for this schedule.",
|
|
"maxLength": 1000,
|
|
"type": "string"
|
|
},
|
|
"recurrencePattern": {
|
|
"description": "The recurrence pattern of the scheduled actions.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/RecurrencePattern"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"startAt": {
|
|
"description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead.",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"stopAt": {
|
|
"description": "When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead.",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"timeZoneId": {
|
|
"description": "The IANA timezone id for the schedule.",
|
|
"maxLength": 50,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"SecurityProfile": {
|
|
"description": "The lab security profile.",
|
|
"properties": {
|
|
"openAccess": {
|
|
"description": "Whether any user or only specified users can register to a lab.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Enabled",
|
|
"Disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"Sku": {
|
|
"description": "The resource model definition representing SKU",
|
|
"properties": {
|
|
"capacity": {
|
|
"description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted.",
|
|
"oneOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"family": {
|
|
"description": "If the service has different generations of hardware, for the same SKU, then that can be captured here.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the SKU. Ex - P3. It is typically a letter+number code",
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. ",
|
|
"type": "string"
|
|
},
|
|
"tier": {
|
|
"description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Free",
|
|
"Basic",
|
|
"Standard",
|
|
"Premium"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SupportInfo": {
|
|
"description": "Support contact information and instructions.",
|
|
"properties": {
|
|
"email": {
|
|
"description": "Support contact email address.",
|
|
"maxLength": 254,
|
|
"minLength": 6,
|
|
"type": "string"
|
|
},
|
|
"instructions": {
|
|
"description": "Support instructions.",
|
|
"type": "string"
|
|
},
|
|
"phone": {
|
|
"description": "Support contact phone number.",
|
|
"maxLength": 31,
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"description": "Support web address.",
|
|
"maxLength": 2000,
|
|
"minLength": 3,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"UserProperties": {
|
|
"description": "User resource properties",
|
|
"properties": {
|
|
"additionalUsageQuota": {
|
|
"description": "The amount of usage quota time the user gets in addition to the lab usage quota.",
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"description": "Email address of the user.",
|
|
"maxLength": 254,
|
|
"minLength": 6,
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"VirtualMachineAdditionalCapabilities": {
|
|
"description": "The additional capabilities for a lab VM.",
|
|
"properties": {
|
|
"installGpuDrivers": {
|
|
"description": "Flag to pre-install dedicated GPU drivers.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Enabled",
|
|
"Disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"VirtualMachineProfile": {
|
|
"description": "The base virtual machine configuration for a lab.",
|
|
"properties": {
|
|
"additionalCapabilities": {
|
|
"description": "Additional VM capabilities.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/VirtualMachineAdditionalCapabilities"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"adminUser": {
|
|
"description": "Credentials for the admin user on the VM.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/Credentials"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"createOption": {
|
|
"description": "Indicates what lab virtual machines are created from.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Image",
|
|
"TemplateVM"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"imageReference": {
|
|
"description": "The image configuration for lab virtual machines.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ImageReference"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"nonAdminUser": {
|
|
"description": "Credentials for the non-admin user on the VM, if one exists.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/Credentials"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"sku": {
|
|
"description": "The SKU for the lab. Defines the type of virtual machines used in the lab.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/Sku"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"usageQuota": {
|
|
"description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours.",
|
|
"type": "string"
|
|
},
|
|
"useSharedPassword": {
|
|
"description": "Enabling this option will use the same password for all user VMs.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Enabled",
|
|
"Disabled"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"createOption",
|
|
"imageReference",
|
|
"sku",
|
|
"usageQuota",
|
|
"adminUser"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"labPlans_images_childResource": {
|
|
"description": "Microsoft.LabServices/labPlans/images",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The image name.",
|
|
"oneOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"properties": {
|
|
"description": "Image resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ImageProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"images"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"labs_schedules_childResource": {
|
|
"description": "Microsoft.LabServices/labs/schedules",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.",
|
|
"oneOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"properties": {
|
|
"description": "Schedule resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/ScheduleProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"schedules"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"labs_users_childResource": {
|
|
"description": "Microsoft.LabServices/labs/users",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2021-10-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs.",
|
|
"oneOf": [
|
|
{
|
|
"maxLength": 100,
|
|
"minLength": 1,
|
|
"pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"properties": {
|
|
"description": "User resource properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/UserProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"users"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
}
|
|
}
|
|
} |