Azure DevTest Labs Formulas API
The Formulas API from Azure DevTest Labs — 2 operation(s) for formulas.
The Formulas API from Azure DevTest Labs — 2 operation(s) for formulas.
swagger: '2.0'
info:
description: The DevTest Labs Client.
title: DevTestLabsClient ArmTemplates Formulas API
version: '2018-09-15'
x-apisguru-categories:
- cloud
x-logo:
url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
x-origin:
- format: swagger
url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/DTL.json
version: '2.0'
x-preferred: true
x-providerName: azure.com
x-serviceName: devtestlabs-DTL
x-tags:
- Azure
- Microsoft
host: management.azure.com
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- azure_auth:
- user_impersonation
tags:
- name: Formulas
paths:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas:
get:
description: List formulas in a given lab.
operationId: Formulas_List
parameters:
- $ref: '#/parameters/subscriptionId'
- $ref: '#/parameters/resourceGroupName'
- description: The name of the lab.
in: path
name: labName
required: true
type: string
example: example-value
- description: 'Specify the $expand query. Example: ''properties($select=description)'''
in: query
name: $expand
type: string
example: example-value
- description: 'The filter to apply to the operation. Example: ''$filter=contains(name,''myName'')'
in: query
name: $filter
type: string
example: example-value
- description: 'The maximum number of resources to return from the operation. Example: ''$top=10'''
format: int32
in: query
name: $top
type: integer
example: example-value
- description: 'The ordering expression for the results, using OData notation. Example: ''$orderby=name desc'''
in: query
name: $orderby
type: string
example: example-value
- $ref: '#/parameters/api-version'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/FormulaList'
default:
description: BadRequest
schema:
$ref: '#/definitions/CloudError'
tags:
- Formulas
x-ms-odata: '#/definitions/Formula'
x-ms-pageable:
nextLinkName: nextLink
summary: Azure DevTest Labs Formulas_ List
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}
: delete:
description: Delete formula.
operationId: Formulas_Delete
parameters:
- $ref: '#/parameters/subscriptionId'
- $ref: '#/parameters/resourceGroupName'
- description: The name of the lab.
in: path
name: labName
required: true
type: string
example: example-value
- description: The name of the formula.
in: path
name: name
required: true
type: string
example: example-value
- $ref: '#/parameters/api-version'
responses:
'200':
description: OK
'204':
description: No Content
default:
description: BadRequest
schema:
$ref: '#/definitions/CloudError'
tags:
- Formulas
summary: Azure DevTest Labs Formulas_ Delete
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
get:
description: Get formula.
operationId: Formulas_Get
parameters:
- $ref: '#/parameters/subscriptionId'
- $ref: '#/parameters/resourceGroupName'
- description: The name of the lab.
in: path
name: labName
required: true
type: string
example: example-value
- description: The name of the formula.
in: path
name: name
required: true
type: string
example: example-value
- description: 'Specify the $expand query. Example: ''properties($select=description)'''
in: query
name: $expand
type: string
example: example-value
- $ref: '#/parameters/api-version'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Formula'
default:
description: BadRequest
schema:
$ref: '#/definitions/CloudError'
tags:
- Formulas
summary: Azure DevTest Labs Formulas_ Get
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
patch:
description: Allows modifying tags of formulas. All other properties will be ignored.
operationId: Formulas_Update
parameters:
- $ref: '#/parameters/subscriptionId'
- $ref: '#/parameters/resourceGroupName'
- description: The name of the lab.
in: path
name: labName
required: true
type: string
example: example-value
- description: The name of the formula.
in: path
name: name
required: true
type: string
example: example-value
- description: A formula for creating a VM, specifying an image base and other parameters
in: body
name: formula
required: true
schema:
$ref: '#/definitions/FormulaFragment'
example: example-value
- $ref: '#/parameters/api-version'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/Formula'
default:
description: BadRequest
schema:
$ref: '#/definitions/CloudError'
tags:
- Formulas
summary: Azure DevTest Labs Formulas_ Update
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
description: Create or replace an existing formula. This operation can take a while to complete.
operationId: Formulas_CreateOrUpdate
parameters:
- $ref: '#/parameters/subscriptionId'
- $ref: '#/parameters/resourceGroupName'
- description: The name of the lab.
in: path
name: labName
required: true
type: string
example: example-value
- description: The name of the formula.
in: path
name: name
required: true
type: string
example: example-value
- description: A formula for creating a VM, specifying an image base and other parameters
in: body
name: formula
required: true
schema:
$ref: '#/definitions/Formula'
example: example-value
- $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'
tags:
- Formulas
x-ms-long-running-operation: true
summary: Azure DevTest Labs Formulas_ Create or Update
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
definitions:
ScheduleCreationParameterPropertiesFragment:
description: Properties for schedule creation.
properties:
dailyRecurrence:
$ref: '#/definitions/DayDetailsFragment'
description: If the schedule will occur once each day of the week, specify the daily recurrence.
hourlyRecurrence:
$ref: '#/definitions/HourDetailsFragment'
description: If the schedule will occur multiple times a day, specify the hourly recurrence.
notificationSettings:
$ref: '#/definitions/NotificationSettingsFragment'
description: Notification settings.
status:
description: The status of the schedule (i.e. Enabled, Disabled)
enum:
- Enabled
- Disabled
type: string
x-ms-enum:
modelAsString: true
name: EnableStatus
targetResourceId:
description: The resource ID to which the schedule belongs
type: string
taskType:
description: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).
type: string
timeZoneId:
description: The time zone ID (e.g. Pacific Standard time).
type: string
weeklyRecurrence:
$ref: '#/definitions/WeekDetailsFragment'
description: If the schedule will occur only some days of the week, specify the weekly recurrence.
type: object
DataDiskPropertiesFragment:
description: Request body for adding a new or existing data disk to a virtual machine.
properties:
attachNewDataDiskOptions:
$ref: '#/definitions/AttachNewDataDiskOptionsFragment'
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:
modelAsString: true
name: HostCachingOptions
type: object
ScheduleCreationParameter:
description: Properties for creating a schedule.
properties:
location:
description: The location of the new virtual machine or environment
type: string
name:
description: The name of the virtual machine or environment
type: string
properties:
$ref: '#/definitions/ScheduleCreationParameterProperties'
description: The properties of the schedule.
x-ms-client-flatten: true
tags:
additionalProperties:
type: string
description: The tags of the resource.
type: object
type: object
WeekDetails:
description: Properties of a weekly schedule.
properties:
time:
description: The time of the day the schedule will occur.
type: string
weekdays:
description: The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.).
items:
type: string
type: array
type: object
UpdateResource:
description: Represents an update resource
properties:
tags:
additionalProperties:
type: string
description: The tags of the resource.
type: object
type: object
NotificationSettings:
description: Notification settings for a schedule.
properties:
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
status:
description: If notifications are enabled for this schedule (i.e. Enabled, Disabled).
enum:
- Enabled
- Disabled
type: string
x-ms-enum:
modelAsString: true
name: EnableStatus
timeInMinutes:
description: Time in minutes before event at which notification will be sent.
format: int32
type: integer
webhookUrl:
description: The webhook URL to which the notification will be sent.
type: string
type: object
LabVirtualMachineCreationParameterProperties:
description: Properties for virtual machine creation.
properties:
allowClaim:
description: Indicates whether another user can take ownership of the virtual machine
type: boolean
artifactDeploymentStatus:
$ref: '#/definitions/ArtifactDeploymentStatusProperties'
description: The artifact deployment status for the virtual machine.
artifacts:
description: The artifacts to be installed on the virtual machine.
items:
$ref: '#/definitions/ArtifactInstallProperties'
type: array
bulkCreationParameters:
$ref: '#/definitions/BulkCreationParameters'
description: The number of virtual machine instances to create.
computeId:
description: The resource identifier (Microsoft.Compute) of the virtual machine.
type: string
createdByUser:
description: The email address of creator of the virtual machine.
type: string
createdByUserId:
description: The object identifier of the creator of the virtual machine.
type: string
createdDate:
description: The creation date of the virtual machine.
format: date-time
type: string
customImageId:
description: The custom image identifier of the virtual machine.
type: string
dataDiskParameters:
description: New or existing data disks to attach to the virtual machine after creation
items:
$ref: '#/definitions/DataDiskProperties'
type: array
disallowPublicIpAddress:
description: Indicates whether the virtual machine is to be created without a public IP address.
type: boolean
environmentId:
description: The resource ID of the environment that contains this virtual machine, if any.
type: string
expirationDate:
description: The expiration date for VM.
format: date-time
type: string
fqdn:
description: The fully-qualified domain name of the virtual machine.
type: string
galleryImageReference:
$ref: '#/definitions/GalleryImageReference'
description: The Microsoft Azure Marketplace image reference of the virtual machine.
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
lastKnownPowerState:
description: Last known compute power state captured in DTL
type: string
networkInterface:
$ref: '#/definitions/NetworkInterfaceProperties'
description: The network interface properties.
notes:
description: The notes of the virtual machine.
type: string
osType:
description: The OS type of the virtual machine.
type: string
ownerObjectId:
description: The object identifier of the owner of the virtual machine.
type: string
ownerUserPrincipalName:
description: The user principal name of the virtual machine owner.
type: string
password:
description: The password of the virtual machine administrator.
type: string
planId:
description: The id of the plan associated with the virtual machine image
type: string
scheduleParameters:
description: Virtual Machine schedules to be created
items:
$ref: '#/definitions/ScheduleCreationParameter'
type: array
size:
description: The size of the virtual machine.
type: string
sshKey:
description: The SSH key of the virtual machine administrator.
type: string
storageType:
description: Storage type to use for virtual machine (i.e. Standard, Premium).
type: string
userName:
description: The user name of the virtual machine.
type: string
virtualMachineCreationSource:
description: Tells source of creation of lab virtual machine. Output property only.
enum:
- FromCustomImage
- FromGalleryImage
- FromSharedGalleryImage
type: string
x-ms-enum:
modelAsString: true
name: VirtualMachineCreationSource
type: object
ArtifactParameterPropertiesFragment:
description: Properties of an artifact parameter.
properties:
name:
description: The name of the artifact parameter.
type: string
value:
description: The value of the artifact parameter.
type: string
type: object
CloudErrorBody:
description: Body of an error from a REST request.
properties:
code:
description: The error code.
type: string
details:
description: Inner errors.
items:
$ref: '#/definitions/CloudErrorBody'
type: array
message:
description: The error message.
type: string
target:
description: The error target.
type: string
type: object
x-ms-external: true
DayDetails:
description: Properties of a daily schedule.
properties:
time:
description: The time of day the schedule will occur.
type: string
type: object
ArtifactInstallPropertiesFragment:
description: Properties of an artifact.
properties:
artifactId:
description: The artifact's identifier.
type: string
artifactTitle:
description: The artifact's title.
type: string
deploymentStatusMessage:
description: The status message from the deployment.
type: string
installTime:
description: The time that the artifact starts to install on the virtual machine.
format: date-time
type: string
parameters:
description: The parameters of the artifact.
items:
$ref: '#/definitions/ArtifactParameterPropertiesFragment'
type: array
status:
description: The status of the artifact.
type: string
vmExtensionStatusMessage:
description: The status message from the virtual machine extension.
type: string
type: object
HourDetails:
description: Properties of an hourly schedule.
properties:
minute:
description: Minutes of the hour the schedule will run.
format: int32
type: integer
type: object
FormulaList:
description: The response of a list operation.
properties:
nextLink:
description: Link for next set of results.
type: string
value:
description: Results of the list operation.
items:
$ref: '#/definitions/Formula'
type: array
type: object
ArtifactDeploymentStatusProperties:
description: Properties of an artifact deployment.
properties:
artifactsApplied:
description: The total count of the artifacts that were successfully applied.
format: int32
type: integer
deploymentStatus:
description: The deployment status of the artifact.
type: string
totalArtifacts:
description: The total count of the artifacts that were tentatively applied.
format: int32
type: integer
type: object
WeekDetailsFragment:
description: Properties of a weekly schedule.
properties:
time:
description: The time of the day the schedule will occur.
type: string
weekdays:
description: The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.).
items:
type: string
type: array
type: object
LabVirtualMachineCreationParameterPropertiesFragment:
description: Properties for virtual machine creation.
properties:
allowClaim:
description: Indicates whether another user can take ownership of the virtual machine
type: boolean
artifactDeploymentStatus:
$ref: '#/definitions/ArtifactDeploymentStatusPropertiesFragment'
description: The artifact deployment status for the virtual machine.
artifacts:
description: The artifacts to be installed on the virtual machine.
items:
$ref: '#/definitions/ArtifactInstallPropertiesFragment'
type: array
bulkCreationParameters:
$ref: '#/definitions/BulkCreationParametersFragment'
description: The number of virtual machine instances to create.
computeId:
description: The resource identifier (Microsoft.Compute) of the virtual machine.
type: string
createdByUser:
description: The email address of creator of the virtual machine.
type: string
createdByUserId:
description: The object identifier of the creator of the virtual machine.
type: string
createdDate:
description: The creation date of the virtual machine.
format: date-time
type: string
customImageId:
description: The custom image identifier of the virtual machine.
type: string
dataDiskParameters:
description: New or existing data disks to attach to the virtual machine after creation
items:
$ref: '#/definitions/DataDiskPropertiesFragment'
type: array
disallowPublicIpAddress:
description: Indicates whether the virtual machine is to be created without a public IP address.
type: boolean
environmentId:
description: The resource ID of the environment that contains this virtual machine, if any.
type: string
expirationDate:
description: The expiration date for VM.
format: date-time
type: string
fqdn:
description: The fully-qualified domain name of the virtual machine.
type: string
galleryImageReference:
$ref: '#/definitions/GalleryImageReferenceFragment'
description: The Microsoft Azure Marketplace image reference of the virtual machine.
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
lastKnownPowerState:
description: Last known compute power state captured in DTL
type: string
networkInterface:
$ref: '#/definitions/NetworkInterfacePropertiesFragment'
description: The network interface properties.
notes:
description: The notes of the virtual machine.
type: string
osType:
description: The OS type of the virtual machine.
type: string
ownerObjectId:
description: The object identifier of the owner of the virtual machine.
type: string
ownerUserPrincipalName:
description: The user principal name of the virtual machine owner.
type: string
password:
description: The password of the virtual machine administrator.
type: string
planId:
description: The id of the plan associated with the virtual machine image
type: string
scheduleParameters:
description: Virtual Machine schedules to be created
items:
$ref: '#/definitions/ScheduleCreationParameterFragment'
type: array
size:
description: The size of the virtual machine.
type: string
sshKey:
description: The SSH key of the virtual machine administrator.
type: string
storageType:
description: Storage type to use for virtual machine (i.e. Standard, Premium).
type: string
userName:
description: The user name of the virtual machine.
type: string
virtualMachineCreationSource:
description: Tells source of creation of lab virtual machine. Output property only.
enum:
- FromCustomImage
- FromGalleryImage
- FromSharedGalleryImage
type: string
x-ms-enum:
modelAsString: true
name: VirtualMachineCreationSource
type: object
ScheduleCreationParameterProperties:
description: Properties for schedule creation.
properties:
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.
notificationSettings:
$ref: '#/definitions/NotificationSettings'
description: Notification settings.
status:
description: The status of the schedule (i.e. Enabled, Disabled)
enum:
- Enabled
- Disabled
type: string
x-ms-enum:
modelAsString: true
name: EnableStatus
targetResourceId:
description: The resource ID to which the schedule belongs
type: string
taskType:
description: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).
type: string
timeZoneId:
description: The time zone ID (e.g. Pacific Standard time).
type: string
weeklyRecurrence:
$ref: '#/definitions/WeekDetails'
description: If the schedule will occur only some days of the week, specify the weekly recurrence.
type: object
Resource:
description: An Azure resource.
properties:
id:
description: The identifier of the resource.
readOnly: true
type: string
location:
description: The location of the resource.
type: string
name:
description: The name of the resource.
readOnly: true
type: string
tags:
additionalProperties:
type: string
description: The tags of the resource.
type: object
type:
description: The type of the resource.
readOnly: true
type: string
type: object
x-ms-azure-resource: true
LabVirtualMachineCreationParameterFragment:
description: Properties for creating a virtual machine.
properties:
location:
description: The location of the new virtual machine or environment
type: string
name:
description: The name of the virtual machine or environment
type: string
properties:
$ref: '#/definitions/LabVirtualMachineCreationParameterPropertiesFragment'
description: The properties of the resource.
x-ms-client-flatten: true
tags:
additionalProperties:
type: string
description: The tags of the resource.
type: object
type: object
ArtifactDeploymentStatusPropertiesFragment:
description: Properties of an artifact deployment.
properties:
artifactsApplied:
description: The total count of the artifacts that were successfully applied.
format: int32
type: integer
deploymentStatus:
description: The deployment status of the artifact.
type: string
totalArtifacts:
description: The total count of the artifacts that were tentatively applied.
format: int32
type: integer
type: object
InboundNatRule:
description: A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer.
properties:
backendPort:
description: The port to which the external traffic will be redirected.
format: int32
type: integer
frontendPort:
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.
format: int32
type: integer
transportProtocol:
description: The transport protocol for the endpoint.
enum:
- Tcp
- Udp
type: string
x-ms-enum:
modelAsString: true
name: TransportProtocol
type: object
SharedPublicIpAddressConfiguration:
description: Properties of a virtual machine that determine how it is connected to a load balancer.
properties:
inboundNatRules:
description: The incoming NAT rules
items:
$ref: '#/definitions/InboundNatRule'
type: array
type: object
FormulaFragment:
allOf:
- $ref: '#/definitions/UpdateResource'
description: A formula for creating a VM, specifying an image base and other parameters
properties:
properties:
$ref: '#/definitions/FormulaPropertiesFragment'
description: The properties of the resource.
x-ms-client-flatten: true
type: object
FormulaPropertiesFromVmFragment:
description: Information about a VM from which a formula is to be created.
properties:
labVmId:
description: The identifier of the VM from which a formula is to be created.
type: string
type: object
NetworkInterfacePropertiesFragment:
description: Properties of a network interface.
properties:
dnsName:
description: The DNS name.
type: string
privateIpAddress:
description: The private IP address.
type: string
publicIpAddress:
description: The public IP address.
type: string
publicIpAddressId:
description: The resource ID of the public IP address.
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
sharedPublicIpAddressConfiguration:
$ref: '#/definitions/SharedPublicIpAddressConfigurationFragment'
description: The configuration for sharing a public IP address across multiple virtual machines.
sshAuthority:
description: The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH.
type: string
subnetId:
description: The resource ID of the sub net.
type: string
virtualNetworkId:
description: The resource ID of the virtual network.
type: string
type: object
Formula:
allOf:
- $ref: '#/definitions/Resource'
description: A formula for creating a VM, specifying an image base and other parameters
properties:
properties:
$ref: '#/definitions/FormulaProperties'
description: The properties of the resource.
x-ms-client-flatten: true
required:
- properties
type: object
AttachNewDataDiskOptionsFragment:
description: Properties to attach new disk to the Virtual Machine.
properties:
diskName:
description: The name of the disk to be attached.
type: string
diskSizeGiB:
description: Size of the disk to be attached in GibiBytes.
format: int32
type: integer
diskType:
description: The storage type for the disk (i.e. Standard, Premium).
enum:
- Standard
- Premium
- StandardSSD
type: string
x-ms-enum:
modelAsString: true
name: StorageType
type: object
ArtifactParameterProperties:
description: Properties of an artifact parameter.
properties:
name:
description: The name of the artifact parameter.
type: string
value:
description: The value of the artifact parameter.
type: string
type: object
FormulaProperties:
description: Properties of a formula.
properties:
author:
description: The author of the formula.
type: string
creationDate:
description: The creation date of the formula.
format: date-time
readOnly: true
type: string
description:
description: The description of the formula.
type: string
formulaContent:
$ref: '#/definitions/LabVirtualMachineCreationParameter'
description: The content of the formula.
osType:
description: The OS type of the formula.
type: string
provisioningState:
description: The provisioning status of the resource.
readOnly: true
type: string
uniqueIdentifier:
description: The unique immutable identifier of a resource (Guid).
readOnly: true
type: string
vm:
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/azure-test-labs/refs/heads/main/openapi/azure-test-labs-formulas-api-openapi.yml