swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector Formulas API schemes: - https tags: - name: Formulas paths: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas: get: tags: - Formulas description: List formulas in a given lab. operationId: microsoftAzureFormulasList parameters: - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - name: labName in: path description: The name of the lab. required: true type: string - name: $expand in: query description: 'Specify the $expand query. Example: ''properties($select=description)''' type: string - name: $filter in: query description: 'The filter to apply to the operation. Example: ''$filter=contains(name,''myName'')' type: string - name: $top in: query description: 'The maximum number of resources to return from the operation. Example: ''$top=10''' type: integer format: int32 - name: $orderby in: query description: 'The ordering expression for the results, using OData notation. Example: ''$orderby=name desc''' type: string - $ref: '#/parameters/api-version' responses: '200': description: OK schema: $ref: '#/definitions/FormulaList' default: description: BadRequest schema: $ref: '#/definitions/CloudError' x-ms-pageable: nextLinkName: nextLink x-ms-odata: '#/definitions/Formula' x-ms-examples: Formulas_List: $ref: ./examples/Formulas_List.json summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Formulas ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name} : get: tags: - Formulas description: Get formula. operationId: microsoftAzureFormulasGet parameters: - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - name: labName in: path description: The name of the lab. required: true type: string - name: name in: path description: The name of the formula. required: true type: string - name: $expand in: query description: 'Specify the $expand query. Example: ''properties($select=description)''' type: string - $ref: '#/parameters/api-version' responses: '200': description: OK schema: $ref: '#/definitions/Formula' default: description: BadRequest schema: $ref: '#/definitions/CloudError' x-ms-examples: Formulas_Get: $ref: ./examples/Formulas_Get.json summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Formulas Name put: tags: - Formulas description: Create or replace an existing formula. This operation can take a while to complete. operationId: microsoftAzureFormulasCreateorupdate parameters: - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - name: labName in: path description: The name of the lab. required: true type: string - name: name in: path description: The name of the formula. required: true type: string - name: formula in: body description: A formula for creating a VM, specifying an image base and other parameters required: true schema: $ref: '#/definitions/Formula' - $ref: '#/parameters/api-version' responses: '200': description: OK schema: $ref: '#/definitions/Formula' '201': description: Created schema: $ref: '#/definitions/Formula' default: description: BadRequest schema: $ref: '#/definitions/CloudError' x-ms-examples: Formulas_CreateOrUpdate: $ref: ./examples/Formulas_CreateOrUpdate.json x-ms-long-running-operation: true summary: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Formulas Name delete: tags: - Formulas description: Delete formula. operationId: microsoftAzureFormulasDelete parameters: - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - name: labName in: path description: The name of the lab. required: true type: string - name: name in: path description: The name of the formula. required: true type: string - $ref: '#/parameters/api-version' responses: '200': description: OK '204': description: No Content default: description: BadRequest schema: $ref: '#/definitions/CloudError' x-ms-examples: Formulas_Delete: $ref: ./examples/Formulas_Delete.json summary: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Formulas Name patch: tags: - Formulas description: Allows modifying tags of formulas. All other properties will be ignored. operationId: microsoftAzureFormulasUpdate parameters: - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - name: labName in: path description: The name of the lab. required: true type: string - name: name in: path description: The name of the formula. required: true type: string - name: formula in: body description: A formula for creating a VM, specifying an image base and other parameters required: true schema: $ref: '#/definitions/FormulaFragment' - $ref: '#/parameters/api-version' responses: '200': description: OK schema: $ref: '#/definitions/Formula' default: description: BadRequest schema: $ref: '#/definitions/CloudError' x-ms-examples: Formulas_Update: $ref: ./examples/Formulas_Update.json summary: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Devtestlab Labs Labname Formulas Name definitions: ScheduleCreationParameter: description: Properties for creating a schedule. type: object properties: properties: $ref: '#/definitions/ScheduleCreationParameterProperties' description: The properties of the schedule. x-ms-client-flatten: true name: description: The name of the virtual machine or environment type: string location: description: The location of the new virtual machine or environment type: string readOnly: true tags: description: The tags of the resource. type: object additionalProperties: type: string WeekDetails: description: Properties of a weekly schedule. type: object properties: weekdays: description: The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). type: array items: type: string time: description: The time of the day the schedule will occur. type: string UpdateResource: description: Represents an update resource type: object properties: tags: description: The tags of the resource. type: object additionalProperties: type: string NotificationSettings: description: Notification settings for a schedule. type: object properties: status: description: If notifications are enabled for this schedule (i.e. Enabled, Disabled). default: Disabled enum: - Enabled - Disabled type: string x-ms-enum: name: EnableStatus modelAsString: true timeInMinutes: format: int32 description: Time in minutes before event at which notification will be sent. type: integer webhookUrl: description: The webhook URL to which the notification will be sent. type: string emailRecipient: description: The email recipient to send notifications to (can be a list of semi-colon separated email addresses). type: string notificationLocale: description: The locale to use when sending a notification (fallback for unsupported languages is EN). type: string LabVirtualMachineCreationParameterProperties: description: Properties for virtual machine creation. type: object properties: bulkCreationParameters: $ref: '#/definitions/BulkCreationParameters' description: The number of virtual machine instances to create. notes: description: The notes of the virtual machine. type: string ownerObjectId: description: The object identifier of the owner of the virtual machine. default: dynamicValue type: string ownerUserPrincipalName: description: The user principal name of the virtual machine owner. type: string createdDate: format: date-time description: The creation date of the virtual machine. type: string customImageId: description: The custom image identifier of the virtual machine. type: string size: description: The size of the virtual machine. type: string userName: description: The user name of the virtual machine. type: string password: description: The password of the virtual machine administrator. type: string x-ms-secret: true sshKey: description: The SSH key of the virtual machine administrator. type: string x-ms-secret: true isAuthenticationWithSshKey: description: Indicates whether this virtual machine uses an SSH key for authentication. type: boolean labSubnetName: description: The lab subnet name of the virtual machine. type: string labVirtualNetworkId: description: The lab virtual network identifier of the virtual machine. type: string disallowPublicIpAddress: description: Indicates whether the virtual machine is to be created without a public IP address. default: false type: boolean artifacts: description: The artifacts to be installed on the virtual machine. type: array items: $ref: '#/definitions/ArtifactInstallProperties' galleryImageReference: $ref: '#/definitions/GalleryImageReference' description: The Microsoft Azure Marketplace image reference of the virtual machine. planId: description: The id of the plan associated with the virtual machine image type: string networkInterface: $ref: '#/definitions/NetworkInterfaceProperties' description: The network interface properties. expirationDate: format: date-time description: The expiration date for VM. type: string allowClaim: description: Indicates whether another user can take ownership of the virtual machine default: false type: boolean storageType: description: Storage type to use for virtual machine (i.e. Standard, Premium). default: labStorageType type: string environmentId: description: The resource ID of the environment that contains this virtual machine, if any. type: string dataDiskParameters: description: New or existing data disks to attach to the virtual machine after creation type: array items: $ref: '#/definitions/DataDiskProperties' scheduleParameters: description: Virtual Machine schedules to be created type: array items: $ref: '#/definitions/ScheduleCreationParameter' CloudErrorBody: description: Body of an error from a REST request. type: object properties: code: description: The error code. type: string message: description: The error message. type: string target: description: The error target. type: string details: description: Inner errors. type: array items: $ref: '#/definitions/CloudErrorBody' x-ms-external: true DayDetails: description: Properties of a daily schedule. type: object properties: time: description: The time of day the schedule will occur. type: string HourDetails: description: Properties of an hourly schedule. type: object properties: minute: format: int32 description: Minutes of the hour the schedule will run. type: integer FormulaList: description: The response of a list operation. type: object properties: value: description: Results of the list operation. type: array items: $ref: '#/definitions/Formula' nextLink: description: Link for next set of results. type: string ScheduleCreationParameterProperties: description: Properties for schedule creation. type: object properties: status: description: The status of the schedule (i.e. Enabled, Disabled) default: Disabled enum: - Enabled - Disabled type: string x-ms-enum: name: EnableStatus modelAsString: true taskType: description: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). type: string weeklyRecurrence: $ref: '#/definitions/WeekDetails' description: If the schedule will occur only some days of the week, specify the weekly recurrence. dailyRecurrence: $ref: '#/definitions/DayDetails' description: If the schedule will occur once each day of the week, specify the daily recurrence. hourlyRecurrence: $ref: '#/definitions/HourDetails' description: If the schedule will occur multiple times a day, specify the hourly recurrence. timeZoneId: description: The time zone ID (e.g. China Standard Time, Greenland Standard Time, Pacific Standard time, etc.). The possible values for this property can be found in `IReadOnlyCollection TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds` (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) type: string notificationSettings: $ref: '#/definitions/NotificationSettings' description: Notification settings. targetResourceId: description: The resource ID to which the schedule belongs type: string Resource: description: An Azure resource. type: object properties: id: description: The identifier of the resource. type: string readOnly: true name: description: The name of the resource. type: string readOnly: true type: description: The type of the resource. type: string readOnly: true location: description: The location of the resource. type: string tags: description: The tags of the resource. type: object additionalProperties: type: string x-ms-azure-resource: true InboundNatRule: description: A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer. type: object properties: transportProtocol: description: The transport protocol for the endpoint. enum: - Tcp - Udp type: string x-ms-enum: name: TransportProtocol modelAsString: true frontendPort: format: int32 description: The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. type: integer backendPort: format: int32 description: The port to which the external traffic will be redirected. type: integer SharedPublicIpAddressConfiguration: description: Properties of a virtual machine that determine how it is connected to a load balancer. type: object properties: inboundNatRules: description: The incoming NAT rules type: array items: $ref: '#/definitions/InboundNatRule' FormulaFragment: description: A formula for creating a VM, specifying an image base and other parameters type: object allOf: - $ref: '#/definitions/UpdateResource' properties: {} Formula: description: A formula for creating a VM, specifying an image base and other parameters required: - properties type: object allOf: - $ref: '#/definitions/Resource' properties: properties: $ref: '#/definitions/FormulaProperties' description: The properties of the resource. x-ms-client-flatten: true ArtifactParameterProperties: description: Properties of an artifact parameter. type: object properties: name: description: The name of the artifact parameter. type: string value: description: The value of the artifact parameter. type: string FormulaProperties: description: Properties of a formula. type: object properties: description: description: The description of the formula. type: string author: description: The author of the formula. type: string readOnly: true osType: description: The OS type of the formula. type: string creationDate: format: date-time description: The creation date of the formula. type: string readOnly: true formulaContent: $ref: '#/definitions/LabVirtualMachineCreationParameter' description: The content of the formula. vm: $ref: '#/definitions/FormulaPropertiesFromVm' description: Information about a VM from which a formula is to be created. provisioningState: description: The provisioning status of the resource. type: string readOnly: true uniqueIdentifier: description: The unique immutable identifier of a resource (Guid). type: string readOnly: true ArtifactInstallProperties: description: Properties of an artifact. type: object properties: artifactId: description: The artifact's identifier. type: string artifactTitle: description: The artifact's title. type: string parameters: description: The parameters of the artifact. type: array items: $ref: '#/definitions/ArtifactParameterProperties' status: description: The status of the artifact. type: string deploymentStatusMessage: description: The status message from the deployment. type: string vmExtensionStatusMessage: description: The status message from the virtual machine extension. type: string installTime: format: date-time description: The time that the artifact starts to install on the virtual machine. type: string GalleryImageReference: description: The reference information for an Azure Marketplace image. type: object properties: offer: description: The offer of the gallery image. type: string publisher: description: The publisher of the gallery image. type: string sku: description: The SKU of the gallery image. type: string osType: description: The OS type of the gallery image. type: string version: description: The version of the gallery image. type: string FormulaPropertiesFromVm: description: Information about a VM from which a formula is to be created. type: object properties: labVmId: description: The identifier of the VM from which a formula is to be created. type: string LabVirtualMachineCreationParameter: description: Properties for creating a virtual machine. type: object properties: properties: $ref: '#/definitions/LabVirtualMachineCreationParameterProperties' description: The properties of the resource. x-ms-client-flatten: true name: description: The name of the virtual machine or environment type: string location: description: The location of the new virtual machine or environment type: string tags: description: The tags of the resource. type: object additionalProperties: type: string AttachNewDataDiskOptions: description: Properties to attach new disk to the Virtual Machine. type: object properties: diskSizeGiB: format: int32 description: Size of the disk to be attached in Gibibytes. type: integer diskName: description: The name of the disk to be attached. type: string diskType: description: The storage type for the disk (i.e. Standard, Premium). enum: - Standard - Premium - StandardSSD type: string x-ms-enum: name: StorageType modelAsString: true CloudError: description: Error from a REST request. type: object properties: error: $ref: '#/definitions/CloudErrorBody' description: The cloud error that occurred x-ms-external: true NetworkInterfaceProperties: description: Properties of a network interface. type: object properties: virtualNetworkId: description: The resource ID of the virtual network. type: string subnetId: description: The resource ID of the sub net. type: string publicIpAddressId: description: The resource ID of the public IP address. type: string publicIpAddress: description: The public IP address. type: string privateIpAddress: description: The private IP address. type: string dnsName: description: The DNS name. type: string rdpAuthority: description: The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). type: string sshAuthority: description: The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. type: string sharedPublicIpAddressConfiguration: $ref: '#/definitions/SharedPublicIpAddressConfiguration' description: The configuration for sharing a public IP address across multiple virtual machines. BulkCreationParameters: description: Parameters for creating multiple virtual machines as a single action. type: object properties: instanceCount: format: int32 description: The number of virtual machine instances to create. type: integer DataDiskProperties: description: Request body for adding a new or existing data disk to a virtual machine. type: object properties: attachNewDataDiskOptions: $ref: '#/definitions/AttachNewDataDiskOptions' description: Specifies options to attach a new disk to the virtual machine. existingLabDiskId: description: Specifies the existing lab disk id to attach to virtual machine. type: string hostCaching: description: Caching option for a data disk (i.e. None, ReadOnly, ReadWrite). enum: - None - ReadOnly - ReadWrite type: string x-ms-enum: name: HostCachingOptions modelAsString: true parameters: resourceGroupName: name: resourceGroupName in: path description: The name of the resource group. required: true type: string x-ms-parameter-location: method api-version: name: api-version in: query description: Client API version. required: true type: string default: '2018-09-15' subscriptionId: name: subscriptionId in: path description: The subscription ID. required: true type: string x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'