This directory contains the PowerShell module for the DevCenter service.
- Modifiable: yes
- Generated: all
- Committed: yes
- Packaged: yes
This module was primarily generated via AutoRest using the PowerShell extension.
- Az.Accounts module, version 2.7.5 or greater
AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent.
For information on how to develop for Az.DevCenter, see how-to.md.
# pin the swagger version by using the commit id instead of branch name
commit: 4689e75cdeaa04dbeead0237b72cae8dc8dbba4d
require:
# readme.azure.noprofile.md is the common configuration file
- $(this-folder)/../../readme.azure.noprofile.md
input-file:
- $(repo)/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2025-04-01-preview/commonDefinitions.json
- $(repo)/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2025-04-01-preview/devcenter.json
- $(repo)/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2025-04-01-preview/vdi.json
directive:
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/sync"].post.responses
transform: >
$['200'] = {
"description": "OK. Successfully initiated sync."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/sync"].post.responses
transform: >
$['200'] = {
"description": "OK. Successfully initiated sync."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect"].post.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/connect"].post.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}"].put.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded.",
"schema": {"$ref": "#/definitions/Gallery"}
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks/{attachedNetworkConnectionName}"].put.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded.",
"schema": {"$ref": "#/definitions/AttachedNetworkConnection"}
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}"].put.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded.",
"schema": {"$ref": "#/definitions/Catalog"}
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}"].put.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded.",
"schema": {"$ref": "#/definitions/Catalog"}
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}"].get.operationId
transform: >-
return "ProjectEnvironmentDefinitions_Get"
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions"].get.operationId
transform: >-
return "ProjectEnvironmentDefinitions_List"
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails"].post.operationId
transform: >-
return "ProjectEnvironmentDefinitions_GetErrorDetails"
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks/{attachedNetworkConnectionName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/devboxdefinitions/{devBoxDefinitionName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/schedules/{scheduleName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/runHealthChecks"].post.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/runHealthChecks"].post.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/projectPolicies/{projectPolicyName}"].delete.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded."
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}/builds/{buildName}/cancel"].post.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded.",
"headers": {
"Azure-AsyncOperation": {
"type": "string"
},
"Location": {
"type": "string"
}
}
}
- from: swagger-document
where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}/buildImage"].post.responses
transform: >
$['200'] = {
"description": "OK. The request has succeeded.",
"headers": {
"Azure-AsyncOperation": {
"type": "string"
},
"Location": {
"type": "string"
}
}
}
#Use v3 for OperationStatus, remove this for breaking change version
- from: swagger-document
where: $.definitions
transform: >
$['OperationStatus'] = {
"description": "The current status of an async operation",
"type": "object",
"allOf": [
{
"$ref": "https://github.com/Azure/azure-rest-api-specs/blob/4689e75cdeaa04dbeead0237b72cae8dc8dbba4d/specification/common-types/resource-management/v3/types.json#/definitions/OperationStatusResult"
}
],
"properties": {
"resourceId": {
"description": "The id of the resource.",
"type": "string",
"readOnly": true
},
"properties": {
"description": "Custom operation properties, populated only for a successful operation.",
"type": "object",
"readOnly": true
}
}
}
- where:
parameter-name: Top
hide: true
- where:
parameter-name: Filter
hide: true
- where:
subject: Schedule
parameter-name: Frequency
hide: true
set:
default:
script: '"Daily"'
- where:
subject: Schedule
parameter-name: PropertiesType
hide: true
set:
default:
script: '"StopDevBox"'
- where:
subject: Schedule
parameter-name: Name
hide: true
set:
default:
script: '"default"'
- where:
subject: Pool
parameter-name: LicenseType
hide: true
set:
default:
script: '"Windows_Client"'
- where:
verb: New
subject: Pool
parameter-name: LicenseType
hide: true
set:
default:
script: '"Windows_Client"'
- where:
subject: DevCenter
parameter-name: CustomerManagedKeyEncryptionKeyUrl
hide: true
- where:
subject: DevCenter
parameter-name: KeyEncryptionKeyIdentityDelegatedIdentityClientId
hide: true
- where:
subject: DevCenter
parameter-name: KeyEncryptionKeyIdentityType
hide: true
- where:
subject: DevCenter
parameter-name: KeyEncryptionKeyIdentityUserAssignedIdentityResourceId
hide: true
# Remove Set per design review
- where:
verb: Set
remove: true
# Remove extra input object variant
- where:
verb: Get
subject: ^(AttachedNetwork|DevBoxDefinition|NetworkConnectionHealthDetail)$
variant: GetViaIdentity1
remove: true
- where:
verb: Get
subject: NetworkConnectionHealthDetail
variant: Get
remove: true
# Matches any verb that is set
- where:
verb: Set
hide: true
# Hide schedule commands
- where:
subject: Schedule
hide: true
# Remove non-expanded body variants (keep Expanded, JsonFilePath, JsonString)
- where:
verb: Update
variant: ^(Update)(?!.*?(Expanded|JsonFilePath|JsonString))
remove: true
- where:
verb: New
variant: ^(Create)(?!.*?(Expanded|JsonFilePath|JsonString))
remove: true
- where:
verb: Invoke
subject: ExecuteCheckNameAvailability
variant: ^(Execute)(?!.*?(Expanded|JsonFilePath|JsonString))
remove: true
- where:
verb: Invoke
subject: ExecuteCheckScopedNameAvailability
variant: ^(Execute)(?!.*?(Expanded|JsonFilePath|JsonString))
remove: true
# Set required parameters
- where:
verb: New
subject: AttachedNetwork
parameter-name: NetworkConnectionId
required: true
# Remove parameter
- where:
verb: Update
parameter-name: Location
hide: true
- where:
verb: Update
subject: Project
parameter-name: DevCenterId
hide: true
- where:
verb: New
subject: ^AttachedNetwork$|^Catalog$|^DevBoxDefinition$|^Gallery$|^NetworkConnection$|^Pool$|^Project$|^ProjectEnvironmentType$|^ProjectCatalog$
hide: true
- where:
subject: ^CatalogDevBoxDefinition$|^CatalogDevBoxDefinitionErrorDetail$|^EncryptionSet$|^DevCenterCatalogImageDefinitionImage$|^DevCenterCatalogImageDefinition$|^DevCenterCatalogImageDefinitionBuild$|^DevCenterCatalogImageDefinitionBuildDetail$|^DevCenterCatalogImageDefinitionErrorDetail$
hide: true
- where:
subject: OperationStatuses
set:
subject: OperationStatus
- where:
subject: ^(.*)
set:
subject-prefix: DevCenterAdmin