diff --git a/schemas/2021-11-15-preview/Microsoft.LabServices.json b/schemas/2021-11-15-preview/Microsoft.LabServices.json new file mode 100644 index 0000000000..8ed5cc3053 --- /dev/null +++ b/schemas/2021-11-15-preview/Microsoft.LabServices.json @@ -0,0 +1,1237 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-11-15-preview/Microsoft.LabServices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.LabServices", + "description": "Microsoft LabServices Resource Types", + "resourceDefinitions": { + "labPlans": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LabPlanProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Lab plan resource properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/labPlans_images_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labPlans" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labPlans" + }, + "labPlans_images": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an image resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labPlans/images" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labPlans/images" + }, + "labs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 100, + "description": "The name of the lab that uniquely identifies it within containing lab account. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LabProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a lab resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/labs_schedules_childResource" + }, + { + "$ref": "#/definitions/labs_users_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labs" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs" + }, + "labs_schedules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule resource properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labs/schedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/schedules" + }, + "labs_users": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/UserProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User resource properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.LabServices/labs/users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/users" + } + }, + "definitions": { + "AutoShutdownProfile": { + "type": "object", + "properties": { + "disconnectDelay": { + "type": "string", + "format": "duration", + "description": "The amount of time a VM will stay running after a user disconnects if this behavior is enabled." + }, + "idleDelay": { + "type": "string", + "format": "duration", + "description": "The amount of time a VM will idle before it is shutdown if this behavior is enabled." + }, + "noConnectDelay": { + "type": "string", + "format": "duration", + "description": "The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled." + }, + "shutdownOnDisconnect": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether shutdown on disconnect is enabled." + }, + "shutdownOnIdle": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "UserAbsence", + "LowUsage" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a VM will get shutdown when it has idled for a period of time." + }, + "shutdownWhenNotConnected": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether a VM will get shutdown when it hasn't been connected to after a period of time." + } + }, + "description": "Profile for how to handle shutting down virtual machines." + }, + "ConnectionProfile": { + "type": "object", + "properties": { + "clientRdpAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Client Access over RDP." + }, + "clientSshAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Client Access over SSH." + }, + "webRdpAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Web Access over RDP." + }, + "webSshAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The enabled access level for Web Access over SSH." + } + }, + "description": "Connection profile for how users connect to lab virtual machines." + }, + "Credentials": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "The password for the user. This is required for the TemplateVM createOption." + }, + "username": { + "type": "string", + "description": "The username to use when signing in to lab VMs." + } + }, + "required": [ + "username" + ], + "description": "Credentials for a user on a lab VM." + }, + "ImageProperties": { + "type": "object", + "properties": { + "availableRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The available regions of the image in the shared gallery." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is the image enabled." + } + }, + "description": "Properties of an image resource." + }, + "ImageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "offer": { + "type": "string", + "description": "The image offer if applicable." + }, + "publisher": { + "type": "string", + "description": "The image publisher" + }, + "sku": { + "type": "string", + "description": "The image SKU" + }, + "version": { + "type": "string", + "description": "The image version specified on creation." + } + }, + "description": "Image reference information. Used in the virtual machine profile." + }, + "LabNetworkProfile": { + "type": "object", + "properties": { + "loadBalancerId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "publicIpId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "subnetId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + } + }, + "description": "Profile for how to handle networking for Labs." + }, + "LabPlanNetworkProfile": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + } + }, + "description": "Profile for how to handle networking for Lab Plans." + }, + "LabPlanProperties": { + "type": "object", + "properties": { + "allowedRegions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The allowed regions for the lab creator to use when creating labs using this lab plan." + }, + "defaultAutoShutdownProfile": { + "oneOf": [ + { + "$ref": "#/definitions/AutoShutdownProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle shutting down virtual machines." + }, + "defaultConnectionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection profile for how users connect to lab virtual machines." + }, + "defaultNetworkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/LabPlanNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle networking for Lab Plans." + }, + "linkedLmsInstance": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "sharedGalleryId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "supportInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SupportInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Support contact information and instructions." + } + }, + "description": "Lab plan resource properties" + }, + "labPlans_images_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an image resource." + }, + "type": { + "type": "string", + "enum": [ + "images" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labPlans/images" + }, + "LabProperties": { + "type": "object", + "properties": { + "autoShutdownProfile": { + "oneOf": [ + { + "$ref": "#/definitions/AutoShutdownProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle shutting down virtual machines." + }, + "connectionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection profile for how users connect to lab virtual machines." + }, + "description": { + "type": "string", + "description": "The description of the lab." + }, + "labPlanId": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/LabNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile for how to handle networking for Labs." + }, + "rosterProfile": { + "oneOf": [ + { + "$ref": "#/definitions/RosterProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lab user list management profile." + }, + "securityProfile": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lab security profile." + }, + "title": { + "type": "string", + "minLength": 1, + "maxLength": 120, + "description": "The title of the lab." + }, + "virtualMachineProfile": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The base virtual machine configuration for a lab." + } + }, + "description": "Properties of a lab resource." + }, + "labs_schedules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule resource properties" + }, + "type": { + "type": "string", + "enum": [ + "schedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/schedules" + }, + "labs_users_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-11-15-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/UserProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User resource properties" + }, + "type": { + "type": "string", + "enum": [ + "users" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.LabServices/labs/users" + }, + "RecurrencePattern": { + "type": "object", + "properties": { + "expirationDate": { + "type": "string", + "format": "date", + "description": "When the recurrence will expire. This date is inclusive." + }, + "frequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Daily", + "Weekly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The frequency of the recurrence." + }, + "interval": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 365 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "weekDays": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The week days the schedule runs. Used for when the Frequency is set to Weekly." + } + }, + "required": [ + "expirationDate", + "frequency" + ], + "description": "Recurrence pattern of a lab schedule." + }, + "RosterProfile": { + "type": "object", + "properties": { + "activeDirectoryGroupId": { + "type": "string", + "description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode." + }, + "lmsInstance": { + "type": "string", + "description": "The base URI identifying the lms instance." + }, + "ltiClientId": { + "type": "string", + "description": "The unique id of the azure lab services tool in the lms." + }, + "ltiContextId": { + "type": "string", + "description": "The unique context identifier for the lab in the lms." + }, + "ltiRosterEndpoint": { + "type": "string", + "description": "The uri of the names and roles service endpoint on the lms for the class attached to this lab." + } + }, + "description": "The lab user list management profile." + }, + "ScheduleProperties": { + "type": "object", + "properties": { + "notes": { + "type": "string", + "maxLength": 1000, + "description": "Notes for this schedule." + }, + "recurrencePattern": { + "oneOf": [ + { + "$ref": "#/definitions/RecurrencePattern" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Recurrence pattern of a lab schedule." + }, + "startAt": { + "type": "string", + "format": "date-time", + "description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead." + }, + "stopAt": { + "type": "string", + "format": "date-time", + "description": "When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead." + }, + "timeZoneId": { + "type": "string", + "maxLength": 50, + "description": "The IANA timezone id for the schedule." + } + }, + "description": "Schedule resource properties" + }, + "SecurityProfile": { + "type": "object", + "properties": { + "openAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether any user or only specified users can register to a lab." + } + }, + "description": "The lab security profile." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "name": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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." + } + }, + "required": [ + "name" + ], + "description": "The resource model definition representing SKU" + }, + "SupportInfo": { + "type": "object", + "properties": { + "email": { + "type": "string", + "minLength": 6, + "maxLength": 254, + "description": "An email address." + }, + "instructions": { + "type": "string", + "description": "Support instructions." + }, + "phone": { + "type": "string", + "minLength": 1, + "maxLength": 31, + "description": "A phone number." + }, + "url": { + "type": "string", + "minLength": 3, + "maxLength": 2000, + "description": "A URL." + } + }, + "description": "Support contact information and instructions." + }, + "UserProperties": { + "type": "object", + "properties": { + "additionalUsageQuota": { + "type": "string", + "format": "duration", + "description": "The amount of usage quota time the user gets in addition to the lab usage quota." + }, + "email": { + "type": "string", + "minLength": 6, + "maxLength": 254, + "description": "An email address." + } + }, + "required": [ + "email" + ], + "description": "User resource properties" + }, + "VirtualMachineAdditionalCapabilities": { + "type": "object", + "properties": { + "installGpuDrivers": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to pre-install dedicated GPU drivers." + } + }, + "description": "The additional capabilities for a lab VM." + }, + "VirtualMachineProfile": { + "type": "object", + "properties": { + "additionalCapabilities": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineAdditionalCapabilities" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The additional capabilities for a lab VM." + }, + "adminUser": { + "oneOf": [ + { + "$ref": "#/definitions/Credentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Credentials for a user on a lab VM." + }, + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Image", + "TemplateVM" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates what lab virtual machines are created from." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Image reference information. Used in the virtual machine profile." + }, + "nonAdminUser": { + "oneOf": [ + { + "$ref": "#/definitions/Credentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Credentials for a user on a lab VM." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource model definition representing SKU" + }, + "usageQuota": { + "type": "string", + "format": "duration", + "description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours." + }, + "useSharedPassword": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enabling this option will use the same password for all user VMs." + } + }, + "required": [ + "adminUser", + "createOption", + "imageReference", + "sku", + "usageQuota" + ], + "description": "The base virtual machine configuration for a lab." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 76a699c8fa..e6d24bec1d 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -8665,6 +8665,21 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-10-01-preview/Microsoft.LabServices.json#/resourceDefinitions/labs_users" }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-15-preview/Microsoft.LabServices.json#/resourceDefinitions/labPlans" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-15-preview/Microsoft.LabServices.json#/resourceDefinitions/labPlans_images" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-15-preview/Microsoft.LabServices.json#/resourceDefinitions/labs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-15-preview/Microsoft.LabServices.json#/resourceDefinitions/labs_schedules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-11-15-preview/Microsoft.LabServices.json#/resourceDefinitions/labs_users" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-10-01/Microsoft.Logz.json#/resourceDefinitions/monitors" },