ControlUp · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for DaaS IQ Master images API
21 actions
21 updates
phrasing
extends
openapi/controlup-master-images-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for ControlUp's API. It is a proposal applied on top of the contract, not a document ControlUp publishes.
What the actions change
x-apievangelist-phrasing
Targets 21 · first 16 shown; the file carries all of them
$.info
$.paths['/cloud/master-images/{id}/actions'].post
$.paths['/cloud/master-images/{id}/rdp'].get
$.paths['/cloud/master-images/os-families'].get
$.paths['/cloud/master-images/marketplace-images'].get
$.paths['/cloud/master-images'].get
$.paths['/cloud/master-images/{id}'].get
$.paths['/cloud/master-images/{id}/operation-state'].get
$.paths['/cloud/master-images/{id}/decommission-plan'].get
$.paths['/cloud/master-images/promote'].post
$.paths['/cloud/master-images/deploy-from-gallery'].post
$.paths['/cloud/master-images/deploy-from-marketplace'].post
$.paths['/cloud/master-images/deploy-from-managed-image'].post
$.paths['/cloud/master-images/{masterImageId}'].delete
$.paths['/cloud/master-images/{masterImageId}/publish'].post
$.paths['/cloud/master-images/{masterImageId}/versions'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for DaaS IQ Master images API
version: 1.0.0
extends: openapi/controlup-master-images-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 20
- target: $.paths['/cloud/master-images/{id}/actions'].post
update:
x-apievangelist-phrasing:
intent: Start or stop a master image VM
effect: write
questions:
- Can I power on a master image's VM from the API?
- What actions can run on a master image as a background job?
instructions:
- text: Run a {actionType} action on master image {id}.
slots:
actionType: requestBody.actionType
id: path.id
- text: Start the VM behind master image {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{id}/rdp'].get
update:
x-apievangelist-phrasing:
intent: Download an RDP file for a master image
effect: read
questions:
- Can I get a .rdp file to connect to a master image VM?
- Is there a remote desktop connection file for my golden image VM?
instructions:
- text: Download the RDP connection file for master image {id}.
slots:
id: path.id
- text: Give me an RDP file to remote into master image {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/os-families'].get
update:
x-apievangelist-phrasing:
intent: List supported master image OS families
effect: read
questions:
- Which operating system families does Azure Virtual Desktop support for master images?
- What OS family IDs can I use when creating a master image?
instructions:
- text: List the supported OS families for master images.
- text: Show the OS family catalog available for golden images.
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/marketplace-images'].get
update:
x-apievangelist-phrasing:
intent: List curated Marketplace images
effect: read
questions:
- Which Azure Marketplace OS images can I deploy as a new master image?
- Are the curated Marketplace images all Gen 2 with Trusted Launch?
instructions:
- text: List the curated Marketplace images available for new master images.
- text: Show which Marketplace OS images I can deploy as a golden image.
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images'].get
update:
x-apievangelist-phrasing:
intent: List master images
effect: read
questions:
- Which master images does my organization manage, and what's their power state?
- Can I page through all golden images sorted by name?
instructions:
- text: List all master images.
- text: List master images sorted by {sort}.
slots:
sort: query.sort
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a master image
effect: read
questions:
- What region, OS and gallery does a specific master image use?
- Can I see the disk and security settings of one golden image?
instructions:
- text: Show master image {id}.
slots:
id: path.id
- text: Get the details of master image {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{id}/operation-state'].get
update:
x-apievangelist-phrasing:
intent: Check a master image's in-flight operation
effect: read
questions:
- Is there an operation currently running on my master image?
- Which actions is a master image allowed to take right now?
instructions:
- text: Show the in-flight operation on master image {id}.
slots:
id: path.id
- text: Check what actions master image {id} currently permits.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{id}/decommission-plan'].get
update:
x-apievangelist-phrasing:
intent: Preview retiring a master image
effect: read
questions:
- What would be deleted or kept if I retire a master image?
- Can I dry-run decommissioning a golden image before doing it?
instructions:
- text: Preview the decommission plan for master image {id}.
slots:
id: path.id
- text: Show what Azure resources retiring master image {id} would delete.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/promote'].post
update:
x-apievangelist-phrasing:
intent: Promote an existing VM to master image
effect: write
questions:
- Can I register an existing Azure VM as a master image?
- What OS details are required to promote a VM to a golden image?
instructions:
- text: Promote VM {vmResourceId} in subscription {subscriptionId} to master image {name} as {osFamily} {osVersion}.
slots:
vmResourceId: requestBody.vmResourceId
subscriptionId: requestBody.subscriptionId
name: requestBody.name
osFamily: requestBody.osFamily
osVersion: requestBody.osVersion
- text: Register VM {vmResourceId} as a master image in gallery {galleryResourceId}.
slots:
vmResourceId: requestBody.vmResourceId
galleryResourceId: requestBody.galleryResourceId
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/deploy-from-gallery'].post
update:
x-apievangelist-phrasing:
intent: Deploy a master image from a gallery version
effect: write
questions:
- Can I build a new master image VM from an existing Azure Compute Gallery image version?
- How do I track the job when deploying a master image from a gallery version?
instructions:
- text: Deploy master image {masterName} from gallery image version {galleryImageVersionId} into subnet {subnetId} on subscription {subscriptionId}.
slots:
masterName: requestBody.masterName
galleryImageVersionId: requestBody.galleryImageVersionId
subnetId: requestBody.subnetId
subscriptionId: requestBody.subscriptionId
- text: Create a master image from gallery version {galleryImageVersionId} with VM size {vmSize} and OS disk type {osDiskType}.
slots:
galleryImageVersionId: requestBody.galleryImageVersionId
vmSize: requestBody.vmSize
osDiskType: requestBody.osDiskType
method: generated
generated: '2026-10-01'
- target: $.paths['/cloud/master-images/deploy-from-marketplace'].post
update:
x-apievangelist-phrasing:
intent: Deploy a master image from a curated Marketplace OS
effect: write
questions:
- Can I spin up a brand-new master image VM from one of the curated Marketplace OS images?
- Can I deploy an arbitrary Marketplace offer as a master image, or only curated catalog images?
instructions:
- text: Deploy master image {masterName} from curated Marketplace image {marketplaceImageId} in region {region}.
slots:
masterName: requestBody.masterName
marketplaceImageId: requestBody.marketplaceImageId
region: requestBody.region
- text: Create a new master VM from Marketplace image {marketplaceImageId} on subscription {subscriptionId}, size {vmSize}, in subnet {subnetId}.
slots:
marketplaceImageId: requestBody.marketplaceImageId
subscriptionId: requestBody.subscriptionId
vmSize: requestBody.vmSize
subnetId: requestBody.subnetId
method: generated
generated: '2026-10-01'
- target: $.paths['/cloud/master-images/deploy-from-managed-image'].post
update:
x-apievangelist-phrasing:
intent: Deploy a master image from an Azure Managed Image
effect: write
questions:
- Can I turn an existing Azure Managed Image into a new master image VM?
- Which region is used when deploying a master image from a managed image?
instructions:
- text: Deploy master image {masterName} from managed image {managedImageId} on subscription {subscriptionId}.
slots:
masterName: requestBody.masterName
managedImageId: requestBody.managedImageId
subscriptionId: requestBody.subscriptionId
- text: Create a master VM from Azure Managed Image {managedImageId} in subnet {subnetId} with VM size {vmSize}.
slots:
managedImageId: requestBody.managedImageId
subnetId: requestBody.subnetId
vmSize: requestBody.vmSize
method: generated
generated: '2026-10-01'
- target: $.paths['/cloud/master-images/{masterImageId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a master image
effect: destructive
questions:
- Can I delete a master image and also remove its Azure resources?
- Does deleting a master image only remove the record by default?
instructions:
- text: Delete master image {masterImageId}.
slots:
masterImageId: path.masterImageId
- text: Delete master image {masterImageId} and deprovision its Azure resources.
slots:
masterImageId: path.masterImageId
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{masterImageId}/publish'].post
update:
x-apievangelist-phrasing:
intent: Publish a new master image version
effect: write
questions:
- Can I publish a new version of a master image to specific regions?
- Can publishing also run the AVD agent update and SxS stack update?
instructions:
- text: Publish version {version} of master image {masterImageId} to {targetRegions}.
slots:
version: requestBody.version
masterImageId: path.masterImageId
targetRegions: requestBody.targetRegions
- text: Publish master image {masterImageId} as {version} with the AVD agent update.
slots:
masterImageId: path.masterImageId
version: requestBody.version
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{masterImageId}/versions'].get
update:
x-apievangelist-phrasing:
intent: List a master image's published versions
effect: read
questions:
- What's the publish history of a master image?
- Who published each version of my golden image, and to which regions?
instructions:
- text: List the versions of master image {masterImageId}.
slots:
masterImageId: path.masterImageId
- text: Show the newest published versions of master image {masterImageId}.
slots:
masterImageId: path.masterImageId
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{masterImageId}/versions/{versionId}/operation-state'].get
update:
x-apievangelist-phrasing:
intent: Check a master image version's operations
effect: read
questions:
- Is a published image version still being worked on?
- Can I retry or clean up a specific master image version right now?
instructions:
- text: Show the operation state of version {versionId} of master image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
- text: Check which actions version {versionId} of image {masterImageId} permits.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{masterImageId}/versions/{versionId}/publish-artifacts/cleanup-plan'].get
update:
x-apievangelist-phrasing:
intent: Preview cleanup of publish leftovers
effect: read
questions:
- Which temporary resources did a publish leave behind?
- Can I preview what artifact cleanup would remove before running it?
instructions:
- text: Preview the publish artifact cleanup plan for version {versionId} of master image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
- text: Show leftover builder resources from publishing version {versionId} of image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{masterImageId}/versions/{versionId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a published master image version
effect: destructive
questions:
- Can I permanently remove one published gallery version of a master image?
- Is deleting an image version different from cleaning up its publish artifacts?
instructions:
- text: Delete version {versionId} of master image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
- text: Permanently remove gallery version {versionId} from image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{masterImageId}/versions/{versionId}/publish-artifacts'].delete
update:
x-apievangelist-phrasing:
intent: Clean up publish leftover resources
effect: destructive
questions:
- Can I delete the builder VM and disks a publish left behind?
- Will cleaning up publish artifacts keep the published version itself?
instructions:
- text: Clean up publish artifacts for version {versionId} of master image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
- text: Remove the temporary builder VM left by publishing version {versionId} of image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
method: generated
generated: '2026-09-26'
- target: $.paths['/cloud/master-images/{masterImageId}/versions/{versionId}/retry-publish'].post
update:
x-apievangelist-phrasing:
intent: Retry a failed master image publish
effect: write
questions:
- My master image publish failed — can I rerun it with the same parameters?
- Can I retry a failed image version publish instead of publishing it again from scratch?
instructions:
- text: Retry the failed publish of version {versionId} for master image {masterImageId}.
slots:
versionId: path.versionId
masterImageId: path.masterImageId
- text: Rerun the last failed publish job for image {masterImageId} version {versionId}.
slots:
masterImageId: path.masterImageId
versionId: path.versionId
method: generated
generated: '2026-09-26'