From 95c711262425dfb6bdaf0983441d485a4c04cdd4 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 19 Sep 2022 10:35:13 +0200 Subject: [PATCH 001/130] Added dummy REST Fetch script --- utilities/tools/REST2CARML/Get-ModuleData.ps1 | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 utilities/tools/REST2CARML/Get-ModuleData.ps1 diff --git a/utilities/tools/REST2CARML/Get-ModuleData.ps1 b/utilities/tools/REST2CARML/Get-ModuleData.ps1 new file mode 100644 index 0000000000..f953948592 --- /dev/null +++ b/utilities/tools/REST2CARML/Get-ModuleData.ps1 @@ -0,0 +1,16 @@ +# Alt: https://docs.microsoft.com/en-us/azure/templates +$response = Invoke-WebRequest -Uri 'https://docs.microsoft.com/en-us/rest/api/azure/toc.json' + +if (-not $response.Content) { + throw 'Fetch failed' +} + +$menu = ($response.Content | ConvertFrom-Json -Depth 99 -AsHashtable).items + +$topLevelResourceTypes = $menu.toc_title | Where-Object { $_ -notlike 'Getting Started with REST' } + +foreach ($resourceType in $topLevelResourceTypes) { + # Fetch children + # Filter down by 'CREATE' commands + # Run recursively +} From 4dc71b390895af5a1a54a573bf1aa5920cbc4a0c Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 19 Sep 2022 10:43:25 +0200 Subject: [PATCH 002/130] Update to latest --- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 new file mode 100644 index 0000000000..2559435fe3 --- /dev/null +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -0,0 +1,51 @@ +<# +.SYNOPSIS +Create/Update a CARML module based on the latest API information available + +.DESCRIPTION +Create/Update a CARML module based on the latest API information available + +.PARAMETER ProviderNamespace +Mandatory. The provider namespace to query the data for + +.PARAMETER ResourceType +Mandatory. The resource type to query the data for + +.EXAMPLE +Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' + +Generate/Update a CARML module for [Microsoft.Keyvault/vaults] +#> +function Invoke-REST2CARML { + + [CmdletBinding(SupportsShouldProcess)] + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + + Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose + } + + process { + # TODO: Invoke function to fetch module data + + if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + # TODO: Invoke function to create intial module structure & create workflow/pipeline files + } + + if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + # TODO: Invoke function to fill module files with module data + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} From ff537654febf9c5393c40e56f2c22ba126830651 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 19 Sep 2022 10:44:59 +0200 Subject: [PATCH 003/130] Update to latest --- utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 2559435fe3..d7256dcfd9 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -30,11 +30,15 @@ function Invoke-REST2CARML { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + # Load used functions + . (Join-Path $PSScriptRoot 'Get-ModuleData.ps1') + Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose } process { # TODO: Invoke function to fetch module data + # $moduleData = Get-ModuleData -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { # TODO: Invoke function to create intial module structure & create workflow/pipeline files From fb2c77056d6be04169fa005f25c9c7b4bcc8ab22 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 19 Sep 2022 11:10:06 +0200 Subject: [PATCH 004/130] Added PGtypes function --- .../Get-ModuleDataBicepTypesRepo.ps1 | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 diff --git a/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 new file mode 100644 index 0000000000..7f87b7f33d --- /dev/null +++ b/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 @@ -0,0 +1,46 @@ +function Get-ModuleDataBicepTypesRepo { + + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [bool] $IgnorePreview = $true + ) + + $initialLocation = (Get-Location).Path + $repoUrl = 'https://github.com/Azure/bicep-types-az.git' + $repoName = Split-Path $repoUrl -LeafBase + $tempFolderName = 'temp' + $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName + + # Clone repository + ## Create temp folder + if (-not (Test-Path $tempFolderPath)) { + $null = New-Item -Path $tempFolderPath -ItemType 'Directory' + } + ## Switch to temp folder + Set-Location $tempFolderPath + + ## Clone repository into temp folder + if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { + git clone $repoUrl + } else { + Write-Verbose "Repository [$repoName] already cloned" -Verbose + } + + # Process repository + $shortenedProviderNamespace = ($ProviderNamespace -split '\.')[1].ToLower() + $resourceProviderFolder = Join-Path $tempFolderPath $repoName 'generated' $shortenedProviderNamespace $ProviderNamespace.ToLower() + + # TODO: Get highest API version (preview/non-preview) + $t + + ## Remove temp folder again + # $null = Remove-Item $tempFolderPath -Recurse -Force + Set-Location $initialLocation +} +Get-ModuleDataBicepTypesRepo -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' From 2a3f5abb537e3dea790c19c74c6ced5ef87d078f Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Mon, 19 Sep 2022 14:23:03 +0200 Subject: [PATCH 005/130] Get-ModuleDataRestApiSpecs intial file skeleton --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 new file mode 100644 index 0000000000..baa559e210 --- /dev/null +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -0,0 +1,47 @@ +function Get-ModuleDataRestApiSpecs { + + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [bool] $IgnorePreview = $true + ) + + $initialLocation = (Get-Location).Path + $repoUrl = 'https://github.com/Azure/azure-rest-api-specs.git' + $repoName = Split-Path $repoUrl -LeafBase + $tempFolderName = 'temp' + $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName + + # Clone repository + ## Create temp folder + if (-not (Test-Path $tempFolderPath)) { + $null = New-Item -Path $tempFolderPath -ItemType 'Directory' + } + ## Switch to temp folder + Set-Location $tempFolderPath + + ## Clone repository into temp folder + if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { + git clone $repoUrl + } else { + Write-Verbose "Repository [$repoName] already cloned" -Verbose + } + + # Process repository + $shortenedProviderNamespace = ($ProviderNamespace -split '\.')[1].ToLower() + $resourceProviderFolder = Join-Path $tempFolderPath $repoName 'specification' $shortenedProviderNamespace 'resource-manager' $ProviderNamespace + + # TODO: Get highest API version (preview/non-preview) + $latestApiFolder = (Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') | Sort-Object -Descending)[0] + + ## Remove temp folder again + # $null = Remove-Item $tempFolderPath -Recurse -Force + Set-Location $initialLocation +} + +Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' From edd5b220e5a89715709f9f5fbe3858c0784fe98f Mon Sep 17 00:00:00 2001 From: prteotia <97890681+prteotia@users.noreply.github.com> Date: Mon, 19 Sep 2022 18:48:49 +0530 Subject: [PATCH 006/130] created new file for adding module structure Generates module structure --- .../REST2CARML/Add-ModuleFileStructure.ps1 | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 diff --git a/utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 b/utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 new file mode 100644 index 0000000000..33badf94f7 --- /dev/null +++ b/utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 @@ -0,0 +1,49 @@ + + +function Add-ModuleFileStructure{ + param( + [Parameter(Mandatory)] + [string] $ProviderNamespace, + + [Parameter(Mandatory)] + [string] $ResourceType, + + + + $filesArray=@('deploy.bicep', 'readme.md', 'version.json'), + + $gitHubWorkflowYAMLPath = "github/workflows/", + $azDevOpsModulePipelineYAMLPath = ".azureDevOps/modulePipelines/" + + ) + + try{ + $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent + $ModulePath = Join-path -path $repoRootPath 'modules' + + $ModuleName = "$ProviderNamespace\$ResourceType" + $ProviderDir = New-Item -Path $ModulePath -Name $ModuleName -ItemType "directory" + + write-Host $ProviderDir + + + if($filesArray){ + foreach($fileName in $filesArray){ + if($fileName){ + write-Host "Creating File: $fileName" + New-Item -Path $ProviderDir -Name $fileName -ItemType "file" + } + } + } + + $workflowYAMLPath = Join-path -path $repoRootPath $gitHubWorkflowYAMLPath + write-Host $workflowYAMLPath + + }catch{ + Write-Host "An error occurred:" + Write-Host $_ + } + +} + + Add-ModuleFileStructure From f21b22afa1e86665de942af2af0624072b9c1947 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 19 Sep 2022 15:21:46 +0200 Subject: [PATCH 007/130] Update to latest --- .../Get-ModuleDataBicepTypesRepo.ps1 | 19 ++++++++++++++++--- .../tools/REST2CARML/temp/bicep-types-az | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) create mode 160000 utilities/tools/REST2CARML/temp/bicep-types-az diff --git a/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 index 7f87b7f33d..cddd5edaaa 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 @@ -37,10 +37,23 @@ $resourceProviderFolder = Join-Path $tempFolderPath $repoName 'generated' $shortenedProviderNamespace $ProviderNamespace.ToLower() # TODO: Get highest API version (preview/non-preview) - $t + $apiVersionPaths = (Get-ChildItem $resourceProviderFolder).FullName | Sort-Object + if ($IgnorePreview) { + $apiVersionPaths = $apiVersionPaths | Where-Object { $_ -notmatch '-preview$' } + } + $latestAPIVersionPath = $apiVersionPaths[-1] + + $typesMarkdownPath = Join-Path $latestAPIVersionPath 'types.md' + $typesMarkdownContent = Get-Content -Path $typesMarkdownPath + + # Find resource start (not yet working) + $regexString = (('## Resource {0}/{1}@{2}' -f $ProviderNamespace, $ResourceType, (Split-Path $latestAPIVersionPath -Leaf)) -replace '\.', '\.') -replace '/', '\/' + $startingIndex = [array]::IndexOf($typesMarkdownContent, $regexString) + + # Get properties & split accordingly (e.g. name : type : description) + jump recursively to correct child references ## Remove temp folder again - # $null = Remove-Item $tempFolderPath -Recurse -Force + $null = Remove-Item $tempFolderPath -Recurse -Force Set-Location $initialLocation } -Get-ModuleDataBicepTypesRepo -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' +Get-ModuleDataBicepTypesRepo -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' diff --git a/utilities/tools/REST2CARML/temp/bicep-types-az b/utilities/tools/REST2CARML/temp/bicep-types-az new file mode 160000 index 0000000000..26f8f34274 --- /dev/null +++ b/utilities/tools/REST2CARML/temp/bicep-types-az @@ -0,0 +1 @@ +Subproject commit 26f8f3427451f540d30b16d041ed0f0ec0996f38 From 77f78077795eef5371a673dfeba5365419d54a5c Mon Sep 17 00:00:00 2001 From: MrMCake Date: Mon, 19 Sep 2022 15:22:44 +0200 Subject: [PATCH 008/130] Removed repo --- utilities/tools/REST2CARML/temp/bicep-types-az | 1 - 1 file changed, 1 deletion(-) delete mode 160000 utilities/tools/REST2CARML/temp/bicep-types-az diff --git a/utilities/tools/REST2CARML/temp/bicep-types-az b/utilities/tools/REST2CARML/temp/bicep-types-az deleted file mode 160000 index 26f8f34274..0000000000 --- a/utilities/tools/REST2CARML/temp/bicep-types-az +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 26f8f3427451f540d30b16d041ed0f0ec0996f38 From 178c66ffbc7eabffddc66d72e69875d7c2606f80 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Mon, 19 Sep 2022 16:59:15 +0200 Subject: [PATCH 009/130] Getting all resource paths with a put method --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index baa559e210..85a7f54e82 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -39,6 +39,28 @@ # TODO: Get highest API version (preview/non-preview) $latestApiFolder = (Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') | Sort-Object -Descending)[0] + $putMethods = @() + foreach ($jsonFile in $(Get-ChildItem -Path $latestApiFolder -Filter *.json)) { + $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths + $jsonPaths.PSObject.Properties | ForEach-Object { + $put = $_.value.put + + if ($put) { + Write-Host $jsonFile + Write-Host $_.Name + + $arrItem = [pscustomobject] @{} + $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFile' -Value $jsonFile.Name + $arrItem | Add-Member -MemberType NoteProperty -Name 'path' -Value $_.Name + # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put + + $putMethods += $arrItem + } + } + } + + $putMethods | ConvertTo-Json + ## Remove temp folder again # $null = Remove-Item $tempFolderPath -Recurse -Force Set-Location $initialLocation From bc343f362c4e73d0453cf0756b4969c3de4ad57f Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Mon, 19 Sep 2022 17:16:06 +0200 Subject: [PATCH 010/130] Cleaning output --- utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index 85a7f54e82..80a895ddf5 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -46,9 +46,6 @@ $put = $_.value.put if ($put) { - Write-Host $jsonFile - Write-Host $_.Name - $arrItem = [pscustomobject] @{} $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFile' -Value $jsonFile.Name $arrItem | Add-Member -MemberType NoteProperty -Name 'path' -Value $_.Name @@ -61,6 +58,7 @@ $putMethods | ConvertTo-Json + ## Remove temp folder again # $null = Remove-Item $tempFolderPath -Recurse -Force Set-Location $initialLocation From 7bd15e7f4750b56da8d6b1b5e244b342004088ec Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Tue, 20 Sep 2022 09:27:49 +0200 Subject: [PATCH 011/130] Extended folder & file creation structure (#2069) * Latest draft * Added additional files * Formatted functions * Update to latest * Update to latest --- .../REST2CARML/Add-ModuleFileStructure.ps1 | 49 ----- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 7 +- .../REST2CARML/Set-ModuleFileStructure.ps1 | 207 ++++++++++++++++++ .../src/azureDevOpsPipelineTemplateFile.yml | 40 ++++ .../src/gitHubWorkflowTemplateFile.yml | 145 ++++++++++++ .../tools/REST2CARML/src/moduleVersion.json | 4 + 6 files changed, 401 insertions(+), 51 deletions(-) delete mode 100644 utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 create mode 100644 utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 create mode 100644 utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml create mode 100644 utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml create mode 100644 utilities/tools/REST2CARML/src/moduleVersion.json diff --git a/utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 b/utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 deleted file mode 100644 index 33badf94f7..0000000000 --- a/utilities/tools/REST2CARML/Add-ModuleFileStructure.ps1 +++ /dev/null @@ -1,49 +0,0 @@ - - -function Add-ModuleFileStructure{ - param( - [Parameter(Mandatory)] - [string] $ProviderNamespace, - - [Parameter(Mandatory)] - [string] $ResourceType, - - - - $filesArray=@('deploy.bicep', 'readme.md', 'version.json'), - - $gitHubWorkflowYAMLPath = "github/workflows/", - $azDevOpsModulePipelineYAMLPath = ".azureDevOps/modulePipelines/" - - ) - - try{ - $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent - $ModulePath = Join-path -path $repoRootPath 'modules' - - $ModuleName = "$ProviderNamespace\$ResourceType" - $ProviderDir = New-Item -Path $ModulePath -Name $ModuleName -ItemType "directory" - - write-Host $ProviderDir - - - if($filesArray){ - foreach($fileName in $filesArray){ - if($fileName){ - write-Host "Creating File: $fileName" - New-Item -Path $ProviderDir -Name $fileName -ItemType "file" - } - } - } - - $workflowYAMLPath = Join-path -path $repoRootPath $gitHubWorkflowYAMLPath - write-Host $workflowYAMLPath - - }catch{ - Write-Host "An error occurred:" - Write-Host $_ - } - -} - - Add-ModuleFileStructure diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index d7256dcfd9..4d6bf8e7c7 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -31,7 +31,8 @@ function Invoke-REST2CARML { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) # Load used functions - . (Join-Path $PSScriptRoot 'Get-ModuleData.ps1') + # . (Join-Path $PSScriptRoot 'Get-ModuleData.ps1') + . (Join-Path $PSScriptRoot 'Set-ModuleFileStructure.ps1') Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose } @@ -41,7 +42,7 @@ function Invoke-REST2CARML { # $moduleData = Get-ModuleData -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - # TODO: Invoke function to create intial module structure & create workflow/pipeline files + Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType } if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { @@ -53,3 +54,5 @@ function Invoke-REST2CARML { Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) } } + +Invoke-REST2CARML -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose diff --git a/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 b/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 new file mode 100644 index 0000000000..372283b84b --- /dev/null +++ b/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 @@ -0,0 +1,207 @@ +#region Helper functions +<# +.SYNOPSIS +Replace tokens like '<>' in the given file with an actual value + +.DESCRIPTION +Replace tokens like '<>' in the given file with an actual value. Tokens that are replaced: +- <> +- <> +- <> +- <> +- <> +- <> + +.PARAMETER Content +Mandatory. The content to update + +.PARAMETER ProviderNamespace +Mandatory. The Provider Namespace to replaces tokens for + +.PARAMETER ResourceType +Mandatory. The Resource Type to replaces tokens for + +.EXAMPLE +Format-AutomationTemplate -Content "Hello <>-<>" -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' + +Update the provided content with different Provider Namespace & Resource Type token variant. Would return 'Hello keyvault-Vaults' +#> +function Format-AutomationTemplate { + + [CmdletBinding()] + param( + [Parameter(Mandatory)] + [string] $Content, + + [Parameter(Mandatory)] + [string] $ProviderNamespace, + + [Parameter(Mandatory)] + [string] $ResourceType + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + $tokens = @{ + providerNamespace = $ProviderNamespace + shortProviderNamespacePascal = ($ProviderNamespace -split '\.')[-1].substring(0, 1).toupper() + ($ProviderNamespace -split '\.')[-1].substring(1) + shortProviderNamespaceLower = ($ProviderNamespace -split '\.')[-1].ToLower() + resourceType = $ResourceType + resourceTypePascal = $ResourceType.substring(0, 1).toupper() + $ResourceType.substring(1) + resourceTypeLower = $ResourceType.ToLower() + } + + foreach ($token in $tokens.Keys) { + $content = $content -replace "<<$token>>", $tokens[$token] + } + + return $content + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} +#endregion + +<# +.SYNOPSIS +Update / create the initial folder structure for a CARML module + +.DESCRIPTION +Update / create the initial folder structure for a CARML module + +.PARAMETER ProviderNamespace +Mandatory. The Provider Namespace to process + +.PARAMETER ResourceType +Mandatory. The Resource Type to process + +.EXAMPLE +Set-ModuleFileStructure -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' + +Update / create the folder & file structure for the CARML module 'Microsoft.KeyVault/vaults'. +#> +function Set-ModuleFileStructure { + + [CmdletBinding(SupportsShouldProcess)] + param( + [Parameter(Mandatory)] + [string] $ProviderNamespace, + + [Parameter(Mandatory)] + [string] $ResourceType + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent + } + + process { + # Create folders + # -------------- + $expectedModuleFolderPath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType + @( + $expectedModuleFolderPath, + (Join-Path $expectedModuleFolderPath '.bicep'), + (Join-Path $expectedModuleFolderPath '.test') + (Join-Path $expectedModuleFolderPath '.test' 'common') + (Join-Path $expectedModuleFolderPath '.test' 'min') + ) | ForEach-Object { + if (-not (Test-Path $_)) { + if ($PSCmdlet.ShouldProcess(('Folder [{0}]' -f ($_ -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + $null = New-Item -Path $_ -ItemType 'Directory' + } + } else { + Write-Verbose "Folder [$_] already exists." + } + } + + # Create module files + # ------------------- + ## Root files + ### Template file + $templateFilePath = Join-Path $expectedModuleFolderPath 'deploy.bicep' + if (-not (Test-Path $templateFilePath)) { + if ($PSCmdlet.ShouldProcess(('Template file [{0}]' -f ($templateFilePath -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + $null = New-Item -Path $templateFilePath -ItemType 'File' + } + } else { + Write-Verbose ('Template file [{0}] already exists.' -f ($templateFilePath -replace ($repoRootPath -replace '\\', '\\'), '')) + } + + ### Version file + $versionFilePath = Join-Path $expectedModuleFolderPath 'version.json' + if (-not (Test-Path $versionFilePath)) { + if ($PSCmdlet.ShouldProcess(('Version file [{0}]' -f ($versionFilePath -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + $versionFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'moduleVersion.json') -Raw + $null = New-Item -Path $versionFilePath -ItemType 'File' -Value $versionFileContent + } + } else { + Write-Verbose ('Version file [{0}] already exists.' -f ($versionFilePath -replace ($repoRootPath -replace '\\', '\\'), '')) + } + + ### ReadMe file + $readMeFilePath = Join-Path $expectedModuleFolderPath 'readme.md' + if (-not (Test-Path $readMeFilePath)) { + if ($PSCmdlet.ShouldProcess(('ReadMe file [{0}]' -f ($readMeFilePath -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + $null = New-Item -Path $readMeFilePath -ItemType 'File' + } + } else { + Write-Verbose ('ReadMe file [{0}] already exists.' -f ($readMeFilePath -replace ($repoRootPath -replace '\\', '\\'), '')) + } + + ## .test files + @( + (Join-Path $expectedModuleFolderPath '.test' 'common' 'deploy.bicep') + (Join-Path $expectedModuleFolderPath '.test' 'min' 'deploy.bicep') + ) | ForEach-Object { + if (-not (Test-Path $_)) { + if ($PSCmdlet.ShouldProcess(('File [{0}]' -f ($_ -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + $null = New-Item -Path $_ -ItemType 'File' + } + } else { + Write-Verbose "File [$_] already exists." + } + } + + # Create/Update DevOps files + # -------------------------- + ## GitHub + $automationFileName = ('ms.{0}.{1}.yml' -f ($ProviderNamespace -split '\.')[-1], $ResourceType).ToLower() + $gitHubWorkflowYAMLPath = Join-Path $repoRootPath '.github' 'workflows' $automationFileName + $workflowFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'gitHubWorkflowTemplateFile.yml') -Raw + $workflowFileContent = Format-AutomationTemplate -Content $workflowFileContent -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + if (-not (Test-Path $gitHubWorkflowYAMLPath)) { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { + $null = New-Item $gitHubWorkflowYAMLPath -ItemType 'File' -Value $workflowFileContent.TrimEnd() + } + } else { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Update')) { + $null = Set-Content -Path $gitHubWorkflowYAMLPath -Value $workflowFileContent.TrimEnd() + } + } + + ## Azure DevOps + $azureDevOpsPipelineYAMLPath = Join-Path $repoRootPath '.azuredevops' 'modulePipelines' $automationFileName + $pipelineFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'azureDevOpsPipelineTemplateFile.yml') -Raw + $pipelineFileContent = Format-AutomationTemplate -Content $pipelineFileContent -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + if (-not (Test-Path $azureDevOpsPipelineYAMLPath)) { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { + $null = New-Item $azureDevOpsPipelineYAMLPath -ItemType 'File' -Value $pipelineFileContent.TrimEnd() + } + } else { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Update')) { + $null = Set-Content -Path $azureDevOpsPipelineYAMLPath -Value $pipelineFileContent.TrimEnd() + } + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml b/utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml new file mode 100644 index 0000000000..fca91b6c9c --- /dev/null +++ b/utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml @@ -0,0 +1,40 @@ +name: '<> - <>' + +parameters: + - name: removeDeployment + displayName: Remove deployed module + type: boolean + default: true + - name: prerelease + displayName: Publish prerelease module + type: boolean + default: false + +pr: none + +trigger: + batch: true + branches: + include: + - main + paths: + include: + - '/.azuredevops/modulePipelines/ms.<>.<>.yml' + - '/.azuredevops/pipelineTemplates/*.yml' + - '/modules/<>/<>/*' + - '/utilities/pipelines/*' + exclude: + - '/utilities/pipelines/dependencies/*' + - '/**/*.md' + +variables: + - template: '../../settings.yml' + - group: 'PLATFORM_VARIABLES' + - name: modulePath + value: '/modules/<>/<>' + +stages: + - template: /.azuredevops/pipelineTemplates/stages.module.yml + parameters: + removeDeployment: '${{ parameters.removeDeployment }}' + prerelease: '${{ parameters.prerelease }}' diff --git a/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml b/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml new file mode 100644 index 0000000000..cad71a3ef1 --- /dev/null +++ b/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml @@ -0,0 +1,145 @@ +name: '<>: <>' + +on: + workflow_dispatch: + inputs: + removeDeployment: + type: boolean + description: 'Remove deployed module' + required: false + default: true + prerelease: + type: boolean + description: 'Publish prerelease module' + required: false + default: false + push: + branches: + - main + paths: + - '.github/actions/templates/**' + - '.github/workflows/ms.<>.<>.yml' + - 'modules/<>/<>/**' + - 'utilities/pipelines/**' + - '!utilities/pipelines/dependencies/**' + - '!*/**/readme.md' + +env: + variablesPath: 'settings.yml' + modulePath: 'modules/<>/<>' + workflowPath: '.github/workflows/ms.<>.<>.yml' + AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} + ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' + ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' + TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' + +jobs: + ########################### + # Initialize pipeline # + ########################### + job_initialize_pipeline: + runs-on: ubuntu-20.04 + name: 'Initialize pipeline' + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: 'Set input parameters to output variables' + id: get-workflow-param + uses: ./.github/actions/templates/getWorkflowInput + with: + workflowPath: '${{ env.workflowPath}}' + - name: 'Get parameter file paths' + id: get-module-test-file-paths + uses: ./.github/actions/templates/getModuleTestFiles + with: + modulePath: '${{ env.modulePath }}' + outputs: + removeDeployment: ${{ steps.get-workflow-param.outputs.removeDeployment }} + moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} + + ######################### + # Static validation # + ######################### + job_module_pester_validation: + runs-on: ubuntu-20.04 + name: 'Static validation' + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' + + ############################# + # Deployment validation # + ############################# + job_module_deploy_validation: + runs-on: ubuntu-20.04 + name: 'Deployment validation' + needs: + - job_initialize_pipeline + - job_module_pester_validation + strategy: + fail-fast: false + matrix: + moduleTestFilePaths: ${{ fromJSON(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' + uses: ./.github/actions/templates/validateModuleDeployment + with: + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + location: '${{ env.location }}' + resourceGroupName: '${{ env.resourceGroupName }}' + subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' + removeDeployment: '${{ needs.job_initialize_pipeline.outputs.removeDeployment }}' + + ################## + # Publishing # + ################## + job_publish_module: + name: 'Publishing' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' + runs-on: ubuntu-20.04 + needs: + - job_module_deploy_validation + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Publishing' + uses: ./.github/actions/templates/publishModule + with: + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + templateSpecsRGName: '${{ env.templateSpecsRGName }}' + templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' + templateSpecsDescription: '${{ env.templateSpecsDescription }}' + templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' + bicepRegistryName: '${{ env.bicepRegistryName }}' + bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' + bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' + bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/utilities/tools/REST2CARML/src/moduleVersion.json b/utilities/tools/REST2CARML/src/moduleVersion.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/utilities/tools/REST2CARML/src/moduleVersion.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} From 0365c621cd375291de1d8c312e6d4d7295df29a5 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Tue, 20 Sep 2022 10:24:05 +0200 Subject: [PATCH 012/130] Added RoleDef template --- .../src/nested_roleAssignments.bicep | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 utilities/tools/REST2CARML/src/nested_roleAssignments.bicep diff --git a/utilities/tools/REST2CARML/src/nested_roleAssignments.bicep b/utilities/tools/REST2CARML/src/nested_roleAssignments.bicep new file mode 100644 index 0000000000..c33610e297 --- /dev/null +++ b/utilities/tools/REST2CARML/src/nested_roleAssignments.bicep @@ -0,0 +1,56 @@ +@sys.description('Required. The IDs of the principals to assign the role to.') +param principalIds array + +@sys.description('Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead.') +param roleDefinitionIdOrName string + +@sys.description('Required. The resource ID of the resource to apply the role assignment to.') +param resourceId string + +@sys.description('Optional. The principal type of the assigned principal ID.') +@allowed([ + 'ServicePrincipal' + 'Group' + 'User' + 'ForeignGroup' + 'Device' + '' +]) +param principalType string = '' + +@sys.description('Optional. The description of the role assignment.') +param description string = '' + +@sys.description('Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase "foo_storage_container"') +param condition string = '' + +@sys.description('Optional. Version of the condition.') +@allowed([ + '2.0' +]) +param conditionVersion string = '2.0' + +@sys.description('Optional. Id of the delegated managed identity resource.') +param delegatedManagedIdentityResourceId string = '' + +var builtInRoleNames = { + +} + +resource <> '<>/<>@<>' existing = { + name: last(split(resourceId, '/')) +} + +resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { + name: guid(<>.id, principalId, roleDefinitionIdOrName) + properties: { + description: description + roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName + principalId: principalId + principalType: !empty(principalType) ? any(principalType) : null + condition: !empty(condition) ? condition : null + conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null + delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null + } + scope: <> +}] From 962dc8eb9c5566c8eb0ae9263b059045c0f9621e Mon Sep 17 00:00:00 2001 From: George Dobrin Date: Tue, 20 Sep 2022 13:29:05 +0200 Subject: [PATCH 013/130] Update Get-ModuleDataRestApiSpecs.ps1 --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index 80a895ddf5..ab66288ea0 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -1,4 +1,43 @@ -function Get-ModuleDataRestApiSpecs { +function FilterPutPaths { + Param($params) + $putObj = $params[0] + $definitions = $params[1] + $obj = {} + $putObj.parameters | ForEach-Object { + if ($_.name -eq 'parameters') { + $newObj = Get-NestedParams($_.schema.$ref, $definitions) + # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj + } elseif ($null -ne $_.name) { + $paramItem = [PSCustomObject]@{ + name = $_.name + type = $_.type + description = $_.description + } + + $obj | Add-Member -MemberType NoteProperty -Name $paramItem.name -Value $paramItem + } elseif ($null -ne $_.$ref) { + $newObj = Get-NestedParams($_.$ref, $definitions) + # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj + } + + } + return $obj +} + +function Get-NestedParams { + # check why ref is null here + Param($params) + $ref = $params[0] + $definitions = $params[1] + $refDef = Split-Path $ref -LeafBase + if ($refDef -notin $definitions) { + throw 'ref is not contained in definition' + } else { + # strip $definitions.$refDef and return + } +} + +function Get-ModuleDataRestApiSpecs { param ( [Parameter(Mandatory = $true)] @@ -42,8 +81,10 @@ $putMethods = @() foreach ($jsonFile in $(Get-ChildItem -Path $latestApiFolder -Filter *.json)) { $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths + $jsonPaths.PSObject.Properties | ForEach-Object { $put = $_.value.put + $definitions = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).definitions if ($put) { $arrItem = [pscustomobject] @{} @@ -51,6 +92,9 @@ $arrItem | Add-Member -MemberType NoteProperty -Name 'path' -Value $_.Name # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put + $filteredObj = FilterPutPaths($put, $definitions) + $arrItem | Add-Member -MemberType NoteProperty -Name 'properties' -Value $filteredObj + $putMethods += $arrItem } } @@ -58,10 +102,13 @@ $putMethods | ConvertTo-Json + ## process file + ## Remove temp folder again # $null = Remove-Item $tempFolderPath -Recurse -Force Set-Location $initialLocation } + Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' From e38bada39b4abf18b124bb33339553160ac6fb9b Mon Sep 17 00:00:00 2001 From: MrMCake Date: Tue, 20 Sep 2022 14:35:11 +0200 Subject: [PATCH 014/130] Added diagnostic settings fetch + added template generation script --- .../tools/REST2CARML/Get-DiagnosticOption.ps1 | 107 ++++++++++++++++++ .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 4 +- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 55 +++++++++ 3 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 utilities/tools/REST2CARML/Get-DiagnosticOption.ps1 create mode 100644 utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 diff --git a/utilities/tools/REST2CARML/Get-DiagnosticOption.ps1 b/utilities/tools/REST2CARML/Get-DiagnosticOption.ps1 new file mode 100644 index 0000000000..67be0cc83e --- /dev/null +++ b/utilities/tools/REST2CARML/Get-DiagnosticOption.ps1 @@ -0,0 +1,107 @@ +<# +.SYNOPSIS +Fetch all available diagnostic metrics and logs for the given Resource Type + +.DESCRIPTION +Fetch all available diagnostic metrics and logs for the given Resource Type +Leverges Microsoft Docs's [https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-monitor] to fetch the data + +.PARAMETER ProviderNamespace +Mandatory. The Provider Namespace to fetch the data for + +.PARAMETER ResourceType +Mandatory. The Resource Type to fetch the data for + +.EXAMPLE +Get-DiagnosticOption -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' + +Fetch the diagnostic options (logs & metrics) for Resource Type [Microsoft.KeyVault/vaults] +#> +function Get-DiagnosticOption { + + [CmdletBinding()] + param( + [Parameter(Mandatory)] + [string] $ProviderNamespace, + + [Parameter(Mandatory)] + [string] $ResourceType + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + $urlRoot = 'https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/main/articles/azure-monitor/essentials' + } + + process { + + ################# + ## METRICS ## + ################# + $foundMetrics = @() + $metricsMarkdown = (Invoke-WebRequest -Uri "$urlRoot/metrics-supported.md").Content -split '\n' + + # Find provider in file + $matchingMetricResourceTypeLine = $metricsMarkdown.IndexOf(($metricsMarkdown -like "## $ProviderNamespace/$ResourceType")[-1]) + + if ($matchingMetricResourceTypeLine -gt -1) { + + # Find table + $tableStartIndex = $matchingMetricResourceTypeLine + while ($metricsMarkdown[$tableStartIndex] -notlike '|*' -and $tableStartIndex -lt $metricsMarkdown.Count) { + $tableStartIndex++ + } + $tableStartIndex = $tableStartIndex + 2 # Skipping table header + + $tableEndIndex = $tableStartIndex + while ($metricsMarkdown[$tableEndIndex] -like '|*' -and $tableEndIndex -lt $metricsMarkdown.Count) { + $tableEndIndex++ + } + + # Build result + for ($index = $tableStartIndex; $index -lt $tableEndIndex; $index++) { + if (($metricsMarkdown[$index] -split '\|')[2] -eq 'Yes') { + # If the 'Exportable' column equals 'Yes', we consider the metric + $foundMetrics += ($metricsMarkdown[$index] -split '\|')[1] + } + } + } + + ############## + ## LOGS ## + ############## + $foundLogs = @() + $logsMarkdown = (Invoke-WebRequest -Uri "$urlRoot/resource-logs-categories.md").Content -split '\n' + + # Find provider in file + $matchingLogResourceTypeLine = $logsMarkdown.IndexOf(($logsMarkdown -like "## $ProviderNamespace/$ResourceType")[-1]) + if ($matchingLogResourceTypeLine -gt -1) { + + # Find table + $tableStartIndex = $matchingLogResourceTypeLine + while ($logsMarkdown[$tableStartIndex] -notlike '|*' -and $tableStartIndex -lt $logsMarkdown.Count) { + $tableStartIndex++ + } + $tableStartIndex = $tableStartIndex + 2 # Skipping table header + + $tableEndIndex = $tableStartIndex + while ($logsMarkdown[$tableEndIndex] -like '|*' -and $tableEndIndex -lt $logsMarkdown.Count) { + $tableEndIndex++ + } + + # Build result + for ($index = $tableStartIndex; $index -lt $tableEndIndex; $index++) { + $foundLogs += ($logsMarkdown[$index] -split '\|')[1] + } + } + + return [PSCustomObject]@{ + Metrics = $foundMetrics + Logs = $foundLogs + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 4d6bf8e7c7..a3c2009981 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -33,6 +33,7 @@ function Invoke-REST2CARML { # Load used functions # . (Join-Path $PSScriptRoot 'Get-ModuleData.ps1') . (Join-Path $PSScriptRoot 'Set-ModuleFileStructure.ps1') + . (Join-Path $PSScriptRoot 'Set-ModuleTemplate.ps1') Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose } @@ -40,13 +41,14 @@ function Invoke-REST2CARML { process { # TODO: Invoke function to fetch module data # $moduleData = Get-ModuleData -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + $moduleData = @{} if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType } if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - # TODO: Invoke function to fill module files with module data + Set-ModuleTemplate -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType -ModuleData $moduleData } } diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 new file mode 100644 index 0000000000..b48833065c --- /dev/null +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -0,0 +1,55 @@ +function Set-ModuleTemplate { + + [CmdletBinding(SupportsShouldProcess)] + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [Hashtable] $ModuleData + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + + $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent + $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' + # Load used functions + . (Join-Path $PSScriptRoot 'Get-DiagnosticOption.ps1') + . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') + } + + process { + + ################################# + ## Collect additional data ## + ################################# + # TODO: Clarify: Might need to be always 'All metrics' if any metric exists + $diagnosticOptions = Get-DiagnosticOption -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + + ## TODO: Add RBAC + ## TODO: Add Private Endpoints + ## TODO: Add Locks + + ############################# + ## Update Template File # + ############################# + + # TODO: Update template file + + ############################# + ## Update Module ReadMe # + ############################# + if ($PSCmdlet.ShouldProcess(('Module ReadMe [{0}]' -f (Join-Path (Split-Path $templatePath -Parent) 'readme.md')), 'Update')) { + Set-ModuleReadMe -TemplateFilePath $templatePath + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } + +} From 13d272198837c318f26aa7a083883deb46cb3936 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Tue, 20 Sep 2022 14:39:39 +0200 Subject: [PATCH 015/130] Cleanup --- .../Get-ModuleDataBicepTypesRepo.ps1 | 59 ------------------- 1 file changed, 59 deletions(-) delete mode 100644 utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 diff --git a/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 deleted file mode 100644 index cddd5edaaa..0000000000 --- a/utilities/tools/REST2CARML/Get-ModuleDataBicepTypesRepo.ps1 +++ /dev/null @@ -1,59 +0,0 @@ -function Get-ModuleDataBicepTypesRepo { - - param ( - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, - - [Parameter(Mandatory = $false)] - [bool] $IgnorePreview = $true - ) - - $initialLocation = (Get-Location).Path - $repoUrl = 'https://github.com/Azure/bicep-types-az.git' - $repoName = Split-Path $repoUrl -LeafBase - $tempFolderName = 'temp' - $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName - - # Clone repository - ## Create temp folder - if (-not (Test-Path $tempFolderPath)) { - $null = New-Item -Path $tempFolderPath -ItemType 'Directory' - } - ## Switch to temp folder - Set-Location $tempFolderPath - - ## Clone repository into temp folder - if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { - git clone $repoUrl - } else { - Write-Verbose "Repository [$repoName] already cloned" -Verbose - } - - # Process repository - $shortenedProviderNamespace = ($ProviderNamespace -split '\.')[1].ToLower() - $resourceProviderFolder = Join-Path $tempFolderPath $repoName 'generated' $shortenedProviderNamespace $ProviderNamespace.ToLower() - - # TODO: Get highest API version (preview/non-preview) - $apiVersionPaths = (Get-ChildItem $resourceProviderFolder).FullName | Sort-Object - if ($IgnorePreview) { - $apiVersionPaths = $apiVersionPaths | Where-Object { $_ -notmatch '-preview$' } - } - $latestAPIVersionPath = $apiVersionPaths[-1] - - $typesMarkdownPath = Join-Path $latestAPIVersionPath 'types.md' - $typesMarkdownContent = Get-Content -Path $typesMarkdownPath - - # Find resource start (not yet working) - $regexString = (('## Resource {0}/{1}@{2}' -f $ProviderNamespace, $ResourceType, (Split-Path $latestAPIVersionPath -Leaf)) -replace '\.', '\.') -replace '/', '\/' - $startingIndex = [array]::IndexOf($typesMarkdownContent, $regexString) - - # Get properties & split accordingly (e.g. name : type : description) + jump recursively to correct child references - - ## Remove temp folder again - $null = Remove-Item $tempFolderPath -Recurse -Force - Set-Location $initialLocation -} -Get-ModuleDataBicepTypesRepo -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' From b2788ec341c700f3d485ced67bc8e880a2a02f6d Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Tue, 20 Sep 2022 14:49:59 +0200 Subject: [PATCH 016/130] Get-ModuleDataSource function --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 122 ++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index ab66288ea0..bb8cd3c86d 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -111,4 +111,126 @@ function Get-ModuleDataRestApiSpecs { } +function Get-ModuleDataSource { + + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [bool] $IgnorePreview = $true + ) + + # prepare the repo + try { + $initialLocation = (Get-Location).Path + $repoUrl = 'https://github.com/Azure/azure-rest-api-specs.git' + $repoName = Split-Path $repoUrl -LeafBase + $tempFolderName = 'temp' + $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName + + # Clone repository + ## Create temp folder + if (-not (Test-Path $tempFolderPath)) { + $null = New-Item -Path $tempFolderPath -ItemType 'Directory' + } + ## Switch to temp folder + Set-Location $tempFolderPath + + ## Clone repository into temp folder + if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { + git clone $repoUrl + } else { + Write-Verbose "Repository [$repoName] already cloned" + } + } catch { + throw "Repo preparation failed: $_" + } + + #find the resource provider folder + # Process repository + $shortenedProviderNamespace = ($ProviderNamespace -split '\.')[1].ToLower() + $resourceProviderFolder = Join-Path $tempFolderPath $repoName 'specification' $shortenedProviderNamespace 'resource-manager' $ProviderNamespace + if (-not (Test-Path $resourceProviderFolder)) { + $resourceProviderFolderSearchResults = Get-ChildItem -Path $specifications -Directory -Recurse -Depth 3 | Where-Object { $_.Name -eq $ProviderNamespace -and $_.Parent.Name -eq 'resource-manager' } + switch ($resourceProviderFolderSearchResults.Count) { + { $_ -eq 0 } { throw ('Resource provider folder [{0}] not found' -f $ProviderNamespace); break } + { $_ -ge 1 } { $resourceProviderFolder = $resourceProviderFolderSearchResults[0].FullName } + { $_ -gt 1 } { + Write-Warning ('Other folder(s) with the name [{0}] found.' -f $ProviderNamespace) + for ($i = 1; $i -lt $resourceProviderFolderSearchResults.Count; $i++) { + Write-Warning (' {0}' -f $resourceProviderFolderSearchResults[$i].FullName) + } + break + } + Default {} + } + } + Write-Verbose ('Processing Resource provider folder [{0}]' -f $resourceProviderFolder) -Verbose + + try { + # TODO: Get highest API version (preview/non-preview) + $apiVersionFoldersArr = @() + if (Test-Path -Path $(Join-Path $resourceProviderFolder 'stable')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') } + if (-not $IgnorePreview) { + # adding preview API versions if allowed + if (Test-Path -Path $(Join-Path $resourceProviderFolder 'preview')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'preview') } + } + + # sorting all API version from the newest to the oldest + $apiVersionFoldersArr = $apiVersionFoldersArr | Sort-Object -Property Name -Descending + if ($apiVersionFoldersArr.Count -eq 0) { + throw ('No API folder found in folder [{0}]' -f $resourceProviderFolder) + } + + foreach ($apiversionFolder in $apiVersionFoldersArr) { + $putMethods = @() + foreach ($jsonFile in $(Get-ChildItem -Path $apiversionFolder -Filter *.json)) { + $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths + $jsonPaths.PSObject.Properties | ForEach-Object { + $put = $_.value.put + if ($put) { + $pathSplit = $_.Name.Split('/') + if (($pathSplit[$pathSplit.Count - 3] -eq $ProviderNamespace) -and ($pathSplit[$pathSplit.Count - 2] -eq $ResourceType)) { + $arrItem = [pscustomobject] @{} + $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFilePath' -Value $jsonFile.FullName + $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name + # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put + $putMethods += $arrItem + } + } + } + } + if ($putMethods.Count -gt 0) { break } + } + + + Set-Location $initialLocation + + ## Remove temp folder again + # $null = Remove-Item $tempFolderPath -Recurse -Force + + if ($putMethods.Count -eq 1) { + # return 1 + return $putMethods[0] + } elseif ($putMethods.Count -gt 1) { + # return $putMethods.Count + Write-Error 'Found too many matching results' + } else { + # return 0 + Write-Error 'No results found' + } + + } catch { + # return -2 + Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" + } +} + Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' + +Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' | Format-List + From 7997301e7a827b7d92a78d10904c0929733d2801 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Tue, 20 Sep 2022 15:18:59 +0200 Subject: [PATCH 017/130] adding some temporary debug code (will be removed later) --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 76 ++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index bb8cd3c86d..bc6b75657f 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -232,5 +232,79 @@ function Get-ModuleDataSource { Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' | Format-List +# Example call for further processing +# $result = Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false + + +# Kris: the below code is for debugging only and will be deleted later. +## It is commented out and doesn't run, so it can be ignored + +# test function calls +# working calls +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Batch' -ResourceType 'batchAccounts' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'virtualNetworks' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'networkSecurityGroups' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.CognitiveServices' -ResourceType 'accounts' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'applicationGateways' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'bastionHosts' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'azureFirewalls' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'servers' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'managedInstances' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.RecoveryServices' -ResourceType 'vaults' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AnalysisServices' -ResourceType 'servers' + +# not working calls +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' # provider folder structure +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Automation' -ResourceType 'automationAccounts' # no results +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Management' -ResourceType 'managementGroups' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' # provider folder not found +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' # no results +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' # provider folder not found +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' # different provider folder name +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DocumentDB' -ResourceType 'databaseAccounts' # different provider folder name +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' + +# running the function against the CARML modules folder +# to collect some statistics. +# It requires some modifications of the function Get-ModuleDataSource, so please don't use it. +# below code is temporary and will be deleted later +exit # protecting from unnecessary run +$carmlModulesRoot = Join-Path $PSScriptRoot '..' '..' '..' 'modules' +$resArray = @() +foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Microsoft.*')) { + foreach ($resourceFolder in $(Get-ChildItem -Path $(Join-Path $carmlModulesRoot $providerFolder.Name) -Directory)) { + Write-Host ('Processing [{0}/{1}]...' -f $providerFolder.Name, $resourceFolder.Name) + $res = Get-ModuleDataSource -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IgnorePreview $false + # Get-ModuleDataSource -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name + + $resArrItem = [pscustomobject] @{} + $resArrItem | Add-Member -MemberType NoteProperty -Name 'Provider' -Value $providerFolder.Name + $resArrItem | Add-Member -MemberType NoteProperty -Name 'ResourceType' -Value $resourceFolder.Name + $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res + $resArray += $resArrItem + } +} + + + +# statistics + +$count = $resArray.Count +$resArray | ConvertTo-Json -Depth 99 +$numberErrRepo = ($resArray | Where-Object { $_.Result -eq -1 }).Count +$numberErrResourceType = ($resArray | Where-Object { $_.Result -eq -2 }).Count +$numberNoResults = ($resArray | Where-Object { $_.Result -eq 0 }).Count +$numberOK = ($resArray | Where-Object { $_.Result -eq 1 }).Count +$numberTooMuch = ($resArray | Where-Object { $_.Result -gt 1 }).Count + +Write-Host ('Too much: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -gt 1 }).Count), $count )) +Write-Host ('Successful: {0}' -f ((($resArray | Where-Object { $_.Result -eq 1 }).Count))) +Write-Host ('No Results: {0}' -f ((($resArray | Where-Object { $_.Result -eq 0 }).Count))) +Write-Host ('Repo Error: {0}' -f ((($resArray | Where-Object { $_.Result -eq -1 }).Count))) +Write-Host ('RT Error : {0}' -f ((($resArray | Where-Object { $_.Result -eq -2 }).Count))) + From 839785d35505f404b5911c4d9f60acd5f0a54d21 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Tue, 20 Sep 2022 17:11:13 +0200 Subject: [PATCH 018/130] some debug output, example call modfied --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 57 +++++++++++-------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index bc6b75657f..914dc8ff4d 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -192,6 +192,9 @@ function Get-ModuleDataSource { $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths $jsonPaths.PSObject.Properties | ForEach-Object { $put = $_.value.put + # if ($_.Name -contains $ResourceType) { + # Write-Verbose ('File: [{0}], API: [{1}] JsonKeyPath: [{2}]' -f $jsonFile.Name, $apiversionFolder.Name, $_.Name) -Verbose + # } if ($put) { $pathSplit = $_.Name.Split('/') if (($pathSplit[$pathSplit.Count - 3] -eq $ProviderNamespace) -and ($pathSplit[$pathSplit.Count - 2] -eq $ResourceType)) { @@ -230,11 +233,11 @@ function Get-ModuleDataSource { } } -Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' +# Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' # Example call for further processing -# $result = Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false - +$result = Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false | Format-List +$result | Format-List # Kris: the below code is for debugging only and will be deleted later. ## It is commented out and doesn't run, so it can be ignored @@ -242,31 +245,35 @@ Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType # test function calls # working calls # Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Batch' -ResourceType 'batchAccounts' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'virtualNetworks' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'networkSecurityGroups' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.CognitiveServices' -ResourceType 'accounts' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'applicationGateways' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'bastionHosts' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'azureFirewalls' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'servers' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'managedInstances' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.RecoveryServices' -ResourceType 'vaults' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AnalysisServices' -ResourceType 'servers' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Batch' -ResourceType 'batchAccounts' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'virtualNetworks' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'networkSecurityGroups' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.CognitiveServices' -ResourceType 'accounts' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'applicationGateways' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'bastionHosts' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'azureFirewalls' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'servers' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'managedInstances' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.RecoveryServices' -ResourceType 'vaults' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AnalysisServices' -ResourceType 'servers' | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleAssignments' -IgnorePreview $true | Format-List # no results, special case +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleDefinitions' -IgnorePreview $true | Format-List # no results, special case +# repaired calls +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Automation' -ResourceType 'automationAccounts' | Format-List # no results +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Management' -ResourceType 'managementGroups' | Format-List # not working calls # Get-ModuleDataSource -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' # provider folder structure -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Automation' -ResourceType 'automationAccounts' # no results -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Management' -ResourceType 'managementGroups' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' # provider folder not found -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' # no results -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' # provider folder not found -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' # different provider folder name -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DocumentDB' -ResourceType 'databaseAccounts' # different provider folder name -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' -IgnorePreview $false | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' -IgnorePreview $false | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' -IgnorePreview $false | Format-List # provider folder not found +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' -IgnorePreview $false | Format-List # no results, special case +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyAssignments' -IgnorePreview $true | Format-List # no results, more than one provider folder, exists in the second folder (to be verified) +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' -IgnorePreview $false | Format-List # provider folder not found +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' -IgnorePreview $false | Format-List # different provider folder name +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DocumentDB' -ResourceType 'databaseAccounts' -IgnorePreview $false | Format-List # different provider folder name +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' -IgnorePreview | Format-List $false +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' -IgnorePreview $false | Format-List # running the function against the CARML modules folder # to collect some statistics. From 4560af2316c3874f7efaa865260d09a89f04070f Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 21 Sep 2022 10:21:01 +0200 Subject: [PATCH 019/130] Update to latest --- ...tion.ps1 => Get-DiagnosticOptionsList.ps1} | 4 +- .../Get-SupportsPrivateEndpoint.ps1 | 50 +++++++++++++++++++ .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 9 +++- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 14 ++++-- 4 files changed, 70 insertions(+), 7 deletions(-) rename utilities/tools/REST2CARML/{Get-DiagnosticOption.ps1 => Get-DiagnosticOptionsList.ps1} (96%) create mode 100644 utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 diff --git a/utilities/tools/REST2CARML/Get-DiagnosticOption.ps1 b/utilities/tools/REST2CARML/Get-DiagnosticOptionsList.ps1 similarity index 96% rename from utilities/tools/REST2CARML/Get-DiagnosticOption.ps1 rename to utilities/tools/REST2CARML/Get-DiagnosticOptionsList.ps1 index 67be0cc83e..7ddd52c568 100644 --- a/utilities/tools/REST2CARML/Get-DiagnosticOption.ps1 +++ b/utilities/tools/REST2CARML/Get-DiagnosticOptionsList.ps1 @@ -13,11 +13,11 @@ Mandatory. The Provider Namespace to fetch the data for Mandatory. The Resource Type to fetch the data for .EXAMPLE -Get-DiagnosticOption -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' +Get-DiagnosticOptionsList -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' Fetch the diagnostic options (logs & metrics) for Resource Type [Microsoft.KeyVault/vaults] #> -function Get-DiagnosticOption { +function Get-DiagnosticOptionsList { [CmdletBinding()] param( diff --git a/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 b/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 new file mode 100644 index 0000000000..9bc34ac9b2 --- /dev/null +++ b/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 @@ -0,0 +1,50 @@ +<# +.SYNOPSIS +Check if the given service specification references Private Endpoint + +.DESCRIPTION +Check if the given service specification references Private Endpoint + +.PARAMETER SpecificationFilePath +Mandatory. The file path to the service specification to check + +.EXAMPLE +Get-SupportsPrivateEndpoint -SpecificationFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' + +Check the Key Vault service specification for any Private Endpoint references +#> +function Get-SupportsPrivateEndpoint { + + [CmdletBinding()] + [OutputType('System.Boolean')] + param ( + [Parameter(Mandatory = $true)] + [string] $SpecificationFilePath + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + + $specContent = Get-Content -Path $SpecificationFilePath -Raw | ConvertFrom-Json -AsHashtable + + $relevantPaths = $specContent.paths.Keys | Where-Object { + ($_ -replace '\\', '/') -like '*/privateLinkResources*' -or + ($_ -replace '\\', '/') -like '*/privateEndpointConnections*' + } | Where-Object { + $specContent.paths[$_].keys -contains 'put' + } + + if ($relevantPaths.Count -gt 0) { + return $true + } + + return $false + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index a3c2009981..ddf31b004c 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -42,13 +42,20 @@ function Invoke-REST2CARML { # TODO: Invoke function to fetch module data # $moduleData = Get-ModuleData -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType $moduleData = @{} + $specificationFilePath = '' if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType } + $moduleTemplateInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + ModuleData = $moduleData + SpecificationFilePath = $specificationFilePath + } if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - Set-ModuleTemplate -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType -ModuleData $moduleData + Set-ModuleTemplate @moduleTemplateInputObject } } diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index b48833065c..b36e246832 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -9,7 +9,10 @@ [string] $ResourceType, [Parameter(Mandatory = $true)] - [Hashtable] $ModuleData + [Hashtable] $ModuleData, + + [Parameter(Mandatory = $true)] + [string] $SpecificationFilePath ) begin { @@ -18,7 +21,8 @@ $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' # Load used functions - . (Join-Path $PSScriptRoot 'Get-DiagnosticOption.ps1') + . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') + . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } @@ -28,10 +32,12 @@ ## Collect additional data ## ################################# # TODO: Clarify: Might need to be always 'All metrics' if any metric exists - $diagnosticOptions = Get-DiagnosticOption -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + + $supportsPrivateEndpoint = Get-SupportsPrivateEndpoint -SpecificationFilePath $SpecificationFilePath ## TODO: Add RBAC - ## TODO: Add Private Endpoints + ## TODO: Add Locks ############################# From 12a11d13cbb2352ed11c5778102e20c10c924043 Mon Sep 17 00:00:00 2001 From: George Dobrin Date: Wed, 21 Sep 2022 10:22:42 +0200 Subject: [PATCH 020/130] Update Get-ModuleDataRestApiSpecs.ps1 --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 90 +++---------------- 1 file changed, 10 insertions(+), 80 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index 914dc8ff4d..94e8974077 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -1,7 +1,5 @@ -function FilterPutPaths { - Param($params) - $putObj = $params[0] - $definitions = $params[1] +function FilterParameters ($putObj, $definitions) { + # TODO: recheck params $obj = {} $putObj.parameters | ForEach-Object { if ($_.name -eq 'parameters') { @@ -19,13 +17,12 @@ $newObj = Get-NestedParams($_.$ref, $definitions) # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj } - } return $obj } function Get-NestedParams { - # check why ref is null here + # TODO: check why ref is null here Param($params) $ref = $params[0] $definitions = $params[1] @@ -33,81 +30,8 @@ function Get-NestedParams { if ($refDef -notin $definitions) { throw 'ref is not contained in definition' } else { - # strip $definitions.$refDef and return - } -} - -function Get-ModuleDataRestApiSpecs { - - param ( - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, - - [Parameter(Mandatory = $false)] - [bool] $IgnorePreview = $true - ) - - $initialLocation = (Get-Location).Path - $repoUrl = 'https://github.com/Azure/azure-rest-api-specs.git' - $repoName = Split-Path $repoUrl -LeafBase - $tempFolderName = 'temp' - $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName - - # Clone repository - ## Create temp folder - if (-not (Test-Path $tempFolderPath)) { - $null = New-Item -Path $tempFolderPath -ItemType 'Directory' - } - ## Switch to temp folder - Set-Location $tempFolderPath - - ## Clone repository into temp folder - if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { - git clone $repoUrl - } else { - Write-Verbose "Repository [$repoName] already cloned" -Verbose + #TODO: strip $definitions.$refDef and return } - - # Process repository - $shortenedProviderNamespace = ($ProviderNamespace -split '\.')[1].ToLower() - $resourceProviderFolder = Join-Path $tempFolderPath $repoName 'specification' $shortenedProviderNamespace 'resource-manager' $ProviderNamespace - - # TODO: Get highest API version (preview/non-preview) - $latestApiFolder = (Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') | Sort-Object -Descending)[0] - - $putMethods = @() - foreach ($jsonFile in $(Get-ChildItem -Path $latestApiFolder -Filter *.json)) { - $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths - - $jsonPaths.PSObject.Properties | ForEach-Object { - $put = $_.value.put - $definitions = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).definitions - - if ($put) { - $arrItem = [pscustomobject] @{} - $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFile' -Value $jsonFile.Name - $arrItem | Add-Member -MemberType NoteProperty -Name 'path' -Value $_.Name - # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put - - $filteredObj = FilterPutPaths($put, $definitions) - $arrItem | Add-Member -MemberType NoteProperty -Name 'properties' -Value $filteredObj - - $putMethods += $arrItem - } - } - } - - $putMethods | ConvertTo-Json - - ## process file - - - ## Remove temp folder again - # $null = Remove-Item $tempFolderPath -Recurse -Force - Set-Location $initialLocation } @@ -190,6 +114,8 @@ function Get-ModuleDataSource { $putMethods = @() foreach ($jsonFile in $(Get-ChildItem -Path $apiversionFolder -Filter *.json)) { $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths + $definitions = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).definitions + $jsonPaths.PSObject.Properties | ForEach-Object { $put = $_.value.put # if ($_.Name -contains $ResourceType) { @@ -204,8 +130,12 @@ function Get-ModuleDataSource { # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put $putMethods += $arrItem } + + # add nested parameters + FilterParameters($put, $definitions) } } + } if ($putMethods.Count -gt 0) { break } } From 8fb58bc2e9bfa534a93ea77dc62ec8cfc8f72975 Mon Sep 17 00:00:00 2001 From: George Dobrin Date: Wed, 21 Sep 2022 10:32:49 +0200 Subject: [PATCH 021/130] Update Get-ModuleDataRestApiSpecs.ps1 --- utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index 94e8974077..52db39fe15 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -128,11 +128,13 @@ function Get-ModuleDataSource { $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFilePath' -Value $jsonFile.FullName $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put + + # add nested parameters + $paramObj = FilterParameters($put, $definitions) + # $arrItem | Add-Member -MemberType NoteProperty -Name 'parameters' -Value $paramObj + $putMethods += $arrItem } - - # add nested parameters - FilterParameters($put, $definitions) } } From 9186686074613e2934f9be18ee573efd494b3df8 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 21 Sep 2022 11:58:45 +0200 Subject: [PATCH 022/130] Updated scripts --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 43 +---------------- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+), 42 deletions(-) create mode 100644 utilities/tools/REST2CARML/Resolve-ModuleData.ps1 diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index 52db39fe15..4bdf00bad0 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -1,41 +1,4 @@ -function FilterParameters ($putObj, $definitions) { - # TODO: recheck params - $obj = {} - $putObj.parameters | ForEach-Object { - if ($_.name -eq 'parameters') { - $newObj = Get-NestedParams($_.schema.$ref, $definitions) - # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj - } elseif ($null -ne $_.name) { - $paramItem = [PSCustomObject]@{ - name = $_.name - type = $_.type - description = $_.description - } - - $obj | Add-Member -MemberType NoteProperty -Name $paramItem.name -Value $paramItem - } elseif ($null -ne $_.$ref) { - $newObj = Get-NestedParams($_.$ref, $definitions) - # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj - } - } - return $obj -} - -function Get-NestedParams { - # TODO: check why ref is null here - Param($params) - $ref = $params[0] - $definitions = $params[1] - $refDef = Split-Path $ref -LeafBase - if ($refDef -notin $definitions) { - throw 'ref is not contained in definition' - } else { - #TODO: strip $definitions.$refDef and return - } -} - - -function Get-ModuleDataSource { +function Get-ModuleDataSource { param ( [Parameter(Mandatory = $true)] @@ -129,10 +92,6 @@ function Get-ModuleDataSource { $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put - # add nested parameters - $paramObj = FilterParameters($put, $definitions) - # $arrItem | Add-Member -MemberType NoteProperty -Name 'parameters' -Value $paramObj - $putMethods += $arrItem } } diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 new file mode 100644 index 0000000000..1ed288c38f --- /dev/null +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -0,0 +1,47 @@ +function FilterParameters ($putObj, $definitions) { + # TODO: recheck params + $obj = {} + $putObj.parameters | ForEach-Object { + if ($_.name -eq 'parameters') { + $newObj = Get-NestedParams($_.schema.$ref, $definitions) + # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj + } elseif ($null -ne $_.name) { + $paramItem = [PSCustomObject]@{ + name = $_.name + type = $_.type + description = $_.description + } + + $obj | Add-Member -MemberType NoteProperty -Name $paramItem.name -Value $paramItem + } elseif ($null -ne $_.$ref) { + $newObj = Get-NestedParams($_.$ref, $definitions) + # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj + } + } + return $obj +} + +function Get-NestedParams { + # TODO: check why ref is null here + Param($params) + $ref = $params[0] + $definitions = $params[1] + $refDef = Split-Path $ref -LeafBase + if ($refDef -notin $definitions) { + throw 'ref is not contained in definition' + } else { + #TODO: strip $definitions.$refDef and return + } +} + + +function Resolve-ModuleData { + + + $dummyObject = @( + @{ + jsonFilePath = 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' + jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' # PUT path + } + ) +} From 34a50033dc03660e19eb1092b0dbdf6ebfc72128 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Wed, 21 Sep 2022 12:57:06 +0200 Subject: [PATCH 023/130] Allowing more than one result per resource type --- .../REST2CARML/Get-ModuleDataRestApiSpecs.ps1 | 186 +++++++++--------- 1 file changed, 97 insertions(+), 89 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 index 4bdf00bad0..d92184dfce 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 @@ -1,4 +1,26 @@ -function Get-ModuleDataSource { +function Get-ResourceProviderFolders { + param ( + [Parameter(Mandatory = $true)] + [string] $rootFolder, + + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + try { + #find the resource provider folder + $resourceProviderFolderSearchResults = Get-ChildItem -Path $rootFolder -Directory -Recurse -Depth 4 | Where-Object { $_.Name -eq $ProviderNamespace -and $_.Parent.Name -eq 'resource-manager' } + return $resourceProviderFolderSearchResults | ForEach-Object { "$($_.FullName)" } + + } catch { + Write-Error 'Error detecting provider folder' + } + +} + +function Get-ModuleDataSource { param ( [Parameter(Mandatory = $true)] @@ -37,95 +59,77 @@ throw "Repo preparation failed: $_" } - #find the resource provider folder - # Process repository - $shortenedProviderNamespace = ($ProviderNamespace -split '\.')[1].ToLower() - $resourceProviderFolder = Join-Path $tempFolderPath $repoName 'specification' $shortenedProviderNamespace 'resource-manager' $ProviderNamespace - if (-not (Test-Path $resourceProviderFolder)) { - $resourceProviderFolderSearchResults = Get-ChildItem -Path $specifications -Directory -Recurse -Depth 3 | Where-Object { $_.Name -eq $ProviderNamespace -and $_.Parent.Name -eq 'resource-manager' } - switch ($resourceProviderFolderSearchResults.Count) { - { $_ -eq 0 } { throw ('Resource provider folder [{0}] not found' -f $ProviderNamespace); break } - { $_ -ge 1 } { $resourceProviderFolder = $resourceProviderFolderSearchResults[0].FullName } - { $_ -gt 1 } { - Write-Warning ('Other folder(s) with the name [{0}] found.' -f $ProviderNamespace) - for ($i = 1; $i -lt $resourceProviderFolderSearchResults.Count; $i++) { - Write-Warning (' {0}' -f $resourceProviderFolderSearchResults[$i].FullName) - } - break + try { + #find the resource provider folder + $resourceProviderFolders = Get-ResourceProviderFolders -rootFolder $(Join-Path $tempFolderPath $repoName 'specification') -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + + $resultArr = @() + foreach ($resourceProviderFolder in $resourceProviderFolders) { + Write-Verbose ('Processing Resource provider folder [{0}]' -f $resourceProviderFolder) + # TODO: Get highest API version (preview/non-preview) + $apiVersionFoldersArr = @() + if (Test-Path -Path $(Join-Path $resourceProviderFolder 'stable')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') } + if (-not $IgnorePreview) { + # adding preview API versions if allowed + if (Test-Path -Path $(Join-Path $resourceProviderFolder 'preview')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'preview') } } - Default {} - } - } - Write-Verbose ('Processing Resource provider folder [{0}]' -f $resourceProviderFolder) -Verbose - try { - # TODO: Get highest API version (preview/non-preview) - $apiVersionFoldersArr = @() - if (Test-Path -Path $(Join-Path $resourceProviderFolder 'stable')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') } - if (-not $IgnorePreview) { - # adding preview API versions if allowed - if (Test-Path -Path $(Join-Path $resourceProviderFolder 'preview')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'preview') } - } + # sorting all API version from the newest to the oldest + $apiVersionFoldersArr = $apiVersionFoldersArr | Sort-Object -Property Name -Descending + if ($apiVersionFoldersArr.Count -eq 0) { + throw ('No API folder found in folder [{0}]' -f $resourceProviderFolder) - # sorting all API version from the newest to the oldest - $apiVersionFoldersArr = $apiVersionFoldersArr | Sort-Object -Property Name -Descending - if ($apiVersionFoldersArr.Count -eq 0) { - throw ('No API folder found in folder [{0}]' -f $resourceProviderFolder) - } + } - foreach ($apiversionFolder in $apiVersionFoldersArr) { - $putMethods = @() - foreach ($jsonFile in $(Get-ChildItem -Path $apiversionFolder -Filter *.json)) { - $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths - $definitions = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).definitions - - $jsonPaths.PSObject.Properties | ForEach-Object { - $put = $_.value.put - # if ($_.Name -contains $ResourceType) { - # Write-Verbose ('File: [{0}], API: [{1}] JsonKeyPath: [{2}]' -f $jsonFile.Name, $apiversionFolder.Name, $_.Name) -Verbose - # } - if ($put) { - $pathSplit = $_.Name.Split('/') - if (($pathSplit[$pathSplit.Count - 3] -eq $ProviderNamespace) -and ($pathSplit[$pathSplit.Count - 2] -eq $ResourceType)) { - $arrItem = [pscustomobject] @{} - $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFilePath' -Value $jsonFile.FullName - $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name - # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put - - $putMethods += $arrItem + foreach ($apiversionFolder in $apiVersionFoldersArr) { + $putMethods = @() + foreach ($jsonFile in $(Get-ChildItem -Path $apiversionFolder -Filter *.json)) { + $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths + $jsonPaths.PSObject.Properties | ForEach-Object { + $put = $_.value.put + # if ($_.Name -contains $ResourceType) { + # Write-Verbose ('File: [{0}], API: [{1}] JsonKeyPath: [{2}]' -f $jsonFile.Name, $apiversionFolder.Name, $_.Name) -Verbose + # } + if ($put) { + $pathSplit = $_.Name.Split('/') + if (($pathSplit[$pathSplit.Count - 3] -eq $ProviderNamespace) -and ($pathSplit[$pathSplit.Count - 2] -eq $ResourceType)) { + $arrItem = [pscustomobject] @{} + $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFilePath' -Value $jsonFile.FullName + $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name + # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put + $putMethods += $arrItem + } } } } - + if ($putMethods.Count -gt 0) { break } # no scanning of older API folders if a put method already found } - if ($putMethods.Count -gt 0) { break } + $resultArr += $putMethods # adding result of this provider folder to the overall result array } + } catch { + Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" + return -2 + } - + try { Set-Location $initialLocation ## Remove temp folder again # $null = Remove-Item $tempFolderPath -Recurse -Force - if ($putMethods.Count -eq 1) { - # return 1 - return $putMethods[0] - } elseif ($putMethods.Count -gt 1) { - # return $putMethods.Count - Write-Error 'Found too many matching results' + if ($resultArr.Count -ge 1) { + return $resultArr } else { - # return 0 Write-Error 'No results found' + return $resultArr } } catch { - # return -2 Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" + return -2 } } -# Get-ModuleDataRestApiSpecs -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' - # Example call for further processing $result = Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false | Format-List $result | Format-List @@ -152,19 +156,21 @@ $result | Format-List # repaired calls # Get-ModuleDataSource -ProviderNamespace 'Microsoft.Automation' -ResourceType 'automationAccounts' | Format-List # no results # Get-ModuleDataSource -ProviderNamespace 'Microsoft.Management' -ResourceType 'managementGroups' | Format-List - -# not working calls -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' # provider folder structure -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' -IgnorePreview $false | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' -IgnorePreview $false | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' -IgnorePreview $false | Format-List # provider folder not found -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' -IgnorePreview $false | Format-List # no results, special case +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' -IgnorePreview $false | Format-List # provider folder not found # Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyAssignments' -IgnorePreview $true | Format-List # no results, more than one provider folder, exists in the second folder (to be verified) -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' -IgnorePreview $false | Format-List # provider folder not found -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' -IgnorePreview $false | Format-List # different provider folder name # Get-ModuleDataSource -ProviderNamespace 'Microsoft.DocumentDB' -ResourceType 'databaseAccounts' -IgnorePreview $false | Format-List # different provider folder name -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' -IgnorePreview | Format-List $false # Get-ModuleDataSource -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' -IgnorePreview $false | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' -IgnorePreview $false | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' -IgnorePreview $false | Format-List # different provider folder name +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyDefinitions' -IgnorePreview $true | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policySetDefinitions' -IgnorePreview $true | Format-List +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' -IgnorePreview $true | Format-List # provider folder not found +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' -IgnorePreview $true | Format-List # no results, special case +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' -IgnorePreview $true | Format-List + +# not working calls +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' # provider folder structure +# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' -IgnorePreview $true | Format-List # running the function against the CARML modules folder # to collect some statistics. @@ -176,13 +182,21 @@ $resArray = @() foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Microsoft.*')) { foreach ($resourceFolder in $(Get-ChildItem -Path $(Join-Path $carmlModulesRoot $providerFolder.Name) -Directory)) { Write-Host ('Processing [{0}/{1}]...' -f $providerFolder.Name, $resourceFolder.Name) - $res = Get-ModuleDataSource -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IgnorePreview $false + $res = Get-ModuleDataSource -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IgnorePreview $true # Get-ModuleDataSource -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name $resArrItem = [pscustomobject] @{} $resArrItem | Add-Member -MemberType NoteProperty -Name 'Provider' -Value $providerFolder.Name $resArrItem | Add-Member -MemberType NoteProperty -Name 'ResourceType' -Value $resourceFolder.Name - $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res + if ($null -eq $res) { + $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 0 + } elseif ($res -is [array]) { + $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res.Count + } elseif ($res.GetType().Name -eq 'pscustomobject') { + $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 1 + } else { + $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res + } $resArray += $resArrItem } } @@ -193,16 +207,10 @@ foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Mic $count = $resArray.Count $resArray | ConvertTo-Json -Depth 99 -$numberErrRepo = ($resArray | Where-Object { $_.Result -eq -1 }).Count -$numberErrResourceType = ($resArray | Where-Object { $_.Result -eq -2 }).Count -$numberNoResults = ($resArray | Where-Object { $_.Result -eq 0 }).Count -$numberOK = ($resArray | Where-Object { $_.Result -eq 1 }).Count -$numberTooMuch = ($resArray | Where-Object { $_.Result -gt 1 }).Count - -Write-Host ('Too much: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -gt 1 }).Count), $count )) -Write-Host ('Successful: {0}' -f ((($resArray | Where-Object { $_.Result -eq 1 }).Count))) -Write-Host ('No Results: {0}' -f ((($resArray | Where-Object { $_.Result -eq 0 }).Count))) -Write-Host ('Repo Error: {0}' -f ((($resArray | Where-Object { $_.Result -eq -1 }).Count))) -Write-Host ('RT Error : {0}' -f ((($resArray | Where-Object { $_.Result -eq -2 }).Count))) + +Write-Host ('Success, more than one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -gt 1 }).Count), $count )) +Write-Host ('Success, one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 1 }).Count), $count)) +Write-Host ('No Results: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 0 }).Count), $count)) +Write-Host ('RT Error : {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq -2 }).Count), $count)) From 88bdd39c89a388393d5198ef6ff42c8b43346863 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 21 Sep 2022 13:51:35 +0200 Subject: [PATCH 024/130] Data mock --- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 20 ++++++++++- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 34 ++++++++++++++++--- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index ddf31b004c..679ae02eb6 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -41,7 +41,25 @@ function Invoke-REST2CARML { process { # TODO: Invoke function to fetch module data # $moduleData = Get-ModuleData -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - $moduleData = @{} + $moduleData = @{ + parameters = @( + @{ + level = 0 + name = 'sku' + type = 'object' + description = '...' + allowedValues = @('') + required = $false + default = '' + } + @{ + level = 1 + name = 'firewallEnabled' + type = 'boolean' + description = '...' + } + ) + } $specificationFilePath = '' if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index 1ed288c38f..b11a13a45a 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -37,11 +37,35 @@ function Get-NestedParams { function Resolve-ModuleData { + [CmdletBinding()] + param ( + [Parameter()] + [array] $SpecificationPaths + ) + + $templateData = @{} + foreach ($SpecificationPath in $SpecificationPaths) { + + $specificationData = Get-Content -Path $SpecificationPath.jsonFilePath -Raw | ConvertFrom-Json -AsHashtable + + $definitions = $specificationData.definitions + + $matchingPathObjectParameters = $specificationData.paths[$SpecificationPath.jsonKeyPath].put.parameters - $dummyObject = @( - @{ - jsonFilePath = 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' - jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' # PUT path + $relevantParameters = $matchingPathObjectParameters | Where-Object { $_.name -notin @('resourceGroupName', 'subscription') } } - ) + + return $templateData } + + +Resolve-ModuleData -SpecificationPaths @( + @{ + jsonFilePath = 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' + jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' # PUT path + } + # @{ + # jsonFilePath = 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' + # jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' # PUT path + # } +) From f244d58e6d17558aead1b14737f8d70ba56d58cd Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 21 Sep 2022 14:28:09 +0200 Subject: [PATCH 025/130] Data mock --- utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 | 11 ++++++++--- utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 679ae02eb6..097f60b8ac 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -40,7 +40,12 @@ function Invoke-REST2CARML { process { # TODO: Invoke function to fetch module data - # $moduleData = Get-ModuleData -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + $pathData = @{ + jsonFilePath = '(...)\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' + jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' # PUT path + } + + # $moduleData = Resolve-ModuleData -PathData $pathData $moduleData = @{ parameters = @( @{ @@ -60,7 +65,6 @@ function Invoke-REST2CARML { } ) } - $specificationFilePath = '' if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType @@ -69,8 +73,9 @@ function Invoke-REST2CARML { $moduleTemplateInputObject = @{ ProviderNamespace = $ProviderNamespace ResourceType = $ResourceType + SpecificationFilePath = $pathData.jsonFilePath + SpecificationUrl = $pathData.jsonKeyPath ModuleData = $moduleData - SpecificationFilePath = $specificationFilePath } if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-ModuleTemplate @moduleTemplateInputObject diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index b36e246832..ebc3508804 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -12,7 +12,7 @@ [Hashtable] $ModuleData, [Parameter(Mandatory = $true)] - [string] $SpecificationFilePath + [object] $PathData ) begin { @@ -46,6 +46,7 @@ # TODO: Update template file + ############################# ## Update Module ReadMe # ############################# From 5827f65de61998d2f46c797765009b6809b40968 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 21 Sep 2022 14:28:31 +0200 Subject: [PATCH 026/130] Data mock --- utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index ebc3508804..e84bb1bfd2 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -12,7 +12,10 @@ [Hashtable] $ModuleData, [Parameter(Mandatory = $true)] - [object] $PathData + [string] $SpecificationFilePath, + + [Parameter(Mandatory = $true)] + [string] $SpecificationUrl ) begin { From 8f80477f1e586810e6c0ed40ec20ac1f825535d3 Mon Sep 17 00:00:00 2001 From: prteotia <97890681+prteotia@users.noreply.github.com> Date: Wed, 21 Sep 2022 19:01:43 +0530 Subject: [PATCH 027/130] Added file Get-ModuleLockDetail Checks if lock can be applied on resource or not --- .../tools/REST2CARML/Get-ModuleLockDetail.ps1 | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 diff --git a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 new file mode 100644 index 0000000000..2ca0e6e18b --- /dev/null +++ b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 @@ -0,0 +1,34 @@ +function Get-ModuleLockDetail { + + [CmdletBinding(SupportsShouldProcess)] + param ( + + [Parameter(Mandatory = $true)] + [string] $SpecificationUrl + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + + $arrItem = [pscustomobject] @{} + + $arrItem = $SpecificationUrl -split '\\' + } + + process { + + + if ($arrItem -and $arrItem.Count -le 9) { + Write-Host 'apply lock' + } else { + Write-Host"Can't apply lock" + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } + +} + +Get-ModuleLockDetail '\subscriptions\{subscriptionId}\resourceGroups\{resourceGroupName}\providers\Microsoft.Storage\storageAccounts\{accountName}' From c264c14c2b35074f3ce8155f3a1b55b60ac1d9d0 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Wed, 21 Sep 2022 15:33:20 +0200 Subject: [PATCH 028/130] Renaming Set-ModuleTemplate to Set-Module --- utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 | 4 ++-- .../REST2CARML/{Set-ModuleTemplate.ps1 => Set-Module.ps1} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename utilities/tools/REST2CARML/{Set-ModuleTemplate.ps1 => Set-Module.ps1} (98%) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 097f60b8ac..a82d15e7c0 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -33,7 +33,7 @@ function Invoke-REST2CARML { # Load used functions # . (Join-Path $PSScriptRoot 'Get-ModuleData.ps1') . (Join-Path $PSScriptRoot 'Set-ModuleFileStructure.ps1') - . (Join-Path $PSScriptRoot 'Set-ModuleTemplate.ps1') + . (Join-Path $PSScriptRoot 'Set-Module.ps1') Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose } @@ -78,7 +78,7 @@ function Invoke-REST2CARML { ModuleData = $moduleData } if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - Set-ModuleTemplate @moduleTemplateInputObject + Set-Module @moduleTemplateInputObject } } diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 similarity index 98% rename from utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 rename to utilities/tools/REST2CARML/Set-Module.ps1 index e84bb1bfd2..c017a5b693 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -1,4 +1,4 @@ -function Set-ModuleTemplate { +function Set-Module { [CmdletBinding(SupportsShouldProcess)] param ( From 42b31c5ea04c447dce41f423ea72c0ea12edcd63 Mon Sep 17 00:00:00 2001 From: prteotia <97890681+prteotia@users.noreply.github.com> Date: Wed, 21 Sep 2022 19:05:36 +0530 Subject: [PATCH 029/130] Update Get-ModuleLockDetail.ps1 --- utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 index 2ca0e6e18b..562d2d6744 100644 --- a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 @@ -12,7 +12,7 @@ $arrItem = [pscustomobject] @{} - $arrItem = $SpecificationUrl -split '\\' + $arrItem = $SpecificationUrl -split '\/' } process { From 2f8b57b8df202241568100104dd6f80333e5bcca Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Wed, 21 Sep 2022 15:35:53 +0200 Subject: [PATCH 030/130] Set-ModuleTemplate initial empty file --- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 new file mode 100644 index 0000000000..9b6c217d98 --- /dev/null +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -0,0 +1,35 @@ +function Set-ModuleTempalate { + + [CmdletBinding(SupportsShouldProcess)] + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [Hashtable] $ModuleData + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + + $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent + $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' + # Load used functions + . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') + . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') + . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') + } + + process { + + + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } + +} From 65c1d26a1524d1874970e0037dbf4f7a78ca3bea Mon Sep 17 00:00:00 2001 From: prteotia <97890681+prteotia@users.noreply.github.com> Date: Wed, 21 Sep 2022 19:06:11 +0530 Subject: [PATCH 031/130] Update Get-ModuleLockDetail.ps1 --- utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 index 562d2d6744..1764060269 100644 --- a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 @@ -21,7 +21,7 @@ if ($arrItem -and $arrItem.Count -le 9) { Write-Host 'apply lock' } else { - Write-Host"Can't apply lock" + Write-Host "Can't apply lock" } } From aaf941a7d57dad776e67e09068b31cf0340446fe Mon Sep 17 00:00:00 2001 From: shrivastavar Date: Wed, 21 Sep 2022 16:06:36 +0200 Subject: [PATCH 032/130] Added Get-RoleDefinitionList.ps1 --- .../REST2CARML/Get-RoleAssignmentList.ps1 | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 diff --git a/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 b/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 new file mode 100644 index 0000000000..c1e497d593 --- /dev/null +++ b/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 @@ -0,0 +1,50 @@ +<# +.SYNOPSIS +Fetch all available Role Definitions for the given Resource Type + +.DESCRIPTION +Fetch all available Role Definitions for the given Resource Type +Leverges Microsoft Docs's [https://learn.microsoft.com/en-us/powershell/module/az.resources/get-azroledefinition?view=azps-8.3.0] to fetch the data + +.PARAMETER ProviderNamespace +Mandatory. The Provider Namespace to fetch the data for + + +.EXAMPLE +Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match 'Microsoft.KeyVault/' -or $_.DataActions -match 'Microsoft.KeyVault/' -or $_.Actions -like '`**') } | FT Name, Id + +Fetch the diagnostic options (logs & metrics) for Resource Type [Microsoft.KeyVault/vaults] +#> +function Get-RoleAssignmentsList { + + [CmdletBinding()] + param( + [Parameter(Mandatory)] + [string] $ProviderNamespace + + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + + ################# + ## Get Roles ## + ################# + $roleDefinitions = Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match $ProviderNamespace -or $_.DataActions -match $ProviderNamespace -or $_.Actions -like '`**') } | Select-Object Name, Id | ConvertTo-Json | ConvertFrom-Json + $resBicep = [System.Collections.ArrayList]@() + foreach ($role in $roleDefinitions) { + $roleName = $role.Name + $roleId = $role.Id + $resBicep += "'$roleName':subscriptionResourceId('Microsoft.Authorization/roleDefinitions','$roleId')" + + } + return $resBicep + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} From e0761a464140a4489e2dc67007a73894ea9250a3 Mon Sep 17 00:00:00 2001 From: shrivastavar Date: Wed, 21 Sep 2022 16:38:45 +0200 Subject: [PATCH 033/130] Updated comments for Get-RoleAssignmentList.ps1 --- .../tools/REST2CARML/Get-RoleAssignmentList.ps1 | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 b/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 index c1e497d593..f94859b2a3 100644 --- a/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 +++ b/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 @@ -1,19 +1,18 @@ <# .SYNOPSIS -Fetch all available Role Definitions for the given Resource Type +Fetch all available Role Definitions for the given ProviderNamespace .DESCRIPTION -Fetch all available Role Definitions for the given Resource Type +Fetch all available Role Definitions for the given ProviderNamespace Leverges Microsoft Docs's [https://learn.microsoft.com/en-us/powershell/module/az.resources/get-azroledefinition?view=azps-8.3.0] to fetch the data .PARAMETER ProviderNamespace -Mandatory. The Provider Namespace to fetch the data for - +Mandatory. The Provider Namespace to fetch the role definitions .EXAMPLE -Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match 'Microsoft.KeyVault/' -or $_.DataActions -match 'Microsoft.KeyVault/' -or $_.Actions -like '`**') } | FT Name, Id +Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match $ProviderNamespace -or $_.DataActions -match $ProviderNamespace -or $_.Actions -like '`**') } | Select-Object Name, Id | ConvertTo-Json | ConvertFrom-Json -Fetch the diagnostic options (logs & metrics) for Resource Type [Microsoft.KeyVault/vaults] +Fetch all available Role Definitions for ProviderNamespace [Microsoft.KeyVault] #> function Get-RoleAssignmentsList { @@ -31,7 +30,7 @@ function Get-RoleAssignmentsList { process { ################# - ## Get Roles ## + ## Get Roles ## ################# $roleDefinitions = Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match $ProviderNamespace -or $_.DataActions -match $ProviderNamespace -or $_.Actions -like '`**') } | Select-Object Name, Id | ConvertTo-Json | ConvertFrom-Json $resBicep = [System.Collections.ArrayList]@() From 2c61cd6bad1c983b854c702f78567cbb5853431f Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 21 Sep 2022 17:01:19 +0200 Subject: [PATCH 034/130] Updated parameter fetch function --- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 191 +++++++++++++----- 1 file changed, 143 insertions(+), 48 deletions(-) diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index b11a13a45a..f1a543ed93 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -1,71 +1,166 @@ -function FilterParameters ($putObj, $definitions) { - # TODO: recheck params - $obj = {} - $putObj.parameters | ForEach-Object { - if ($_.name -eq 'parameters') { - $newObj = Get-NestedParams($_.schema.$ref, $definitions) - # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj - } elseif ($null -ne $_.name) { - $paramItem = [PSCustomObject]@{ - name = $_.name - type = $_.type - description = $_.description - } +function Add-OptionalParameter { + + [CmdletBinding()] + param ( + [Parameter()] + [hashtable] $SourceParameterObject, + + [Parameter()] + [hashtable] $TargetObject + ) + + # Allowed values + if ($SourceParameterObject.Keys -contains 'enum') { + $TargetObject['allowedValues'] = $SourceParameterObject.enum - $obj | Add-Member -MemberType NoteProperty -Name $paramItem.name -Value $paramItem - } elseif ($null -ne $_.$ref) { - $newObj = Get-NestedParams($_.$ref, $definitions) - # $obj | Add-Member -MemberType NoteProperty -Name $newObj.name -Value $newObj + if ($SourceParameterObject.enum.count -eq 1) { + $TargetObject['default'] = $SourceParameterObject.enum[0] } } - return $obj -} -function Get-NestedParams { - # TODO: check why ref is null here - Param($params) - $ref = $params[0] - $definitions = $params[1] - $refDef = Split-Path $ref -LeafBase - if ($refDef -notin $definitions) { - throw 'ref is not contained in definition' - } else { - #TODO: strip $definitions.$refDef and return + # Max Length + if ($SourceParameterObject.Keys -contains 'maxLength') { + $TargetObject['maxLength'] = $SourceParameterObject.maxLength } + + # Min Length + if ($SourceParameterObject.Keys -contains 'minLength') { + $TargetObject['minLength'] = $SourceParameterObject.minLength + } + + # Default value + if ($SourceParameterObject.Keys -contains 'default') { + $TargetObject['default'] = $SourceParameterObject.default + } + + # Pattern + if ($SourceParameterObject.Keys -contains 'pattern') { + $TargetObject['pattern'] = $SourceParameterObject.pattern + } + + return $TargetObject } +<# +.SYNOPSIS +Extract the outer (top-level) and inner (property-level) parameters for a given API Path +.DESCRIPTION +Extract the outer (top-level) and inner (property-level) parameters for a given API Path + +.PARAMETER JSONFilePath +Mandatory. The service specification file to process. + +.PARAMETER JSONKeyPath +Mandatory. The API Path in the JSON specification file to process + +.EXAMPLE +Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' + +Process the API path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' in file 'keyvault.json' +#> function Resolve-ModuleData { [CmdletBinding()] param ( - [Parameter()] - [array] $SpecificationPaths + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath ) - $templateData = @{} - foreach ($SpecificationPath in $SpecificationPaths) { - $specificationData = Get-Content -Path $SpecificationPath.jsonFilePath -Raw | ConvertFrom-Json -AsHashtable + # Collect data + # ------------ + $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable + $definitions = $specificationData.definitions + $specParameters = $specificationData.parameters + + $putParameters = $specificationData.paths[$JSONKeyPath].put.parameters + $matchingPathObjectParametersRef = ($putParameters | Where-Object { $_.name -eq 'parameters' }).schema.'$ref' + $outerParameters = $definitions[(Split-Path $matchingPathObjectParametersRef -Leaf)] + + $templateData = [System.Collections.ArrayList]@() + + # Handle resource name + # -------------------- + # Note: The name can be specified in different locations like the PUT statement, but also in the spec's 'parameters' object as a reference + # Case: The name in the url is also a parameter of the PUT statement + $pathServiceName = (Split-Path $JSONKeyPath -Leaf) -replace '{|}', '' + if ($putParameters.name -contains $pathServiceName) { + $param = $putParameters | Where-Object { $_.name -eq $pathServiceName } + + $parameterObject = @{ + level = 0 + name = 'name' + type = 'string' + description = $param.description + required = $true + } - $definitions = $specificationData.definitions + $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + } else { + # Case: The name is a ref in the spec's 'parameters' object. E.g., { "$ref": "#/parameters/BlobServicesName" } + # For this, we need to find the correct ref, as there can be multiple + $nonDefaultParameter = $putParameters.'$ref' | Where-Object { $_ -like '#/parameters/*' } | Where-Object { $specParameters[(Split-Path $_ -Leaf)].name -eq $pathServiceName } + if ($nonDefaultParameter) { + $param = $specParameters[(Split-Path $nonDefaultParameter -Leaf)] - $matchingPathObjectParameters = $specificationData.paths[$SpecificationPath.jsonKeyPath].put.parameters + $parameterObject = @{ + level = 0 + name = 'name' + type = 'string' + description = $param.description + required = $true + } - $relevantParameters = $matchingPathObjectParameters | Where-Object { $_.name -notin @('resourceGroupName', 'subscription') } + $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + } } - return $templateData -} + $templateData += $parameterObject + # Process outer properties + # ------------------------ + foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -ne 'properties' }) { + $param = $outerParameters.properties[$outerParameter] + $parameterObject = @{ + level = 0 + name = $outerParameter + type = $param.keys -contains 'type' ? $param.type : 'object' + description = $param.description + required = $outerParameters.required -contains $outerParameter + } -Resolve-ModuleData -SpecificationPaths @( - @{ - jsonFilePath = 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' - jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' # PUT path + $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + + $templateData += $parameterObject } - # @{ - # jsonFilePath = 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' - # jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' # PUT path - # } -) + + # Process inner properties + # ------------------------ + $innerRef = $outerParameters.properties.properties.'$ref' + $innerParameters = $definitions[(Split-Path $innerRef -Leaf)].properties + + foreach ($innerParameter in $innerParameters.Keys ) { + $param = $innerParameters[$innerParameter] + $parameterObject = @{ + level = 1 + name = $innerParameter + type = $param.keys -contains 'type' ? $param.type : 'object' + description = $param.description + required = $innerParameters.required -contains $innerParameter + } + + $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + + $templateData += $parameterObject + } + + return $templateData +} + +Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' | ConvertTo-Json +# Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\blob.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}' | ConvertTo-Json +# Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' | ConvertTo-Json From d2e6294b6a405b538a1d34fd8db4c15bf1bd8286 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 21 Sep 2022 17:06:01 +0200 Subject: [PATCH 035/130] Added docs --- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index f1a543ed93..c7bbe380e1 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -1,11 +1,30 @@ -function Add-OptionalParameter { +#region helperFunctions +<# +.SYNOPSIS +Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' + +.DESCRIPTION +Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' + +.PARAMETER SourceParameterObject +Mandatory. The source object to fetch the properties from + +.PARAMETER TargetObject +Mandatory. The target object to add the optional parameters to + +.EXAMPLE +Set-OptionalParameter -SourceParameterObject @{ minLength = 3; allowedValues = @('default') } -TargetObject @{ name = 'sampleObject' } + +Add any optional parameter defined in the given source object to the given target object. In this case, both the 'minLength' & 'allowedValues' properties would be added. In addition, the property 'default' is added, as the 'allowedValues' specify only one possible value. +#> +function Set-OptionalParameter { [CmdletBinding()] param ( - [Parameter()] + [Parameter(Mandatory = $true)] [hashtable] $SourceParameterObject, - [Parameter()] + [Parameter(Mandatory = $true)] [hashtable] $TargetObject ) @@ -40,6 +59,7 @@ return $TargetObject } +#endregion <# .SYNOPSIS @@ -99,7 +119,7 @@ function Resolve-ModuleData { required = $true } - $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject } else { # Case: The name is a ref in the spec's 'parameters' object. E.g., { "$ref": "#/parameters/BlobServicesName" } # For this, we need to find the correct ref, as there can be multiple @@ -115,7 +135,7 @@ function Resolve-ModuleData { required = $true } - $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject } } @@ -133,7 +153,7 @@ function Resolve-ModuleData { required = $outerParameters.required -contains $outerParameter } - $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject $templateData += $parameterObject } @@ -153,7 +173,7 @@ function Resolve-ModuleData { required = $innerParameters.required -contains $innerParameter } - $parameterObject = Add-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject + $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject $templateData += $parameterObject } From 2d33e88cfcbce1602432cfad503fa2cccf0f3464 Mon Sep 17 00:00:00 2001 From: prteotia <97890681+prteotia@users.noreply.github.com> Date: Wed, 21 Sep 2022 20:54:28 +0530 Subject: [PATCH 036/130] Update Get-ModuleLockDetail.ps1 Added check for Microsoft.Authorization/policyAssignments --- .../tools/REST2CARML/Get-ModuleLockDetail.ps1 | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 index 1764060269..dacd0aa1b2 100644 --- a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 +++ b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 @@ -1,10 +1,11 @@ -function Get-ModuleLockDetail { +function Get-ModuleLockDetail { [CmdletBinding(SupportsShouldProcess)] param ( [Parameter(Mandatory = $true)] - [string] $SpecificationUrl + [string] $SpecificationUrl, + [string] $PolicyAssignmentString = 'Microsoft.Authorization/policyAssignments' ) begin { @@ -12,6 +13,11 @@ $arrItem = [pscustomobject] @{} + if ($SpecificationUrl.Contains($PolicyAssignmentString)) { + Write-Verbose 'Lock not required' -Verbose + Exit + } + $arrItem = $SpecificationUrl -split '\/' } @@ -19,7 +25,7 @@ if ($arrItem -and $arrItem.Count -le 9) { - Write-Host 'apply lock' + Write-Host 'Apply lock' } else { Write-Host "Can't apply lock" } @@ -31,4 +37,4 @@ } -Get-ModuleLockDetail '\subscriptions\{subscriptionId}\resourceGroups\{resourceGroupName}\providers\Microsoft.Storage\storageAccounts\{accountName}' +Get-ModuleLockDetail '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' From 12742e60e55f50988fd509ef53b36127a964f49e Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Wed, 21 Sep 2022 17:27:30 +0200 Subject: [PATCH 037/130] Set-ModuleTemplate - first draft params section --- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 138 +++++++++++++++++- 1 file changed, 137 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index 9b6c217d98..aa574fb103 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -1,4 +1,84 @@ -function Set-ModuleTempalate { +function Get-SectionDivider { + param ( + [Parameter(Mandatory = $true)] + [string] $SectionName + ) + $outerMarginLength = 2 + $spacesOuterLines = 1 + $additionalSpacesMiddleLine = 2 + + $outerDividerLine = $('/' * $outerMarginLength) + $(' ' * $spacesOuterLines) + $('=' * $additionalSpacesMiddleLine) + $('=' * $SectionName.Length) + $('=' * $additionalSpacesMiddleLine) + $(' ' * $spacesOuterLines) + $('/' * $outerMarginLength) + $middleDividerLine = $('/' * $outerMarginLength) + $(' ' * $spacesOuterLines) + $(' ' * $additionalSpacesMiddleLine) + $SectionName + $(' ' * $additionalSpacesMiddleLine) + $(' ' * $spacesOuterLines) + $('/' * $outerMarginLength) + + return ('{0}{2}{1}{2}{0}{2}{2}' -f $outerDividerLine, $middleDividerLine, [System.Environment]::NewLine) +} + +function Get-ModuleParameter { + param ( + [Parameter(Mandatory = $true)] + [object] $ParameterData + ) + + $result = '' + + # description line (optional) + if ($ParameterData.description) { + $descriptionLine = "@description('" + $ParameterData.description + "')" + } + + # todo: + # secure (optional) + # allowed (optional) + # minValue (optional) + # maxValue (optional) + # minLength (optional) + # maxLength (optional) + # other? + + # param line (mandatory) + $paramLine = 'param ' + $ParameterData.name + ' ' + $ParameterData.type + + if ($ParameterData.default) { + $paramLine += ' = ' + $ParameterData.default + } + # to do: default value depending on type: quotes/no quotes, boolean, arrays (multiline) etc... + + # building and returning the final parameter entry + $result = $descriptionLine + [System.Environment]::NewLine + $paramLine + [System.Environment]::NewLine + [System.Environment]::NewLine + return $result +} + +function Get-DeploymentResourceFirstLine { + param ( + [Parameter(Mandatory = $true)] + [object] $ParameterData + ) + # resource keyVault 'Microsoft.KeyVault/vaults@2021-11-01-preview' = { + + $result = '' + + $result += "@description('" + $ParameterData.description + "')" + + $paramLine = 'param ' + $ParameterData.name + ' ' + $ParameterData.type + if ($ParameterData.default) { + $paramLine += ' = ' + $ParameterData.default + } + + # param location string = resourceGroup().location + $result = $descriptionLine + [System.Environment]::NewLine + $paramLine + [System.Environment]::NewLine + return $result +} + +function Get-IntentSpaces { + param ( + [Parameter(Mandatory = $false)] + [int] $level = 0 + ) + + return ' ' * 2 * $($level + 1) +} + +function Set-ModuleTempalate { [CmdletBinding(SupportsShouldProcess)] param ( @@ -24,8 +104,40 @@ } process { + ########################################## + ## Create template parameters section ## + ########################################## + + $templateContent = '' + # Parameters header comment + $templateContent += Get-SectionDivider -SectionName 'Parameters' + # Add parameters + foreach ($parameter in $ModuleData.parameters) { + $templateContent += Get-ModuleParameter -ParameterData $parameter + } + + ########################################### + ## Create template deployments section ## + ########################################### + + # Deployments header comment + $templateContent += Get-SectionDivider -SectionName 'Deployments' + + # Deployment resource declaration line + # to do + + # Add deployment parameters + foreach ($parameter in $ModuleData.parameters) { + # to do + } + + # Deployment resource finising line + # to do + + + return $templateContent # will be replaced with writing the template file } end { @@ -33,3 +145,27 @@ } } + +# using dummy module data for the first draft +$moduleData = @{ + parameters = @( + @{ + level = 0 + name = 'sku' + type = 'object' + description = 'Optional. My sample description' + allowedValues = @('') + required = $false + default = '' + } + @{ + level = 1 + name = 'firewallEnabled' + type = 'boolean' + description = 'Optional. My sample description 2' + default = $true + } + ) +} + +Set-ModuleTempalate -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData $moduleData From 76afdcd8f190e22e1be684db606cb5d731172c93 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 09:53:54 +0200 Subject: [PATCH 038/130] Minor updates to bring all extension fetch elements together --- .../tools/REST2CARML/Get-ModuleLockDetail.ps1 | 40 --------------- .../REST2CARML/Get-RoleAssignmentList.ps1 | 8 +-- .../tools/REST2CARML/Get-SupportsLock.ps1 | 50 +++++++++++++++++++ .../Get-SupportsPrivateEndpoint.ps1 | 4 +- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 5 +- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 4 +- utilities/tools/REST2CARML/Set-Module.ps1 | 13 +++-- 7 files changed, 73 insertions(+), 51 deletions(-) delete mode 100644 utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 create mode 100644 utilities/tools/REST2CARML/Get-SupportsLock.ps1 diff --git a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 b/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 deleted file mode 100644 index dacd0aa1b2..0000000000 --- a/utilities/tools/REST2CARML/Get-ModuleLockDetail.ps1 +++ /dev/null @@ -1,40 +0,0 @@ -function Get-ModuleLockDetail { - - [CmdletBinding(SupportsShouldProcess)] - param ( - - [Parameter(Mandatory = $true)] - [string] $SpecificationUrl, - [string] $PolicyAssignmentString = 'Microsoft.Authorization/policyAssignments' - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - - $arrItem = [pscustomobject] @{} - - if ($SpecificationUrl.Contains($PolicyAssignmentString)) { - Write-Verbose 'Lock not required' -Verbose - Exit - } - - $arrItem = $SpecificationUrl -split '\/' - } - - process { - - - if ($arrItem -and $arrItem.Count -le 9) { - Write-Host 'Apply lock' - } else { - Write-Host "Can't apply lock" - } - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } - -} - -Get-ModuleLockDetail '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' diff --git a/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 b/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 index f94859b2a3..b691237042 100644 --- a/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 +++ b/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 @@ -7,10 +7,10 @@ Fetch all available Role Definitions for the given ProviderNamespace Leverges Microsoft Docs's [https://learn.microsoft.com/en-us/powershell/module/az.resources/get-azroledefinition?view=azps-8.3.0] to fetch the data .PARAMETER ProviderNamespace -Mandatory. The Provider Namespace to fetch the role definitions +Mandatory. The Provider Namespace to fetch the role definitions for .EXAMPLE -Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match $ProviderNamespace -or $_.DataActions -match $ProviderNamespace -or $_.Actions -like '`**') } | Select-Object Name, Id | ConvertTo-Json | ConvertFrom-Json +Get-RoleAssignmentsList -ProviderNamespace 'Microsoft.KeyVault' Fetch all available Role Definitions for ProviderNamespace [Microsoft.KeyVault] #> @@ -37,9 +37,9 @@ function Get-RoleAssignmentsList { foreach ($role in $roleDefinitions) { $roleName = $role.Name $roleId = $role.Id - $resBicep += "'$roleName':subscriptionResourceId('Microsoft.Authorization/roleDefinitions','$roleId')" - + $resBicep += "'$roleName': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','$roleId')" } + return $resBicep } diff --git a/utilities/tools/REST2CARML/Get-SupportsLock.ps1 b/utilities/tools/REST2CARML/Get-SupportsLock.ps1 new file mode 100644 index 0000000000..ca0c91c69f --- /dev/null +++ b/utilities/tools/REST2CARML/Get-SupportsLock.ps1 @@ -0,0 +1,50 @@ +<# +.SYNOPSIS +Check if the given service specification supports resource locks + +.DESCRIPTION +Check if the given service specification supports resource locks + +.PARAMETER SpecificationUrl +Mandatory. The file path to the service specification to check + +.PARAMETER ProvidersToIgnore +Optional. Providers to ignore because they fundamentally don't support locks (e.g. 'Microsoft.Authorization') + +.EXAMPLE +Get-SupportsLock -SpecificationUrl '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' + +Check if the storage service supports locks. +#> +function Get-SupportsLock { + + [CmdletBinding()] + [OutputType('System.Boolean')] + param ( + [Parameter(Mandatory = $true)] + [string] $SpecificationUrl, + + [Parameter(Mandatory = $false)] + [array] $ProvidersToIgnore = @('Microsoft.Authorization') + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + + # If the Specification URI contains any of the namespaces to ignore, no Lock is supported + foreach ($ProviderToIgnore in $ProvidersToIgnore) { + if ($SpecificationUrl.Contains($ProviderToIgnore)) { + return $false + } + } + + return ($SpecificationUrl -split '\/').Count -le 9 + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 b/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 index 9bc34ac9b2..9d2444513a 100644 --- a/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 +++ b/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 @@ -1,9 +1,9 @@ <# .SYNOPSIS -Check if the given service specification references Private Endpoint +Check if the given service specification supports private endpoints .DESCRIPTION -Check if the given service specification references Private Endpoint +Check if the given service specification supports private endpoints .PARAMETER SpecificationFilePath Mandatory. The file path to the service specification to check diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index a82d15e7c0..164455b793 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -3,7 +3,8 @@ Create/Update a CARML module based on the latest API information available .DESCRIPTION -Create/Update a CARML module based on the latest API information available +Create/Update a CARML module based on the latest API information available. +NOTE: As we query some data from Azure, you must be connected to an Azure Context to use this function .PARAMETER ProviderNamespace Mandatory. The provider namespace to query the data for @@ -39,6 +40,8 @@ function Invoke-REST2CARML { } process { + v + # TODO: Invoke function to fetch module data $pathData = @{ jsonFilePath = '(...)\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index c7bbe380e1..19eab0605e 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -28,6 +28,8 @@ function Set-OptionalParameter { [hashtable] $TargetObject ) + # TODO: Add max & min + # Allowed values if ($SourceParameterObject.Keys -contains 'enum') { $TargetObject['allowedValues'] = $SourceParameterObject.enum @@ -181,6 +183,6 @@ function Resolve-ModuleData { return $templateData } -Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' | ConvertTo-Json +# Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' | ConvertTo-Json # Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\blob.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}' | ConvertTo-Json # Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' | ConvertTo-Json diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index c017a5b693..a817053500 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -24,6 +24,8 @@ $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' # Load used functions + . (Join-Path $PSScriptRoot 'Get-SupportsLock.ps1') + . (Join-Path $PSScriptRoot 'Get-RoleAssignmentList.ps1') . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') @@ -34,21 +36,26 @@ ################################# ## Collect additional data ## ################################# + + # Get diagnostic data # TODO: Clarify: Might need to be always 'All metrics' if any metric exists $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + # Get Endpoint data $supportsPrivateEndpoint = Get-SupportsPrivateEndpoint -SpecificationFilePath $SpecificationFilePath - ## TODO: Add RBAC + ## Get RBAC data + $supportedRoles = Get-RoleAssignmentList -ProviderNamespace $ProviderNamespace - ## TODO: Add Locks + ## Get Locks data + $supportsLock = Get-SupportsLock -SpecificationUrl $SpecificationUrl ############################# ## Update Template File # ############################# # TODO: Update template file - + Set-ModuleTemplate ############################# ## Update Module ReadMe # From bf4da4a491a558f5280725fa73c4829ab581b01d Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 09:55:56 +0200 Subject: [PATCH 039/130] Added min/max support --- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index 19eab0605e..d7fad9a628 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -28,8 +28,6 @@ function Set-OptionalParameter { [hashtable] $TargetObject ) - # TODO: Add max & min - # Allowed values if ($SourceParameterObject.Keys -contains 'enum') { $TargetObject['allowedValues'] = $SourceParameterObject.enum @@ -39,14 +37,24 @@ function Set-OptionalParameter { } } + # Min Length + if ($SourceParameterObject.Keys -contains 'minLength') { + $TargetObject['minLength'] = $SourceParameterObject.minLength + } + # Max Length if ($SourceParameterObject.Keys -contains 'maxLength') { $TargetObject['maxLength'] = $SourceParameterObject.maxLength } - # Min Length - if ($SourceParameterObject.Keys -contains 'minLength') { - $TargetObject['minLength'] = $SourceParameterObject.minLength + # Min + if ($SourceParameterObject.Keys -contains 'minimum') { + $TargetObject['minimum'] = $SourceParameterObject.minimum + } + + # Max + if ($SourceParameterObject.Keys -contains 'maximum') { + $TargetObject['maximum'] = $SourceParameterObject.maximum } # Default value From e5aa7c9f00b17be88e10c50efaf7db39d45a0dec Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 10:04:07 +0200 Subject: [PATCH 040/130] Cleanup --- utilities/tools/REST2CARML/Get-ModuleData.ps1 | 16 ---------------- utilities/tools/REST2CARML/Set-Module.ps1 | 8 ++++---- .../Get-DiagnosticOptionsList.ps1 | 0 .../{ => extension}/Get-RoleAssignmentList.ps1 | 0 .../{ => extension}/Get-SupportsLock.ps1 | 0 .../Get-SupportsPrivateEndpoint.ps1 | 0 6 files changed, 4 insertions(+), 20 deletions(-) delete mode 100644 utilities/tools/REST2CARML/Get-ModuleData.ps1 rename utilities/tools/REST2CARML/{ => extension}/Get-DiagnosticOptionsList.ps1 (100%) rename utilities/tools/REST2CARML/{ => extension}/Get-RoleAssignmentList.ps1 (100%) rename utilities/tools/REST2CARML/{ => extension}/Get-SupportsLock.ps1 (100%) rename utilities/tools/REST2CARML/{ => extension}/Get-SupportsPrivateEndpoint.ps1 (100%) diff --git a/utilities/tools/REST2CARML/Get-ModuleData.ps1 b/utilities/tools/REST2CARML/Get-ModuleData.ps1 deleted file mode 100644 index f953948592..0000000000 --- a/utilities/tools/REST2CARML/Get-ModuleData.ps1 +++ /dev/null @@ -1,16 +0,0 @@ -# Alt: https://docs.microsoft.com/en-us/azure/templates -$response = Invoke-WebRequest -Uri 'https://docs.microsoft.com/en-us/rest/api/azure/toc.json' - -if (-not $response.Content) { - throw 'Fetch failed' -} - -$menu = ($response.Content | ConvertFrom-Json -Depth 99 -AsHashtable).items - -$topLevelResourceTypes = $menu.toc_title | Where-Object { $_ -notlike 'Getting Started with REST' } - -foreach ($resourceType in $topLevelResourceTypes) { - # Fetch children - # Filter down by 'CREATE' commands - # Run recursively -} diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index a817053500..88599f2e39 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -24,10 +24,10 @@ $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' # Load used functions - . (Join-Path $PSScriptRoot 'Get-SupportsLock.ps1') - . (Join-Path $PSScriptRoot 'Get-RoleAssignmentList.ps1') - . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') - . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Get-SupportsLock.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Get-RoleAssignmentList.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Get-DiagnosticOptionsList.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Get-SupportsPrivateEndpoint.ps1') . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } diff --git a/utilities/tools/REST2CARML/Get-DiagnosticOptionsList.ps1 b/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 similarity index 100% rename from utilities/tools/REST2CARML/Get-DiagnosticOptionsList.ps1 rename to utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 diff --git a/utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 b/utilities/tools/REST2CARML/extension/Get-RoleAssignmentList.ps1 similarity index 100% rename from utilities/tools/REST2CARML/Get-RoleAssignmentList.ps1 rename to utilities/tools/REST2CARML/extension/Get-RoleAssignmentList.ps1 diff --git a/utilities/tools/REST2CARML/Get-SupportsLock.ps1 b/utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 similarity index 100% rename from utilities/tools/REST2CARML/Get-SupportsLock.ps1 rename to utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 diff --git a/utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 b/utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 similarity index 100% rename from utilities/tools/REST2CARML/Get-SupportsPrivateEndpoint.ps1 rename to utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 From 4a70124a543c8fc243b36fe254825647d2439951 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Thu, 22 Sep 2022 10:30:07 +0200 Subject: [PATCH 041/130] Generating deployment resource section - first draft --- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 159 ++++++++++++++++-- 1 file changed, 144 insertions(+), 15 deletions(-) diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index aa574fb103..2ac5f9ae10 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -48,27 +48,133 @@ function Get-ModuleParameter { return $result } +function Get-ApiVersion { + param ( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath + ) + + return Split-Path -Path (Split-Path -Path $JSONFilePath -Parent) -Leaf +} + +function Get-ResourceTypeSingularName { + param ( + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + if ($ResourceType -like '*ii') { return $ResourceType -replace 'ii$', 'us' } + if ($ResourceType -like '*ies') { return $ResourceType -replace 'ies$', 'y' } + if ($ResourceType -like '*s') { return $ResourceType -replace 's$', '' } + + return $ResourceType +} + function Get-DeploymentResourceFirstLine { param ( [Parameter(Mandatory = $true)] - [object] $ParameterData + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [string] $JSONFilePath ) + # resource keyVault 'Microsoft.KeyVault/vaults@2021-11-01-preview' = { $result = '' - $result += "@description('" + $ParameterData.description + "')" + $apiversion = Get-ApiVersion -JSONFilePath $JSONFilePath + $resouceName = Get-ResourceTypeSingularName -ResourceType $ResourceType - $paramLine = 'param ' + $ParameterData.name + ' ' + $ParameterData.type - if ($ParameterData.default) { - $paramLine += ' = ' + $ParameterData.default + $result += ("resource {0} '{1}/{2}@{3}' = " -f $resouceName, $ProviderNamespace, $ResourceType, $apiversion) + $result += '{' + [System.Environment]::NewLine + + return $result +} + +function Get-DeploymentResourceParametersNewLevel { + param ( + [Parameter(Mandatory = $true)] + [string] $levelParentName, + + [Parameter(Mandatory = $true)] + [int] $levelParentLevel, + + [Parameter(Mandatory = $true)] + [ValidateSet( + 'Begin', + 'End' + )] + [string] $BeginOrEnd + ) + + # properties: { + # } + + $result = '' + if ($BeginOrEnd -eq 'Begin') { + $result += Get-IntentSpaces -level $levelParentLevel + $result += $levelParentName + ': {' + $result += [System.Environment]::NewLine + } else { + $result += Get-IntentSpaces -level $levelParentLevel + $result += '}' + [System.Environment]::NewLine } + return $result +} + +function Get-DeploymentResourceSignleParameter { + param ( + [Parameter(Mandatory = $true)] + [object] $ParameterData + ) + + # tags: tags + # properties: { + # enabledForDeployment: enableVaultForDeployment + # } + + $result = '' + $result += Get-IntentSpaces -level $ParameterData.level + $result += $ParameterData.name + ': ' + $ParameterData.name + $result += [System.Environment]::NewLine + + return $result +} + +function Get-DeploymentResourceParameters { + param ( + [Parameter(Mandatory = $true)] + [array] $ModuleData + ) + + # tags: tags + # properties: { + # enabledForDeployment: enableVaultForDeployment + # } + + $result = '' + + foreach ($moduleParameter in $ModuleData | Where-Object { $_.level -eq 0 } ) { + $result += Get-DeploymentResourceSignleParameter -ParameterData $moduleParameter + } + + $result += Get-DeploymentResourceParametersNewLevel -levelParentName 'properties' -levelParentLevel 0 -BeginOrEnd Begin + foreach ($moduleParameter in $ModuleData | Where-Object { $_.level -eq 1 } ) { + $result += Get-DeploymentResourceSignleParameter -ParameterData $moduleParameter + } + $result += Get-DeploymentResourceParametersNewLevel -levelParentName 'properties' -levelParentLevel 0 -BeginOrEnd End - # param location string = resourceGroup().location - $result = $descriptionLine + [System.Environment]::NewLine + $paramLine + [System.Environment]::NewLine return $result } +function Get-DeploymentResourceLastLine { + return '}' +} + function Get-IntentSpaces { param ( [Parameter(Mandatory = $false)] @@ -89,7 +195,13 @@ function Set-ModuleTempalate { [string] $ResourceType, [Parameter(Mandatory = $true)] - [Hashtable] $ModuleData + [array] $ModuleData, + + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath ) begin { @@ -100,6 +212,7 @@ function Set-ModuleTempalate { # Load used functions . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') + . (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } @@ -114,7 +227,7 @@ function Set-ModuleTempalate { $templateContent += Get-SectionDivider -SectionName 'Parameters' # Add parameters - foreach ($parameter in $ModuleData.parameters) { + foreach ($parameter in $ModuleData) { $templateContent += Get-ModuleParameter -ParameterData $parameter } @@ -126,15 +239,14 @@ function Set-ModuleTempalate { $templateContent += Get-SectionDivider -SectionName 'Deployments' # Deployment resource declaration line - # to do + $templateContent += Get-DeploymentResourceFirstLine -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType -JSONFilePath $JSONFilePath - # Add deployment parameters - foreach ($parameter in $ModuleData.parameters) { - # to do - } + # Add deployment parameters section + $templateContent += Get-DeploymentResourceParameters -ModuleData $ModuleData # Deployment resource finising line # to do + $templateContent += Get-DeploymentResourceLastLine return $templateContent # will be replaced with writing the template file @@ -168,4 +280,21 @@ $moduleData = @{ ) } -Set-ModuleTempalate -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData $moduleData +. (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') + + +$jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' +$jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +$providerNamespace = 'Microsoft.KeyVault' +$resourceType = 'vaults' + +$jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' +$jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' +$providerNamespace = 'Microsoft.Storage' +$resourceType = 'storageAccounts' + +$resolvedModuleData = Resolve-ModuleData -jsonFilePath $jsonFilePath -jsonKeyPath $jsonKeyPath +$resolvedModuleData | ConvertTo-Json | Out-String | Out-File -FilePath (Join-Path $PSScriptRoot 'ModuleData.json') + +Set-ModuleTempalate -ProviderNamespace $providerNamespace -ResourceType $resourceType -ModuleData $resolvedModuleData -JSONFilePath $jsonFilePath -JSONKeyPath $jsonKeyPath + From c8df1a2713311e6fb747d6daf50a9ead936790a3 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 10:32:54 +0200 Subject: [PATCH 042/130] Update to latest --- ...iSpecs.ps1 => Get-ServiceSpecPathData.ps1} | 72 +++++++++---------- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 52 +++++++------- 2 files changed, 60 insertions(+), 64 deletions(-) rename utilities/tools/REST2CARML/{Get-ModuleDataRestApiSpecs.ps1 => Get-ServiceSpecPathData.ps1} (62%) diff --git a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 similarity index 62% rename from utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 rename to utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 index d92184dfce..e9606bbaae 100644 --- a/utilities/tools/REST2CARML/Get-ModuleDataRestApiSpecs.ps1 +++ b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 @@ -20,7 +20,7 @@ } -function Get-ModuleDataSource { +function Get-ServiceSpecPathData { param ( [Parameter(Mandatory = $true)] @@ -30,7 +30,7 @@ function Get-ModuleDataSource { [string] $ResourceType, [Parameter(Mandatory = $false)] - [bool] $IgnorePreview = $true + [switch] $IncludePreview ) # prepare the repo @@ -69,7 +69,7 @@ function Get-ModuleDataSource { # TODO: Get highest API version (preview/non-preview) $apiVersionFoldersArr = @() if (Test-Path -Path $(Join-Path $resourceProviderFolder 'stable')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') } - if (-not $IgnorePreview) { + if ($IncludePreview) { # adding preview API versions if allowed if (Test-Path -Path $(Join-Path $resourceProviderFolder 'preview')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'preview') } } @@ -131,7 +131,7 @@ function Get-ModuleDataSource { } # Example call for further processing -$result = Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false | Format-List +$result = Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IncludePreview $true | Format-List $result | Format-List # Kris: the below code is for debugging only and will be deleted later. @@ -139,42 +139,42 @@ $result | Format-List # test function calls # working calls -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IgnorePreview $false | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Batch' -ResourceType 'batchAccounts' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'virtualNetworks' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'networkSecurityGroups' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.CognitiveServices' -ResourceType 'accounts' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'applicationGateways' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'bastionHosts' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Network' -ResourceType 'azureFirewalls' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'servers' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Sql' -ResourceType 'managedInstances' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.RecoveryServices' -ResourceType 'vaults' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AnalysisServices' -ResourceType 'servers' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleAssignments' -IgnorePreview $true | Format-List # no results, special case -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleDefinitions' -IgnorePreview $true | Format-List # no results, special case +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IncludePreview $true | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Batch' -ResourceType 'batchAccounts' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'virtualNetworks' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'networkSecurityGroups' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.CognitiveServices' -ResourceType 'accounts' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'applicationGateways' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'bastionHosts' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'azureFirewalls' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Sql' -ResourceType 'servers' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Sql' -ResourceType 'managedInstances' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.RecoveryServices' -ResourceType 'vaults' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.AnalysisServices' -ResourceType 'servers' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleAssignments' -IncludePreview $false | Format-List # no results, special case +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleDefinitions' -IncludePreview $false | Format-List # no results, special case # repaired calls -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Automation' -ResourceType 'automationAccounts' | Format-List # no results -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Management' -ResourceType 'managementGroups' | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' -IgnorePreview $false | Format-List # provider folder not found -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyAssignments' -IgnorePreview $true | Format-List # no results, more than one provider folder, exists in the second folder (to be verified) -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DocumentDB' -ResourceType 'databaseAccounts' -IgnorePreview $false | Format-List # different provider folder name -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' -IgnorePreview $false | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' -IgnorePreview $false | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' -IgnorePreview $false | Format-List # different provider folder name -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyDefinitions' -IgnorePreview $true | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policySetDefinitions' -IgnorePreview $true | Format-List -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' -IgnorePreview $true | Format-List # provider folder not found -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' -IgnorePreview $true | Format-List # no results, special case -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' -IgnorePreview $true | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Automation' -ResourceType 'automationAccounts' | Format-List # no results +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Management' -ResourceType 'managementGroups' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' -IncludePreview $true | Format-List # provider folder not found +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyAssignments' -IncludePreview $false | Format-List # no results, more than one provider folder, exists in the second folder (to be verified) +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.DocumentDB' -ResourceType 'databaseAccounts' -IncludePreview $true | Format-List # different provider folder name +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' -IncludePreview $true | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' -IncludePreview $true | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' -IncludePreview $true | Format-List # different provider folder name +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyDefinitions' -IncludePreview $false | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policySetDefinitions' -IncludePreview $false | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' -IncludePreview $false | Format-List # provider folder not found +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' -IncludePreview $false | Format-List # no results, special case +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' -IncludePreview $false | Format-List # not working calls -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' # provider folder structure -# Get-ModuleDataSource -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' -IgnorePreview $true | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' # provider folder structure +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' -IncludePreview $false | Format-List # running the function against the CARML modules folder # to collect some statistics. -# It requires some modifications of the function Get-ModuleDataSource, so please don't use it. +# It requires some modifications of the function Get-ServiceSpecPathData, so please don't use it. # below code is temporary and will be deleted later exit # protecting from unnecessary run $carmlModulesRoot = Join-Path $PSScriptRoot '..' '..' '..' 'modules' @@ -182,8 +182,8 @@ $resArray = @() foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Microsoft.*')) { foreach ($resourceFolder in $(Get-ChildItem -Path $(Join-Path $carmlModulesRoot $providerFolder.Name) -Directory)) { Write-Host ('Processing [{0}/{1}]...' -f $providerFolder.Name, $resourceFolder.Name) - $res = Get-ModuleDataSource -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IgnorePreview $true - # Get-ModuleDataSource -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name + $res = Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IncludePreview $false + # Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name $resArrItem = [pscustomobject] @{} $resArrItem | Add-Member -MemberType NoteProperty -Name 'Provider' -Value $providerFolder.Name diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 164455b793..8fcbeb8696 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -12,6 +12,9 @@ Mandatory. The provider namespace to query the data for .PARAMETER ResourceType Mandatory. The resource type to query the data for +.PARAMETER IncludePreview +Mandatory. Include preview API versions + .EXAMPLE Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' @@ -25,14 +28,18 @@ function Invoke-REST2CARML { [string] $ProviderNamespace, [Parameter(Mandatory = $true)] - [string] $ResourceType + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [switch] $IncludePreview ) begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) # Load used functions - # . (Join-Path $PSScriptRoot 'Get-ModuleData.ps1') + . (Join-Path $PSScriptRoot 'Get-ServiceSpecPathData.ps1') + . (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') . (Join-Path $PSScriptRoot 'Set-ModuleFileStructure.ps1') . (Join-Path $PSScriptRoot 'Set-Module.ps1') @@ -40,39 +47,28 @@ function Invoke-REST2CARML { } process { - v - - # TODO: Invoke function to fetch module data - $pathData = @{ - jsonFilePath = '(...)\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' - jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' # PUT path - } - # $moduleData = Resolve-ModuleData -PathData $pathData - $moduleData = @{ - parameters = @( - @{ - level = 0 - name = 'sku' - type = 'object' - description = '...' - allowedValues = @('') - required = $false - default = '' - } - @{ - level = 1 - name = 'firewallEnabled' - type = 'boolean' - description = '...' - } - ) + ########################### + ## Fetch module data ## + ########################### + $getPathDataInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + IncludePreview = $IncludePreview } + $pathData = Get-ServiceSpecPathData @getPathDataInputObject + $moduleData = Resolve-ModuleData -JSONFilePath $pathData.jsonFilePath -JSONKeyPath $pathData.jsonKeyPath + ########################################### + ## Generate initial module structure ## + ########################################### if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType } + ############################ + ## Set module content ## + ############################ $moduleTemplateInputObject = @{ ProviderNamespace = $ProviderNamespace ResourceType = $ResourceType From 55888833c9d5fcdeeef31886786d390e9ae2064f Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Thu, 22 Sep 2022 10:44:42 +0200 Subject: [PATCH 043/130] Get-ServiceSpecPathData commenting out debug lines --- .../REST2CARML/Get-ServiceSpecPathData.ps1 | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 index e9606bbaae..3e8c891b1e 100644 --- a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 @@ -131,8 +131,8 @@ function Get-ServiceSpecPathData { } # Example call for further processing -$result = Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IncludePreview $true | Format-List -$result | Format-List +# $result = Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IncludePreview $true | Format-List +# $result | Format-List # Kris: the below code is for debugging only and will be deleted later. ## It is commented out and doesn't run, so it can be ignored @@ -176,41 +176,41 @@ $result | Format-List # to collect some statistics. # It requires some modifications of the function Get-ServiceSpecPathData, so please don't use it. # below code is temporary and will be deleted later -exit # protecting from unnecessary run -$carmlModulesRoot = Join-Path $PSScriptRoot '..' '..' '..' 'modules' -$resArray = @() -foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Microsoft.*')) { - foreach ($resourceFolder in $(Get-ChildItem -Path $(Join-Path $carmlModulesRoot $providerFolder.Name) -Directory)) { - Write-Host ('Processing [{0}/{1}]...' -f $providerFolder.Name, $resourceFolder.Name) - $res = Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IncludePreview $false - # Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name - - $resArrItem = [pscustomobject] @{} - $resArrItem | Add-Member -MemberType NoteProperty -Name 'Provider' -Value $providerFolder.Name - $resArrItem | Add-Member -MemberType NoteProperty -Name 'ResourceType' -Value $resourceFolder.Name - if ($null -eq $res) { - $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 0 - } elseif ($res -is [array]) { - $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res.Count - } elseif ($res.GetType().Name -eq 'pscustomobject') { - $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 1 - } else { - $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res - } - $resArray += $resArrItem - } -} - - - -# statistics - -$count = $resArray.Count -$resArray | ConvertTo-Json -Depth 99 - -Write-Host ('Success, more than one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -gt 1 }).Count), $count )) -Write-Host ('Success, one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 1 }).Count), $count)) -Write-Host ('No Results: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 0 }).Count), $count)) -Write-Host ('RT Error : {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq -2 }).Count), $count)) +# exit # protecting from unnecessary run +# $carmlModulesRoot = Join-Path $PSScriptRoot '..' '..' '..' 'modules' +# $resArray = @() +# foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Microsoft.*')) { +# foreach ($resourceFolder in $(Get-ChildItem -Path $(Join-Path $carmlModulesRoot $providerFolder.Name) -Directory)) { +# Write-Host ('Processing [{0}/{1}]...' -f $providerFolder.Name, $resourceFolder.Name) +# $res = Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IncludePreview $false +# # Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name + +# $resArrItem = [pscustomobject] @{} +# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Provider' -Value $providerFolder.Name +# $resArrItem | Add-Member -MemberType NoteProperty -Name 'ResourceType' -Value $resourceFolder.Name +# if ($null -eq $res) { +# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 0 +# } elseif ($res -is [array]) { +# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res.Count +# } elseif ($res.GetType().Name -eq 'pscustomobject') { +# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 1 +# } else { +# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res +# } +# $resArray += $resArrItem +# } +# } + + + +# # statistics + +# $count = $resArray.Count +# $resArray | ConvertTo-Json -Depth 99 + +# Write-Host ('Success, more than one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -gt 1 }).Count), $count )) +# Write-Host ('Success, one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 1 }).Count), $count)) +# Write-Host ('No Results: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 0 }).Count), $count)) +# Write-Host ('RT Error : {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq -2 }).Count), $count)) From ef9f12f18f79a21237286d6846bab8bb9b738eac Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Thu, 22 Sep 2022 11:52:22 +0200 Subject: [PATCH 044/130] Fixed some bicep-related issues --- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 81 ++++++++++--------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index 2ac5f9ae10..713d7c7178 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -23,7 +23,8 @@ function Get-ModuleParameter { # description line (optional) if ($ParameterData.description) { - $descriptionLine = "@description('" + $ParameterData.description + "')" + $description = $ParameterData.description.Replace("'", '"') + $descriptionLine = "@description('" + $description + "')" } # todo: @@ -36,10 +37,23 @@ function Get-ModuleParameter { # other? # param line (mandatory) - $paramLine = 'param ' + $ParameterData.name + ' ' + $ParameterData.type + switch ($ParameterData.type) { + 'boolean' { $parameterType = 'bool'; break } + 'integer' { $parameterType = 'int'; break } + Default { $parameterType = $ParameterData.type } + } + $paramLine = 'param ' + $ParameterData.name + ' ' + $parameterType if ($ParameterData.default) { - $paramLine += ' = ' + $ParameterData.default + switch ($ParameterData.type) { + 'boolean' { + $defaultValue = $ParameterData.default.ToString().ToLower() ; break + } + 'string' { $defaultValue = "'" + $ParameterData.default + "'"; break } + Default { $defaultValue = $ParameterData.default } + } + + $paramLine += ' = ' + $defaultValue } # to do: default value depending on type: quotes/no quotes, boolean, arrays (multiline) etc... @@ -248,6 +262,18 @@ function Set-ModuleTempalate { # to do $templateContent += Get-DeploymentResourceLastLine + ####################################### + ## Create template outputs section ## + ####################################### + + # @description('The name of the deployed resource.') + # output name string = vault.name + + # @description('The resource ID of the deployed resource.') + # output resourceId string = vault.id + + # @description('The resource group of the deployed resource.') + # output resourceGroupName string = resourceGroup().name return $templateContent # will be replaced with writing the template file } @@ -258,43 +284,20 @@ function Set-ModuleTempalate { } -# using dummy module data for the first draft -$moduleData = @{ - parameters = @( - @{ - level = 0 - name = 'sku' - type = 'object' - description = 'Optional. My sample description' - allowedValues = @('') - required = $false - default = '' - } - @{ - level = 1 - name = 'firewallEnabled' - type = 'boolean' - description = 'Optional. My sample description 2' - default = $true - } - ) -} - -. (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') - - -$jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' -$jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -$providerNamespace = 'Microsoft.KeyVault' -$resourceType = 'vaults' +# . (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') -$jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' -$jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -$providerNamespace = 'Microsoft.Storage' -$resourceType = 'storageAccounts' +# $jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' +# $jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +# $providerNamespace = 'Microsoft.KeyVault' +# $resourceType = 'vaults' -$resolvedModuleData = Resolve-ModuleData -jsonFilePath $jsonFilePath -jsonKeyPath $jsonKeyPath -$resolvedModuleData | ConvertTo-Json | Out-String | Out-File -FilePath (Join-Path $PSScriptRoot 'ModuleData.json') +# # $jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' +# # $jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' +# # $providerNamespace = 'Microsoft.Storage' +# # $resourceType = 'storageAccounts' -Set-ModuleTempalate -ProviderNamespace $providerNamespace -ResourceType $resourceType -ModuleData $resolvedModuleData -JSONFilePath $jsonFilePath -JSONKeyPath $jsonKeyPath +# $resolvedModuleData = Resolve-ModuleData -jsonFilePath $jsonFilePath -jsonKeyPath $jsonKeyPath +# $resolvedModuleData | ConvertTo-Json | Out-String | Out-File -FilePath (Join-Path $PSScriptRoot 'ModuleData.json') +# $templateContent = Set-ModuleTempalate -ProviderNamespace $providerNamespace -ResourceType $resourceType -ModuleData $resolvedModuleData -JSONFilePath $jsonFilePath -JSONKeyPath $jsonKeyPath +# $templateContent | Out-File -FilePath (Join-Path $PSScriptRoot 'deploy.bicep') From 6c3ec6c4b6e4e49890b0756869d0d3cab60cf35b Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 14:10:26 +0200 Subject: [PATCH 045/130] Ignore ReadOnly --- utilities/tools/REST2CARML/Resolve-ModuleData.ps1 | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index d7fad9a628..1c4181db55 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -153,7 +153,7 @@ function Resolve-ModuleData { # Process outer properties # ------------------------ - foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -ne 'properties' }) { + foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -ne 'properties' -and -not $outerParameters.properties[$_].readOnly }) { $param = $outerParameters.properties[$outerParameter] $parameterObject = @{ level = 0 @@ -173,7 +173,7 @@ function Resolve-ModuleData { $innerRef = $outerParameters.properties.properties.'$ref' $innerParameters = $definitions[(Split-Path $innerRef -Leaf)].properties - foreach ($innerParameter in $innerParameters.Keys ) { + foreach ($innerParameter in ($innerParameters.Keys | Where-Object { -not $innerParameters[$_].readOnly })) { $param = $innerParameters[$innerParameter] $parameterObject = @{ level = 1 @@ -190,7 +190,3 @@ function Resolve-ModuleData { return $templateData } - -# Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' | ConvertTo-Json -# Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\blob.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}' | ConvertTo-Json -# Resolve-ModuleData -jsonFilePath 'C:\dev\ip\azure-rest-api-specs\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' -jsonKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' | ConvertTo-Json From e9509e4f8b209c7e35ea6a3b1eb9f65ac67d2b84 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 16:38:43 +0200 Subject: [PATCH 046/130] Added git clone to entry func --- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 110 +++++++++++++----- 1 file changed, 81 insertions(+), 29 deletions(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 8fcbeb8696..73f541337b 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -15,10 +15,18 @@ Mandatory. The resource type to query the data for .PARAMETER IncludePreview Mandatory. Include preview API versions +.PARAMETER KeepArtifacts +Optional. Skip the removal of downloaded/cloned artifacts (e.g. the API-Specs repository). Useful if you want to run the function multiple times in a row. + .EXAMPLE Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' Generate/Update a CARML module for [Microsoft.Keyvault/vaults] + +.EXAMPLE +Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' -KeepArtifacts + +Generate/Update a CARML module for [Microsoft.Keyvault/vaults] and do not download any downloaded/cloned artifact. #> function Invoke-REST2CARML { @@ -31,7 +39,10 @@ function Invoke-REST2CARML { [string] $ResourceType, [Parameter(Mandatory = $false)] - [switch] $IncludePreview + [switch] $IncludePreview, + + [Parameter(Mandatory = $false)] + [switch] $KeepArtifacts ) begin { @@ -44,40 +55,81 @@ function Invoke-REST2CARML { . (Join-Path $PSScriptRoot 'Set-Module.ps1') Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose + + $initialLocation = (Get-Location).Path } process { - ########################### - ## Fetch module data ## - ########################### - $getPathDataInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - IncludePreview = $IncludePreview + ######################################### + ## Temp Clone API Specs Repository ## + ######################################### + + $repoUrl = 'https://github.com/Azure/azure-rest-api-specs.git' + $repoName = Split-Path $repoUrl -LeafBase + $tempFolderName = 'temp' + $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName + + # Clone repository + ## Create temp folder + if (-not (Test-Path $tempFolderPath)) { + $null = New-Item -Path $tempFolderPath -ItemType 'Directory' } - $pathData = Get-ServiceSpecPathData @getPathDataInputObject - $moduleData = Resolve-ModuleData -JSONFilePath $pathData.jsonFilePath -JSONKeyPath $pathData.jsonKeyPath - - ########################################### - ## Generate initial module structure ## - ########################################### - if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + ## Switch to temp folder + Set-Location $tempFolderPath + + ## Clone repository into temp folder + if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { + git clone git clone --depth=1 --single-branch --branch=main --filter=tree:0 $repoUrl + } else { + Write-Verbose "Repository [$repoName] already cloned" } - ############################ - ## Set module content ## - ############################ - $moduleTemplateInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - SpecificationFilePath = $pathData.jsonFilePath - SpecificationUrl = $pathData.jsonKeyPath - ModuleData = $moduleData - } - if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - Set-Module @moduleTemplateInputObject + Set-Location $initialLocation + + try { + ########################### + ## Fetch module data ## + ########################### + $getPathDataInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + IncludePreview = $IncludePreview + } + $pathData = Get-ServiceSpecPathData @getPathDataInputObject + $moduleData = Resolve-ModuleData -JSONFilePath $pathData.jsonFilePath -JSONKeyPath $pathData.jsonKeyPath + + ########################################### + ## Generate initial module structure ## + ########################################### + if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + } + + ############################ + ## Set module content ## + ############################ + $moduleTemplateInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + SpecificationFilePath = $pathData.jsonFilePath + SpecificationUrl = $pathData.jsonKeyPath + ModuleData = $moduleData + } + if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + Set-Module @moduleTemplateInputObject + } + + } catch { + throw $_ + } finally { + ############################ + ## Remove Artifacts ## + ############################ + if (-not $KeepArtifacts) { + Write-Verbose "Deleting folder [$tempFolderPath]" + $null = Remove-Item $tempFolderPath -Recurse -Force + } } } @@ -86,4 +138,4 @@ function Invoke-REST2CARML { } } -Invoke-REST2CARML -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose +Invoke-REST2CARML -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose -KeepArtifacts From c38898c92bb0d24b209f9d18b1176c9567738824 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 16:39:16 +0200 Subject: [PATCH 047/130] Added git clone to entry func --- utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 73f541337b..f0a715fe68 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -123,9 +123,9 @@ function Invoke-REST2CARML { } catch { throw $_ } finally { - ############################ + ########################## ## Remove Artifacts ## - ############################ + ########################## if (-not $KeepArtifacts) { Write-Verbose "Deleting folder [$tempFolderPath]" $null = Remove-Item $tempFolderPath -Recurse -Force From 117f9d85d649ee01af4d655d3cdb7c27c2c32c83 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Thu, 22 Sep 2022 16:58:22 +0200 Subject: [PATCH 048/130] Searching logic improved --- .../REST2CARML/Get-ServiceSpecPathData.ps1 | 142 ++++++++++++------ 1 file changed, 94 insertions(+), 48 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 index 3e8c891b1e..dd439c8fc6 100644 --- a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 @@ -1,23 +1,79 @@ -function Get-ResourceProviderFolders { +function Get-FolderList { + [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string] $rootFolder, + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace + ) + + $allFolderPaths = (Get-ChildItem -Path $rootFolder -Recurse -Directory).FullName + Write-Verbose ('Fetched all [{0}] folder paths. Filtering...' -f $allFolderPaths.Count) + # Filter + $filteredFolderPaths = $allFolderPaths | Where-Object { + ($_ -replace '\\', '/') -like '*/resource-manager/*' + } + $filteredFolderPaths = $filteredFolderPaths | Where-Object { + ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" + } + $filteredFolderPaths = $filteredFolderPaths | Where-Object { + (($_ -replace '\\', '/') -like '*/stable') -or (($_ -replace '\\', '/') -like '*/preview') + } + + $filteredFolderPaths = $filteredFolderPaths | ForEach-Object { Split-Path -Path $_ -Parent } + $filteredFolderPaths = $filteredFolderPaths | Select-Object -Unique + + if (-not $filteredFolderPaths) { + Write-Warning "No folders found for provider namespace [$ProviderNamespace]" + return $filteredFolderPaths + } + Write-Verbose ('Filtered down to [{0}] folders.' -f $filteredFolderPaths.Length) + return $filteredFolderPaths | Sort-Object +} + +function Get-FileList { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $rootFolder, [Parameter(Mandatory = $true)] [string] $ProviderNamespace, - [Parameter(Mandatory = $true)] - [string] $ResourceType + [string] $ResourceType, + [Parameter(Mandatory = $false)] + [bool] $IgnorePreview = $true ) - try { - #find the resource provider folder - $resourceProviderFolderSearchResults = Get-ChildItem -Path $rootFolder -Directory -Recurse -Depth 4 | Where-Object { $_.Name -eq $ProviderNamespace -and $_.Parent.Name -eq 'resource-manager' } - return $resourceProviderFolderSearchResults | ForEach-Object { "$($_.FullName)" } - } catch { - Write-Error 'Error detecting provider folder' + $allFilePaths = (Get-ChildItem -Path $rootFolder -Recurse -File).FullName + Write-Verbose ('Fetched all [{0}] file paths. Filtering...' -f $allFilePaths.Count) -Verbose + # Filter + $filteredFilePaths = $allFilePaths | Where-Object { + ($_ -replace '\\', '/') -like '*/resource-manager/*' } - + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -notlike '*/examples/*' + } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" + } + if ($IgnorePreview) { + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -notlike '*/preview/*' + } + } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -like ('*/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*/*.json') + } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -like ('*/*.json') + } + if (-not $filteredFilePaths) { + Write-Warning "No files found for resource type [$ProviderNamespace/$ResourceType]" + return $filteredFilePaths + } + Write-Verbose ('Filtered down to [{0}] files.' -f $filteredFilePaths.Length) -Verbose + return $filteredFilePaths | Sort-Object } function Get-ServiceSpecPathData { @@ -61,7 +117,7 @@ function Get-ServiceSpecPathData { try { #find the resource provider folder - $resourceProviderFolders = Get-ResourceProviderFolders -rootFolder $(Join-Path $tempFolderPath $repoName 'specification') -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + $resourceProviderFolders = Get-FolderList -rootFolder $(Join-Path $tempFolderPath $repoName 'specification') -ProviderNamespace $ProviderNamespace $resultArr = @() foreach ($resourceProviderFolder in $resourceProviderFolders) { @@ -77,8 +133,8 @@ function Get-ServiceSpecPathData { # sorting all API version from the newest to the oldest $apiVersionFoldersArr = $apiVersionFoldersArr | Sort-Object -Property Name -Descending if ($apiVersionFoldersArr.Count -eq 0) { - throw ('No API folder found in folder [{0}]' -f $resourceProviderFolder) - + Write-Warning ('No API folder found in folder [{0}]' -f $resourceProviderFolder) + continue } foreach ($apiversionFolder in $apiVersionFoldersArr) { @@ -131,46 +187,36 @@ function Get-ServiceSpecPathData { } # Example call for further processing -# $result = Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IncludePreview $true | Format-List +# $result = Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' | Format-List # $result | Format-List # Kris: the below code is for debugging only and will be deleted later. ## It is commented out and doesn't run, so it can be ignored # test function calls -# working calls -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -IncludePreview $true | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Batch' -ResourceType 'batchAccounts' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'virtualNetworks' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'networkSecurityGroups' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.CognitiveServices' -ResourceType 'accounts' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'applicationGateways' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'bastionHosts' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Network' -ResourceType 'azureFirewalls' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Sql' -ResourceType 'servers' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Sql' -ResourceType 'managedInstances' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.RecoveryServices' -ResourceType 'vaults' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.AnalysisServices' -ResourceType 'servers' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleAssignments' -IncludePreview $false | Format-List # no results, special case -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'roleDefinitions' -IncludePreview $false | Format-List # no results, special case -# repaired calls -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Automation' -ResourceType 'automationAccounts' | Format-List # no results -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Management' -ResourceType 'managementGroups' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.AAD' -ResourceType 'DomainServices' -IncludePreview $true | Format-List # provider folder not found -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyAssignments' -IncludePreview $false | Format-List # no results, more than one provider folder, exists in the second folder (to be verified) -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.DocumentDB' -ResourceType 'databaseAccounts' -IncludePreview $true | Format-List # different provider folder name -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' -IncludePreview $true | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.ManagedIdentity' -ResourceType 'userAssignedIdentities' -IncludePreview $true | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.DBforPostgreSQL' -ResourceType 'flexibleServers' -IncludePreview $true | Format-List # different provider folder name -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyDefinitions' -IncludePreview $false | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policySetDefinitions' -IncludePreview $false | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Cache' -ResourceType 'redis' -IncludePreview $false | Format-List # provider folder not found -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' -IncludePreview $false | Format-List # no results, special case -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Insights' -ResourceType 'actionGroups' -IncludePreview $false | Format-List - -# not working calls -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' # provider folder structure -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' -IncludePreview $false | Format-List +# two examples of working calls for testing +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' | Format-List + +# working, multiple results +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' | Format-List # no results, special case +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyDefinitions' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policySetDefinitions' | Format-List + +# no results (different ResourceId schema, to be repaired) +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Security' -ResourceType 'azureSecurityCenter' | Format-List + +# working with preview only +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyExemptions' -IncludePreview | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Insights' -ResourceType 'privateLinkScopes' -IncludePreview | Format-List +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' -IncludePreview | Format-List + +# working. If run without preview, returning one result, with preview: four results +# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Insights' -ResourceType 'diagnosticSettings' -IncludePreview | Format-List + + # running the function against the CARML modules folder # to collect some statistics. @@ -182,7 +228,7 @@ function Get-ServiceSpecPathData { # foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Microsoft.*')) { # foreach ($resourceFolder in $(Get-ChildItem -Path $(Join-Path $carmlModulesRoot $providerFolder.Name) -Directory)) { # Write-Host ('Processing [{0}/{1}]...' -f $providerFolder.Name, $resourceFolder.Name) -# $res = Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IncludePreview $false +# $res = Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IncludePreview # # Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name # $resArrItem = [pscustomobject] @{} From 121e950534a30f0abf41c4d15a17b7c0fe450af1 Mon Sep 17 00:00:00 2001 From: shrivastavar Date: Thu, 22 Sep 2022 19:08:02 +0200 Subject: [PATCH 049/130] Added Output Section for deploy.bicep --- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 74 ++++++++++++++++--- 1 file changed, 65 insertions(+), 9 deletions(-) diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index 713d7c7178..d0e7f86a41 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -62,6 +62,62 @@ function Get-ModuleParameter { return $result } +function Get-ModuleOutputName { + param ( + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + $result = '' + + $resourceSingularName = Get-ResourceTypeSingularName -ResourceType $ResourceType + $description = "@description('The name of the {0}')" -f $resourceSingularName + $outputLine = 'output name string = {0}.name' -f $resourceSingularName + + + # building and returning the final parameter entry + $result = $description + [System.Environment]::NewLine + $outputLine + [System.Environment]::NewLine + [System.Environment]::NewLine + return $result +} + +function Get-ModuleOutputId { + param ( + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + $result = '' + + $resourceSingularName = Get-ResourceTypeSingularName -ResourceType $ResourceType + $description = "@description('The resource ID of the {0}')" -f $resourceSingularName + $outputLine = 'output resourceId string = {0}.id' -f $resourceSingularName + + + # building and returning the final parameter entry + $result = $description + [System.Environment]::NewLine + $outputLine + [System.Environment]::NewLine + [System.Environment]::NewLine + return $result +} + +function Get-ModuleOutputRg { + param ( + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + $result = '' + + + # @description('The resource group of the deployed resource.') + # output resourceGroupName string = resourceGroup().name + + $resourceSingularName = Get-ResourceTypeSingularName -ResourceType $ResourceType + $description = "@description('The name of the resource group the {0} was created in.')" -f $resourceSingularName + $outputLine = 'output resourceGroupName string = resourceGroup().name' + + # building and returning the final parameter entry + $result = $description + [System.Environment]::NewLine + $outputLine + [System.Environment]::NewLine + [System.Environment]::NewLine + return $result +} function Get-ApiVersion { param ( [Parameter(Mandatory = $true)] @@ -186,7 +242,7 @@ function Get-DeploymentResourceParameters { } function Get-DeploymentResourceLastLine { - return '}' + return '}' + [System.Environment]::NewLine + [System.Environment]::NewLine } function Get-IntentSpaces { @@ -266,14 +322,14 @@ function Set-ModuleTempalate { ## Create template outputs section ## ####################################### - # @description('The name of the deployed resource.') - # output name string = vault.name + # Output header comment + $templateContent += Get-SectionDivider -SectionName 'Outputs' + + $templateContent += Get-ModuleOutputId -ResourceType $ResourceType - # @description('The resource ID of the deployed resource.') - # output resourceId string = vault.id + $templateContent += Get-ModuleOutputRg -ResourceType $ResourceType - # @description('The resource group of the deployed resource.') - # output resourceGroupName string = resourceGroup().name + $templateContent += Get-ModuleOutputName -ResourceType $ResourceType return $templateContent # will be replaced with writing the template file } @@ -286,12 +342,12 @@ function Set-ModuleTempalate { # . (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') -# $jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' +# $jsonFilePath = 'C:\Users\shrivastavar\Hackathon\ResourceModules\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' # $jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' # $providerNamespace = 'Microsoft.KeyVault' # $resourceType = 'vaults' -# # $jsonFilePath = 'C:\Local\Repos\CARML\ResourceModules-CARML\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' +# # $jsonFilePath = 'C:\Users\shrivastavar\Hackathon\ResourceModules\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' # # $jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' # # $providerNamespace = 'Microsoft.Storage' # # $resourceType = 'storageAccounts' From 036b6f9d01e46bf0d848cc3841c922a39c391308 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 21:01:32 +0200 Subject: [PATCH 050/130] Update to latest --- .../REST2CARML/Get-ServiceSpecPathData.ps1 | 31 +++---------------- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 1 + 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 index dd439c8fc6..5316b06166 100644 --- a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 @@ -85,39 +85,16 @@ function Get-ServiceSpecPathData { [Parameter(Mandatory = $true)] [string] $ResourceType, + [Parameter(Mandatory = $true)] + [string] $RepositoryPath, + [Parameter(Mandatory = $false)] [switch] $IncludePreview ) - # prepare the repo - try { - $initialLocation = (Get-Location).Path - $repoUrl = 'https://github.com/Azure/azure-rest-api-specs.git' - $repoName = Split-Path $repoUrl -LeafBase - $tempFolderName = 'temp' - $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName - - # Clone repository - ## Create temp folder - if (-not (Test-Path $tempFolderPath)) { - $null = New-Item -Path $tempFolderPath -ItemType 'Directory' - } - ## Switch to temp folder - Set-Location $tempFolderPath - - ## Clone repository into temp folder - if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { - git clone $repoUrl - } else { - Write-Verbose "Repository [$repoName] already cloned" - } - } catch { - throw "Repo preparation failed: $_" - } - try { #find the resource provider folder - $resourceProviderFolders = Get-FolderList -rootFolder $(Join-Path $tempFolderPath $repoName 'specification') -ProviderNamespace $ProviderNamespace + $resourceProviderFolders = Get-FolderList -rootFolder (Join-Path $repoRootPath 'specification') -ProviderNamespace $ProviderNamespace $resultArr = @() foreach ($resourceProviderFolder in $resourceProviderFolders) { diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index f0a715fe68..5ca2772336 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -94,6 +94,7 @@ function Invoke-REST2CARML { $getPathDataInputObject = @{ ProviderNamespace = $ProviderNamespace ResourceType = $ResourceType + RepositoryPath = Join-Path $tempFolderPath $repoName IncludePreview = $IncludePreview } $pathData = Get-ServiceSpecPathData @getPathDataInputObject From 020b9cc15b8e04ac248131c48bd28824c5fe5021 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 21:03:01 +0200 Subject: [PATCH 051/130] Update to latest --- utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 5ca2772336..6fb77aa580 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -80,7 +80,7 @@ function Invoke-REST2CARML { ## Clone repository into temp folder if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { - git clone git clone --depth=1 --single-branch --branch=main --filter=tree:0 $repoUrl + git clone --depth=1 --single-branch --branch=main --filter=tree:0 $repoUrl } else { Write-Verbose "Repository [$repoName] already cloned" } From f9b82cd84c5ecad99b8716e0dab90ced39309b82 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 22 Sep 2022 21:12:21 +0200 Subject: [PATCH 052/130] Update to latest --- utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 | 2 +- utilities/tools/REST2CARML/temp/azure-rest-api-specs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 160000 utilities/tools/REST2CARML/temp/azure-rest-api-specs diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 index 5316b06166..fc68053fc2 100644 --- a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 @@ -94,7 +94,7 @@ function Get-ServiceSpecPathData { try { #find the resource provider folder - $resourceProviderFolders = Get-FolderList -rootFolder (Join-Path $repoRootPath 'specification') -ProviderNamespace $ProviderNamespace + $resourceProviderFolders = Get-FolderList -rootFolder (Join-Path $RepositoryPath 'specification') -ProviderNamespace $ProviderNamespace $resultArr = @() foreach ($resourceProviderFolder in $resourceProviderFolders) { diff --git a/utilities/tools/REST2CARML/temp/azure-rest-api-specs b/utilities/tools/REST2CARML/temp/azure-rest-api-specs new file mode 160000 index 0000000000..7d5d1db0c4 --- /dev/null +++ b/utilities/tools/REST2CARML/temp/azure-rest-api-specs @@ -0,0 +1 @@ +Subproject commit 7d5d1db0c45d6fe0934c97b6a6f9bb34112d42d1 From 81f923accfc13b20e4b8893fdf65770c81f3115d Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 23 Sep 2022 09:38:31 +0200 Subject: [PATCH 053/130] Finding child resources - first draft --- .../Get-ServiceSpecPathDataChildRes.ps1 | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 b/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 new file mode 100644 index 0000000000..83216fc2ea --- /dev/null +++ b/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 @@ -0,0 +1,76 @@ +function Get-ServiceSpecPathDataChildRes { + + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [switch] $IncludePreview, + + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath + ) + + try { + # $DebugPreference = 'Continue' + $resultArr = @() + $parentPathSplit = $JSONKeyPath.Split('/') + foreach ($jsonFile in $(Get-ChildItem -Path $(Split-Path $JSONFilePath -Parent) -Filter *.json)) { + Write-Debug ('Processing [{0}]...' -f $jsonFile.Name) + $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths + $jsonPaths.PSObject.Properties | ForEach-Object { + $put = $_.value.put + if ($put) { + $pathSplit = $_.Name.Split('/') + if (($_.Name -like "$JSONKeyPath/*") -and ($pathSplit.Count -gt $parentPathSplit.Count)) { + $arrItem = [pscustomobject] @{} + $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFilePath' -Value $jsonFile.FullName + $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name + # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put + $resultArr += $arrItem + } + } + } + } + } catch { + Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" + return -2 + } + + try { + if ($resultArr.Count -ge 1) { + return $resultArr + } else { + Write-Warning 'No child resources found' + return $resultArr + } + + } catch { + Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" + return -2 + } +} + +# . (Join-Path $PSScriptRoot 'Get-ServiceSpecPathData.ps1') + +# # $providerNamespace = 'Microsoft.Storage'; $resourceType = 'storageAccounts' +# # $providerNamespace = 'Microsoft.KeyVault'; $resourceType = 'vaults' +# # $providerNamespace = 'Microsoft.Compute'; $resourceType = 'virtualMachines' +# $providerNamespace = 'Microsoft.Network'; $resourceType = 'virtualNetworks' + +# $parentResData = Get-ServiceSpecPathData -ProviderNamespace $providerNamespace -ResourceType $resourceType + +# Write-Host 'Parent resource data:' +# $parentResData | Format-List + +# $childResData = Get-ServiceSpecPathDataChildRes -ProviderNamespace $providerNamespace -ResourceType $resourceType -JSONFilePath $parentResData.JSONFilePath -JSONKeyPath $parentResData.JSONKeyPath + +# Write-Host 'Child resource data:' +# $childResData | Format-List + From 4eefeeb0bf2af11d538377361b773aa589a76d3a Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 09:55:19 +0200 Subject: [PATCH 054/130] Vastly improved parameter fetch (now considering patch too & be more robust) + added consideration for secure values --- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 6 +- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 151 +++++++++++++++--- 2 files changed, 134 insertions(+), 23 deletions(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 6fb77aa580..5ae0f29213 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -98,12 +98,13 @@ function Invoke-REST2CARML { IncludePreview = $IncludePreview } $pathData = Get-ServiceSpecPathData @getPathDataInputObject - $moduleData = Resolve-ModuleData -JSONFilePath $pathData.jsonFilePath -JSONKeyPath $pathData.jsonKeyPath + $moduleData = Resolve-ModuleData -JSONFilePath $pathData.jsonFilePath -JSONKeyPath $pathData.jsonKeyPath -ResourceType $ResourceType ########################################### ## Generate initial module structure ## ########################################### if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType } @@ -139,4 +140,5 @@ function Invoke-REST2CARML { } } -Invoke-REST2CARML -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose -KeepArtifacts +# Invoke-REST2CARML -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose -KeepArtifacts +Invoke-REST2CARML -ProviderNamespace 'Microsoft.AVS' -ResourceType 'privateClouds' -Verbose -KeepArtifacts diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index 1c4181db55..8510ba3340 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -67,59 +67,80 @@ function Set-OptionalParameter { $TargetObject['pattern'] = $SourceParameterObject.pattern } + # Secure + if ($SourceParameterObject.Keys -contains 'x-ms-secret') { + $TargetObject['secure'] = $SourceParameterObject.'x-ms-secret' + } + return $TargetObject } -#endregion <# .SYNOPSIS -Extract the outer (top-level) and inner (property-level) parameters for a given API Path +Extract all parameters from the given API spec parameter root .DESCRIPTION -Extract the outer (top-level) and inner (property-level) parameters for a given API Path +Extract all parameters from the given API spec parameter root (e.g., PUT parameters) -.PARAMETER JSONFilePath -Mandatory. The service specification file to process. +.PARAMETER SpecificationData +Mandatory. The source content to crawl for data. + +.PARAMETER RelevantParamRoot +Mandatory. The array of root parameters to process (e.g., PUT parameters). .PARAMETER JSONKeyPath Mandatory. The API Path in the JSON specification file to process +.PARAMETER ResourceType +Mandatory. The Resource Type to investigate + .EXAMPLE -Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +Get-ParametersFromRoot -SpecificationData @{ paths = @(...); definitions = @{...} } -RelevantParamRoot @(@{ $ref: "../(...)"}) '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' -Process the API path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' in file 'keyvault.json' +Fetch all parameters (e.g., PUT) from the KeyVault REST path. #> -function Resolve-ModuleData { +function Get-ParametersFromRoot { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [string] $JSONFilePath, + [hashtable] $SpecificationData, [Parameter(Mandatory = $true)] - [string] $JSONKeyPath - ) + [array] $RelevantParamRoot, + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath, + + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) - # Collect data - # ------------ - $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable $definitions = $specificationData.definitions $specParameters = $specificationData.parameters - $putParameters = $specificationData.paths[$JSONKeyPath].put.parameters - $matchingPathObjectParametersRef = ($putParameters | Where-Object { $_.name -eq 'parameters' }).schema.'$ref' - $outerParameters = $definitions[(Split-Path $matchingPathObjectParametersRef -Leaf)] + $templateData = @() - $templateData = [System.Collections.ArrayList]@() + $matchingPathObjectParametersRef = ($relevantParamRoot | Where-Object { $_.in -eq 'body' }).schema.'$ref' + + if (-not $matchingPathObjectParametersRef) { + # If 'parameters' does not exist (as the API isn't consistent), we try the resource type instead + $matchingPathObjectParametersRef = ($relevantParamRoot | Where-Object { $_.name -eq $ResourceType }).schema.'$ref' + } + if (-not $matchingPathObjectParametersRef) { + # If even that doesn't exist (as the API is even more inconsistent), let's try a 'singular' resource type + $matchingPathObjectParametersRef = ($relevantParamRoot | Where-Object { $_.name -eq ($ResourceType.Substring(0, $ResourceType.Length - 1)) }).schema.'$ref' + } + + $outerParameters = $definitions[(Split-Path $matchingPathObjectParametersRef -Leaf)] # Handle resource name # -------------------- # Note: The name can be specified in different locations like the PUT statement, but also in the spec's 'parameters' object as a reference # Case: The name in the url is also a parameter of the PUT statement $pathServiceName = (Split-Path $JSONKeyPath -Leaf) -replace '{|}', '' - if ($putParameters.name -contains $pathServiceName) { - $param = $putParameters | Where-Object { $_.name -eq $pathServiceName } + if ($relevantParamRoot.name -contains $pathServiceName) { + $param = $relevantParamRoot | Where-Object { $_.name -eq $pathServiceName } $parameterObject = @{ level = 0 @@ -133,7 +154,7 @@ function Resolve-ModuleData { } else { # Case: The name is a ref in the spec's 'parameters' object. E.g., { "$ref": "#/parameters/BlobServicesName" } # For this, we need to find the correct ref, as there can be multiple - $nonDefaultParameter = $putParameters.'$ref' | Where-Object { $_ -like '#/parameters/*' } | Where-Object { $specParameters[(Split-Path $_ -Leaf)].name -eq $pathServiceName } + $nonDefaultParameter = $relevantParamRoot.'$ref' | Where-Object { $_ -like '#/parameters/*' } | Where-Object { $specParameters[(Split-Path $_ -Leaf)].name -eq $pathServiceName } if ($nonDefaultParameter) { $param = $specParameters[(Split-Path $nonDefaultParameter -Leaf)] @@ -168,6 +189,22 @@ function Resolve-ModuleData { $templateData += $parameterObject } + # Special case: Location + # The location parameter is not explicitely documented at this place (even though it should). It is however referenced as 'required' and must be included + if ($outerParameters.required -contains 'location') { + $parameterObject = @{ + level = 0 + name = 'location' + type = 'string' + description = 'Location for all Resources.' + required = $false + default = ($JSONKeyPath -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*') ? 'resourceGroup().location' : 'deployment().location' + } + + # param location string = resourceGroup().location + $templateData += $parameterObject + } + # Process inner properties # ------------------------ $innerRef = $outerParameters.properties.properties.'$ref' @@ -190,3 +227,75 @@ function Resolve-ModuleData { return $templateData } +#endregion + +<# +.SYNOPSIS +Extract the outer (top-level) and inner (property-level) parameters for a given API Path + +.DESCRIPTION +Extract the outer (top-level) and inner (property-level) parameters for a given API Path + +.PARAMETER JSONFilePath +Mandatory. The service specification file to process. + +.PARAMETER JSONKeyPath +Mandatory. The API Path in the JSON specification file to process + +.PARAMETER ResourceType +Mandatory. The Resource Type to investigate + +.EXAMPLE +Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' + +Process the API path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' in file 'keyvault.json' +#> +function Resolve-ModuleData { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath, + + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + # Output object + $templateData = [System.Collections.ArrayList]@() + + # Collect data + # ------------ + $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable + + # Get PUT parameters + $putParametersInputObject = @{ + SpecificationData = $SpecificationData + RelevantParamRoot = $specificationData.paths[$JSONKeyPath].put.parameters + JSONKeyPath = $JSONKeyPath + ResourceType = $ResourceType + } + $templateData += Get-ParametersFromRoot @putParametersInputObject + + # Get PATCH parameters (as the REST command actually always is Create or Update) + if ($specificationData.paths[$JSONKeyPath].patch) { + $putParametersInputObject = @{ + SpecificationData = $SpecificationData + RelevantParamRoot = $specificationData.paths[$JSONKeyPath].patch.parameters + JSONKeyPath = $JSONKeyPath + ResourceType = $ResourceType + } + $templateData += Get-ParametersFromRoot @putParametersInputObject + } + + # Filter duplicates + $filteredList = @() + foreach ($level in $templateData.Level | Select-Object -Unique) { + $filteredList += $templateData | Where-Object { $_.level -eq $level } | Sort-Object name -Unique + } + + return $filteredList +} From 002784444a9cc396fcf0e4ce8d2fb4e0e5e66f51 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 10:07:19 +0200 Subject: [PATCH 055/130] Small refactoring --- utilities/tools/REST2CARML/Set-Module.ps1 | 34 ++++++++++------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index 88599f2e39..6fa4b9f716 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -33,29 +33,25 @@ process { - ################################# - ## Collect additional data ## - ################################# - - # Get diagnostic data - # TODO: Clarify: Might need to be always 'All metrics' if any metric exists - $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - - # Get Endpoint data - $supportsPrivateEndpoint = Get-SupportsPrivateEndpoint -SpecificationFilePath $SpecificationFilePath - - ## Get RBAC data - $supportedRoles = Get-RoleAssignmentList -ProviderNamespace $ProviderNamespace - - ## Get Locks data - $supportsLock = Get-SupportsLock -SpecificationUrl $SpecificationUrl - ############################# ## Update Template File # ############################# - # TODO: Update template file - Set-ModuleTemplate + $moduleTemplateContentInputObject = @{ + ModuleData = $ModuleData + # Extension data + # -------------- + # Get diagnostic data + # TODO: Clarify: Might need to be always 'All metrics' if any metric exists + $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + # Get Endpoint data + $supportsPrivateEndpoint = Get-SupportsPrivateEndpoint -SpecificationFilePath $SpecificationFilePath + ## Get RBAC data + $supportedRoles = Get-RoleAssignmentList -ProviderNamespace $ProviderNamespace + ## Get Locks data + $supportsLock = Get-SupportsLock -SpecificationUrl $SpecificationUrl ## Get Locks data + } + Set-ModuleTemplate @moduleTemplateContentInputObject ############################# ## Update Module ReadMe # From 84c023c7cd7c7822ba943e23d8b6b5495c7eaa46 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 23 Sep 2022 10:09:31 +0200 Subject: [PATCH 056/130] Get-ServiceSpecPathData call updated --- utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 b/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 index 83216fc2ea..c555312586 100644 --- a/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 +++ b/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 @@ -58,13 +58,14 @@ } # . (Join-Path $PSScriptRoot 'Get-ServiceSpecPathData.ps1') +# $repoPath = Join-Path $PSScriptRoot 'temp' 'azure-rest-api-specs' # # $providerNamespace = 'Microsoft.Storage'; $resourceType = 'storageAccounts' # # $providerNamespace = 'Microsoft.KeyVault'; $resourceType = 'vaults' # # $providerNamespace = 'Microsoft.Compute'; $resourceType = 'virtualMachines' # $providerNamespace = 'Microsoft.Network'; $resourceType = 'virtualNetworks' -# $parentResData = Get-ServiceSpecPathData -ProviderNamespace $providerNamespace -ResourceType $resourceType +# $parentResData = Get-ServiceSpecPathData -ProviderNamespace $providerNamespace -ResourceType $resourceType -RepositoryPath $repoPath # Write-Host 'Parent resource data:' # $parentResData | Format-List From 4ca4aa7b025d9ac2a54914e5a39160408eda6a67 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 10:11:34 +0200 Subject: [PATCH 057/130] Small refactoring --- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 18 ++++++++++++------ utilities/tools/REST2CARML/Set-Module.ps1 | 13 +++++++++---- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 5ae0f29213..1da951d729 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -98,7 +98,13 @@ function Invoke-REST2CARML { IncludePreview = $IncludePreview } $pathData = Get-ServiceSpecPathData @getPathDataInputObject - $moduleData = Resolve-ModuleData -JSONFilePath $pathData.jsonFilePath -JSONKeyPath $pathData.jsonKeyPath -ResourceType $ResourceType + + $resolveInputObject - @{ + JSONFilePath = $pathData.jsonFilePath + JSONKeyPath = $pathData.jsonKeyPath + ResourceType = $ResourceType + } + $moduleData = Resolve-ModuleData @resolveInputObject ########################################### ## Generate initial module structure ## @@ -112,11 +118,11 @@ function Invoke-REST2CARML { ## Set module content ## ############################ $moduleTemplateInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - SpecificationFilePath = $pathData.jsonFilePath - SpecificationUrl = $pathData.jsonKeyPath - ModuleData = $moduleData + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + JSONFilePath = $pathData.jsonFilePath + JSONKeyPath = $pathData.jsonKeyPath + ModuleData = $moduleData } if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-Module @moduleTemplateInputObject diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index 6fa4b9f716..f3b09179d0 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -12,10 +12,10 @@ [Hashtable] $ModuleData, [Parameter(Mandatory = $true)] - [string] $SpecificationFilePath, + [string] $JSONFilePath, [Parameter(Mandatory = $true)] - [string] $SpecificationUrl + [string] $JSONKeyPath ) begin { @@ -38,18 +38,23 @@ ############################# $moduleTemplateContentInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType ModuleData = $ModuleData + JSONFilePath = $JSONFilePath + JSONKeyPath = $JSONKeyPath + # Extension data # -------------- # Get diagnostic data # TODO: Clarify: Might need to be always 'All metrics' if any metric exists $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType # Get Endpoint data - $supportsPrivateEndpoint = Get-SupportsPrivateEndpoint -SpecificationFilePath $SpecificationFilePath + $supportsPrivateEndpoint = Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath ## Get RBAC data $supportedRoles = Get-RoleAssignmentList -ProviderNamespace $ProviderNamespace ## Get Locks data - $supportsLock = Get-SupportsLock -SpecificationUrl $SpecificationUrl ## Get Locks data + $supportsLock = Get-SupportsLock -JSONKeyPath $JSONKeyPath ## Get Locks data } Set-ModuleTemplate @moduleTemplateContentInputObject From d4c825857b9d73c690f6df4b8c802f05f8deacd1 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 15:08:41 +0200 Subject: [PATCH 058/130] Refectored extension resources application --- .../tools/REST2CARML/Invoke-REST2CARML.ps1 | 8 +- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 8 +- utilities/tools/REST2CARML/Set-Module.ps1 | 72 ++++++--- .../REST2CARML/Set-ModuleFileStructure.ps1 | 18 ++- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 63 +++++++- .../REST2CARML/Set-TokenValuesInArray.ps1 | 43 +++++ ...ntList.ps1 => Get-RoleAssignmentsList.ps1} | 4 +- .../REST2CARML/extension/Get-SupportsLock.ps1 | 10 +- .../extension/Get-SupportsPrivateEndpoint.ps1 | 8 +- .../extension/Set-DiagnosticModuleData.ps1 | 151 ++++++++++++++++++ .../extension/Set-LockModuleData.ps1 | 58 +++++++ .../Set-PrivateEndpointModuleData.ps1 | 64 ++++++++ .../Set-RoleAssignmentsModuleData.ps1 | 96 +++++++++++ .../src/nested_roleAssignments.bicep | 8 +- 14 files changed, 560 insertions(+), 51 deletions(-) create mode 100644 utilities/tools/REST2CARML/Set-TokenValuesInArray.ps1 rename utilities/tools/REST2CARML/extension/{Get-RoleAssignmentList.ps1 => Get-RoleAssignmentsList.ps1} (91%) create mode 100644 utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 create mode 100644 utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 create mode 100644 utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 create mode 100644 utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 1da951d729..329ff833fb 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -109,10 +109,10 @@ function Invoke-REST2CARML { ########################################### ## Generate initial module structure ## ########################################### - if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource - Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - } + # if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + # # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource + # Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + # } ############################ ## Set module content ## diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index 8510ba3340..1e2f12739b 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -297,5 +297,11 @@ function Resolve-ModuleData { $filteredList += $templateData | Where-Object { $_.level -eq $level } | Sort-Object name -Unique } - return $filteredList + return @{ + parameters = $filteredList + additionalParameters = @() + resources = @() + variables = @() + outputs = @() + } } diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index f3b09179d0..b4a6910c37 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -22,39 +22,67 @@ Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent - $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' + $moduleRootPath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType + $templatePath = Join-Path $moduleRootPath 'deploy.bicep' + # Load used functions - . (Join-Path $PSScriptRoot 'extension' 'Get-SupportsLock.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Get-RoleAssignmentList.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Get-DiagnosticOptionsList.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Get-SupportsPrivateEndpoint.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Add-DiagnosticModuleData') + . (Join-Path $PSScriptRoot 'extension' 'Add-RoleAssignmentModuleData.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Add-PrivateEndpointModuleData.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Add-LockModuleData.ps1') . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } process { + ################################# + ## Collect additional data ## + ################################# + + # Set diagnostic data + $diagInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-DiagnosticModuleData @diagInputObject + + # Set Endpoint data + $endpInputObject = @{ + JSONFilePath = $JSONFilePath + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-PrivateEndpointModuleData @endpInputObject + + ## Set RBAC data + $rbacInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + ModuleData = $ModuleData + ModuleRootPath = $moduleRootPath + ServiceApiVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf + } + Set-RoleAssignmentModuleData @rbacInputObject + + ## Set Locks data + $lockInputObject = @{ + JSONFilePath = $JSONFilePath + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-LockModuleData @lockInputObject + ############################# ## Update Template File # ############################# $moduleTemplateContentInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - ModuleData = $ModuleData - JSONFilePath = $JSONFilePath - JSONKeyPath = $JSONKeyPath - - # Extension data - # -------------- - # Get diagnostic data - # TODO: Clarify: Might need to be always 'All metrics' if any metric exists - $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - # Get Endpoint data - $supportsPrivateEndpoint = Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath - ## Get RBAC data - $supportedRoles = Get-RoleAssignmentList -ProviderNamespace $ProviderNamespace - ## Get Locks data - $supportsLock = Get-SupportsLock -JSONKeyPath $JSONKeyPath ## Get Locks data + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + ModuleData = $ModuleData + JSONFilePath = $JSONFilePath + JSONKeyPath = $JSONKeyPath } Set-ModuleTemplate @moduleTemplateContentInputObject diff --git a/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 b/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 index 372283b84b..29bdae6edd 100644 --- a/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 @@ -99,9 +99,23 @@ function Set-ModuleFileStructure { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent + + # Load used functions + . (Join-Path $PSScriptRoot 'Set-TokenValuesInArray.ps1') } process { + + # Tokens to replace in files + $tokens = @{ + providerNamespace = $ProviderNamespace + shortProviderNamespacePascal = ($ProviderNamespace -split '\.')[ - 1].substring(0, 1).toupper() + ($ProviderNamespace -split '\.')[ - 1].substring(1) + shortProviderNamespaceLower = ($ProviderNamespace -split '\.')[ - 1].ToLower() + resourceType = $ResourceType + resourceTypePascal = $ResourceType.substring(0, 1).toupper() + $ResourceType.substring(1) + resourceTypeLower = $ResourceType.ToLower() + } + # Create folders # -------------- $expectedModuleFolderPath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType @@ -175,7 +189,7 @@ function Set-ModuleFileStructure { $automationFileName = ('ms.{0}.{1}.yml' -f ($ProviderNamespace -split '\.')[-1], $ResourceType).ToLower() $gitHubWorkflowYAMLPath = Join-Path $repoRootPath '.github' 'workflows' $automationFileName $workflowFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'gitHubWorkflowTemplateFile.yml') -Raw - $workflowFileContent = Format-AutomationTemplate -Content $workflowFileContent -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + $pipelineFileContent = Set-TokenValuesInArray -Content $pipelineFileContent -Tokens $tokens if (-not (Test-Path $gitHubWorkflowYAMLPath)) { if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { $null = New-Item $gitHubWorkflowYAMLPath -ItemType 'File' -Value $workflowFileContent.TrimEnd() @@ -189,7 +203,7 @@ function Set-ModuleFileStructure { ## Azure DevOps $azureDevOpsPipelineYAMLPath = Join-Path $repoRootPath '.azuredevops' 'modulePipelines' $automationFileName $pipelineFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'azureDevOpsPipelineTemplateFile.yml') -Raw - $pipelineFileContent = Format-AutomationTemplate -Content $pipelineFileContent -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + $pipelineFileContent = Set-TokenValuesInArray -Content $pipelineFileContent -Tokens $tokens if (-not (Test-Path $azureDevOpsPipelineYAMLPath)) { if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { $null = New-Item $azureDevOpsPipelineYAMLPath -ItemType 'File' -Value $pipelineFileContent.TrimEnd() diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index d0e7f86a41..4a8ff56c55 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -254,7 +254,25 @@ function Get-IntentSpaces { return ' ' * 2 * $($level + 1) } -function Set-ModuleTempalate { +function Get-TargetScope { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath + ) + + switch ($JSONFilePath) { + { $PSItem -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*' } { return 'resourceGroup' } + { $PSItem -like '/subscriptions/{subscriptionId}/*' } { return 'subscription' } + { $PSItem -like 'providers/Microsoft.Management/managementGroups/*' } { return 'managementGroup' } + } + Default { + throw 'Unable to detect target scope' + } +} + +function Set-ModuleTemplate { [CmdletBinding(SupportsShouldProcess)] param ( @@ -291,22 +309,50 @@ function Set-ModuleTempalate { ## Create template parameters section ## ########################################## - $templateContent = '' + $targetScope = Get-TargetScope -JSONKeyPath $JSONKeyPath + + $templateContent = @( + "targetScope = '{0}'" -f $targetScope + '' + '// ============== //' + '// Parameters //' + '// ============== //' + '' + ) + + # # Parameters header comment + # $templateContent += Get-SectionDivider -SectionName 'Parameters' - # Parameters header comment - $templateContent += Get-SectionDivider -SectionName 'Parameters' + # TODO : Add extension parameters if applicable # Add parameters foreach ($parameter in $ModuleData) { $templateContent += Get-ModuleParameter -ParameterData $parameter } + ######################################### + ## Create template variables section ## + ######################################### + + # TODO : Add variables if applicable + ########################################### ## Create template deployments section ## ########################################### - # Deployments header comment - $templateContent += Get-SectionDivider -SectionName 'Deployments' + + $templateContent += @( + '' + '// =============== //' + '// Deployments //' + '// =============== //' + '' + ) + + # TODO: Add telemetry + + # # Deployments header comment + # $templateContent += Get-SectionDivider -SectionName 'Deployments' # Deployment resource declaration line $templateContent += Get-DeploymentResourceFirstLine -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType -JSONFilePath $JSONFilePath @@ -318,6 +364,9 @@ function Set-ModuleTempalate { # to do $templateContent += Get-DeploymentResourceLastLine + # TODO: Add exension resources if applicable + # TODO: Add children if applicable + ####################################### ## Create template outputs section ## ####################################### @@ -355,5 +404,5 @@ function Set-ModuleTempalate { # $resolvedModuleData = Resolve-ModuleData -jsonFilePath $jsonFilePath -jsonKeyPath $jsonKeyPath # $resolvedModuleData | ConvertTo-Json | Out-String | Out-File -FilePath (Join-Path $PSScriptRoot 'ModuleData.json') -# $templateContent = Set-ModuleTempalate -ProviderNamespace $providerNamespace -ResourceType $resourceType -ModuleData $resolvedModuleData -JSONFilePath $jsonFilePath -JSONKeyPath $jsonKeyPath +# $templateContent = Set-ModuleTemplate -ProviderNamespace $providerNamespace -ResourceType $resourceType -ModuleData $resolvedModuleData -JSONFilePath $jsonFilePath -JSONKeyPath $jsonKeyPath # $templateContent | Out-File -FilePath (Join-Path $PSScriptRoot 'deploy.bicep') diff --git a/utilities/tools/REST2CARML/Set-TokenValuesInArray.ps1 b/utilities/tools/REST2CARML/Set-TokenValuesInArray.ps1 new file mode 100644 index 0000000000..999219b2db --- /dev/null +++ b/utilities/tools/REST2CARML/Set-TokenValuesInArray.ps1 @@ -0,0 +1,43 @@ +<# +.SYNOPSIS +Replace tokens like '<>' in the given file with an actual value + +.DESCRIPTION +Replace tokens like '<>' in the given file with an actual value. + +.PARAMETER Content +Mandatory. The content to update + +.EXAMPLE +Set-TokenValuesInArray -Content "Hello <>-<>" -Tokens @{ shortProviderNamespaceLower = 'keyvault'; resourceTypePascal = 'Vaults' } + +Update the provided content with different Provider Namespace & Resource Type token variant. Would return 'Hello keyvault-Vaults' +#> +function Set-TokenValuesInArray { + + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [string] $Content, + + [Parameter(Mandatory = $true)] + [hashtable] $Tokens + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + + foreach ($token in $tokens.Keys) { + $content = $content -replace "<<$token>>", $tokens[$token] + } + + return $content + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/extension/Get-RoleAssignmentList.ps1 b/utilities/tools/REST2CARML/extension/Get-RoleAssignmentsList.ps1 similarity index 91% rename from utilities/tools/REST2CARML/extension/Get-RoleAssignmentList.ps1 rename to utilities/tools/REST2CARML/extension/Get-RoleAssignmentsList.ps1 index b691237042..db3133b95c 100644 --- a/utilities/tools/REST2CARML/extension/Get-RoleAssignmentList.ps1 +++ b/utilities/tools/REST2CARML/extension/Get-RoleAssignmentsList.ps1 @@ -34,10 +34,10 @@ function Get-RoleAssignmentsList { ################# $roleDefinitions = Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match $ProviderNamespace -or $_.DataActions -match $ProviderNamespace -or $_.Actions -like '`**') } | Select-Object Name, Id | ConvertTo-Json | ConvertFrom-Json $resBicep = [System.Collections.ArrayList]@() - foreach ($role in $roleDefinitions) { + foreach ($role in $roleDefinitions | Sort-Object -Property name) { $roleName = $role.Name $roleId = $role.Id - $resBicep += "'$roleName': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','$roleId')" + $resBicep += "'$roleName': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '$roleId')" } return $resBicep diff --git a/utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 b/utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 index ca0c91c69f..f3160d436a 100644 --- a/utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 +++ b/utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 @@ -5,14 +5,14 @@ Check if the given service specification supports resource locks .DESCRIPTION Check if the given service specification supports resource locks -.PARAMETER SpecificationUrl +.PARAMETER JSONKeyPath Mandatory. The file path to the service specification to check .PARAMETER ProvidersToIgnore Optional. Providers to ignore because they fundamentally don't support locks (e.g. 'Microsoft.Authorization') .EXAMPLE -Get-SupportsLock -SpecificationUrl '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' +Get-SupportsLock -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' Check if the storage service supports locks. #> @@ -22,7 +22,7 @@ function Get-SupportsLock { [OutputType('System.Boolean')] param ( [Parameter(Mandatory = $true)] - [string] $SpecificationUrl, + [string] $JSONKeyPath, [Parameter(Mandatory = $false)] [array] $ProvidersToIgnore = @('Microsoft.Authorization') @@ -36,12 +36,12 @@ function Get-SupportsLock { # If the Specification URI contains any of the namespaces to ignore, no Lock is supported foreach ($ProviderToIgnore in $ProvidersToIgnore) { - if ($SpecificationUrl.Contains($ProviderToIgnore)) { + if ($JSONKeyPath.Contains($ProviderToIgnore)) { return $false } } - return ($SpecificationUrl -split '\/').Count -le 9 + return ($JSONKeyPath -split '\/').Count -le 9 } end { diff --git a/utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 b/utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 index 9d2444513a..27ba9dbd0b 100644 --- a/utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 +++ b/utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 @@ -5,11 +5,11 @@ Check if the given service specification supports private endpoints .DESCRIPTION Check if the given service specification supports private endpoints -.PARAMETER SpecificationFilePath +.PARAMETER JSONFilePath Mandatory. The file path to the service specification to check .EXAMPLE -Get-SupportsPrivateEndpoint -SpecificationFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' +Get-SupportsPrivateEndpoint -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' Check the Key Vault service specification for any Private Endpoint references #> @@ -19,7 +19,7 @@ function Get-SupportsPrivateEndpoint { [OutputType('System.Boolean')] param ( [Parameter(Mandatory = $true)] - [string] $SpecificationFilePath + [string] $JSONFilePath ) begin { @@ -28,7 +28,7 @@ function Get-SupportsPrivateEndpoint { process { - $specContent = Get-Content -Path $SpecificationFilePath -Raw | ConvertFrom-Json -AsHashtable + $specContent = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable $relevantPaths = $specContent.paths.Keys | Where-Object { ($_ -replace '\\', '/') -like '*/privateLinkResources*' -or diff --git a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 new file mode 100644 index 0000000000..b5e437738a --- /dev/null +++ b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 @@ -0,0 +1,151 @@ +function Set-DiagnosticModuleData { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [Hashtable] $ModuleData + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + # Load used functions + . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') + } + + process { + $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + + if (-not $diagnosticOptions) { + return + } + + $ModuleData.additionalParameters += @( + @{ + name = 'diagnosticLogsRetentionInDays' + type = 'int' + description = 'Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.' + required = $false + default = 365 + minimum = 0 + maximum = 365 + } + @{ + name = 'diagnosticStorageAccountId' + type = 'string' + description = 'Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.' + required = $false + default = '' + } + @{ + name = 'diagnosticWorkspaceId' + type = 'string' + description = 'Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.' + required = $false + default = '' + } + @{ + name = 'diagnosticEventHubAuthorizationRuleId' + type = 'string' + description = 'Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.' + required = $false + default = '' + } + @{ + name = 'diagnosticEventHubName' + type = 'string' + description = 'Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.' + required = $false + default = '' + } + ) + + + $diagnosticResource = @( + "resource {0}_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" -f $ResourceType + ' name: diagnosticSettingsName' + ' properties: {' + ' storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null' + ' workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null' + ' eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null' + ' eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null' + ' metrics: diagnosticsMetrics' + ' logs: diagnosticsLogs' + ) + + # Metric-specific + if ($diagnosticOptions.Metrics) { + # TODO: Clarify: Might need to be always 'All metrics' if any metric exists + $ModuleData.additionalParameters += @( + @{ + name = 'diagnosticMetricsToEnable' + type = 'array' + description = 'The name of metrics that will be streamed.' + required = $false + allowedValues = @( + 'AllMetrics' + ) + default = @( + 'AllMetrics' + ) + } + ) + $ModuleData.variables += @( + 'var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: {' + ' category: metric' + ' timeGrain: null' + ' enabled: true' + ' retentionPolicy: {' + ' enabled: true' + ' days: diagnosticLogsRetentionInDays' + ' }' + '}]' + ) + + $diagnosticResource += ' metrics: diagnosticsMetrics' + } + + # Log-specific + if ($diagnosticOptions.Logs) { + $ModuleData.additionalParameters += @( + @{ + name = 'diagnosticLogCategoriesToEnable' + type = 'array' + description = 'The name of logs that will be streamed.' + required = $false + allowedValues = $diagnosticOptions.Logs + default = $diagnosticOptions.Logs + } + ) + $ModuleData.variables += @( + 'var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: {' + ' category: category' + ' enabled: true' + ' retentionPolicy: {' + ' enabled: true' + ' days: diagnosticLogsRetentionInDays' + ' }' + '}]' + ) + + $diagnosticResource += ' logs: diagnosticsLogs' + } + + $diagnosticResource += @( + ' }' + ' scope: server' + '}' + ) + + $ModuleData.resources += $diagnosticResource + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 new file mode 100644 index 0000000000..0d326bba18 --- /dev/null +++ b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 @@ -0,0 +1,58 @@ +function Set-LockModuleData { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [Hashtable] $ModuleData + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + # Load used functions + . (Join-Path $PSScriptRoot 'Get-SupportsLock.ps1') + } + + process { + + if (-not (Get-SupportsLock -JSONFilePath $JSONFilePath)) { + return + } + + $ModuleData.additionalParameters += @( + @{ + name = 'lock' + type = 'string' + description = 'Specify the type of lock.' + required = $false + default = '' + allowedValues = @( + '' + 'CanNotDelete' + 'ReadOnly' + ) + } + ) + + $ModuleData.resources += @( + "resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) {" + " name: '`${$ResourceType.name}-`${lock}-lock'" + ' properties: {' + ' level: any(lock)' + " notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.'" + ' }' + ' scope: {0}' -f $ResourceType + '}' + ) + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} + diff --git a/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 new file mode 100644 index 0000000000..cd0e311b10 --- /dev/null +++ b/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 @@ -0,0 +1,64 @@ +function Set-PrivateEndpointModuleData { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [Hashtable] $ModuleData + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + # Load used functions + . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') + } + + process { + + if (-not (Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath)) { + return + } + + $ModuleData.additionalParameters += @( + @{ + name = 'privateEndpoints' + type = 'array' + description = 'Configuration details for private endpoints. For security reasons, it is recommended to use private endpoints whenever possible.' + required = $false + default = @() + } + ) + + $ModuleData.resources += @( + "module {0}_privateEndpoints '../../Microsoft.Network/privateEndpoints/deploy.bicep' = [for (privateEndpoint,index) in privateEndpoints: {" -f $ResourceType + " name: '`${uniqueString(deployment().name, location)}-$ResourceType-PrivateEndpoint-`${index}'" + ' params: {' + ' groupIds: [' + ' privateEndpoint.service' + ' ]' + " name: contains(privateEndpoint,'name') ? privateEndpoint.name : 'pe-`${last(split($ResourceType.id, '/'))}-`${privateEndpoint.service}-`${index}'" + ' serviceResourceId: {0}.id' -f $ResourceType + ' subnetResourceId: privateEndpoint.subnetResourceId' + ' enableDefaultTelemetry: enableReferencedModulesTelemetry' + " location: reference(split(privateEndpoint.subnetResourceId,'/subnets/')[0], '2020-06-01', 'Full').location" + " lock: contains(privateEndpoint,'lock') ? privateEndpoint.lock : lock" + " privateDnsZoneGroup: contains(privateEndpoint,'privateDnsZoneGroup') ? privateEndpoint.privateDnsZoneGroup : {}" + " roleAssignments: contains(privateEndpoint,'roleAssignments') ? privateEndpoint.roleAssignments : []" + " tags: contains(privateEndpoint,'tags') ? privateEndpoint.tags : {}" + " manualPrivateLinkServiceConnections: contains(privateEndpoint,'manualPrivateLinkServiceConnections') ? privateEndpoint.manualPrivateLinkServiceConnections : []" + " customDnsConfigs: contains(privateEndpoint,'customDnsConfigs') ? privateEndpoint.customDnsConfigs : []" + ' }' + '}]' + ) + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} + diff --git a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 new file mode 100644 index 0000000000..6e9cda7d5d --- /dev/null +++ b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 @@ -0,0 +1,96 @@ +function Set-RoleAssignmentsModuleData { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [string] $ServiceApiVersion, + + [Parameter(Mandatory = $true)] + [Hashtable] $ModuleData, + + [Parameter(Mandatory = $true)] + [string] $ModuleRootPath + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + # Load used functions + . (Join-Path $PSScriptRoot 'Get-RoleAssignmentsList.ps1') + . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Set-TokenValuesInArray.ps1') + } + + process { + + # Tokens to replace in files + $tokens = @{ + providerNamespace = $ProviderNamespace + resourceType = $ResourceType + resourceTypeSingular = $ResourceType[-1] -eq 's' ? $ResourceType.Substring(0, $ResourceType.Length - 1) : $ResourceType + apiVersion = $ServiceApiVersion + } + + $roleAssignmentList = Get-RoleAssignmentsList -ProviderNamespace $ProviderNamespace + + if (-not $roleAssignmentList) { + return + } + + $ModuleData.additionalParameters += @( + @{ + name = 'roleAssignments' + type = 'array' + description = "Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'." + required = $false + default = '' + allowedValues = @() + } + ) + + $ModuleData.resources += @( + "module $($ResourceType)_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: {" + " name: '`${uniqueString(deployment().name, location)}-$($tokens.resourceTypeSingular)-Rbac-`${index}'" + ' params: {' + " description: contains(roleAssignment,'description') ? roleAssignment.description : ''" + ' principalIds: roleAssignment.principalIds' + " principalType: contains(roleAssignment,'principalType') ? roleAssignment.principalType : ''" + ' roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName' + " condition: contains(roleAssignment,'condition') ? roleAssignment.condition : ''" + " delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : ''" + " resourceId: $($tokens.resourceTypeSingular).id" + ' }' + '}]' + ) + + $fileContent = @() + $rawContent = Get-Content -Path (Join-Path (Split-Path $PSScriptRoot -Parent) 'src' 'nested_roleAssignments.bicep') -Raw + + # Replace general tokens + $fileContent = Set-TokenValuesInArray -Content $rawContent -Tokens $tokens + + # Add roles + ## Split content into pre-roles & post-roles content + $preRolesContent = ($fileContent -split '<>')[0].Trim() -split '\n' | ForEach-Object { $_.TrimEnd() } + $postRolesContent = ($fileContent -split '<>')[1].Trim() -split '\n' | ForEach-Object { $_.TrimEnd() } + ## Add roles + $fileContent = $preRolesContent.TrimEnd() + ($roleAssignmentList | ForEach-Object { " $_" }) + $postRolesContent + + # Set content + $roleTemplateFilePath = Join-Path $ModuleRootPath '.bicep' 'nested_roleAssignments.bicep' + if (-not (Test-Path $roleTemplateFilePath)) { + New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value $fileContent + } else { + Set-Content -Path $roleTemplateFilePath -Value $fileContent + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} + diff --git a/utilities/tools/REST2CARML/src/nested_roleAssignments.bicep b/utilities/tools/REST2CARML/src/nested_roleAssignments.bicep index c33610e297..667c4b8dce 100644 --- a/utilities/tools/REST2CARML/src/nested_roleAssignments.bicep +++ b/utilities/tools/REST2CARML/src/nested_roleAssignments.bicep @@ -34,15 +34,15 @@ param conditionVersion string = '2.0' param delegatedManagedIdentityResourceId string = '' var builtInRoleNames = { - + <> } -resource <> '<>/<>@<>' existing = { +resource <> '<>/<>@<>' existing = { name: last(split(resourceId, '/')) } resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { - name: guid(<>.id, principalId, roleDefinitionIdOrName) + name: guid(<>.id, principalId, roleDefinitionIdOrName) properties: { description: description roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName @@ -52,5 +52,5 @@ resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [ conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null } - scope: <> + scope: <> }] From 6cb86b1f0cf1014b432930285da639a3faaafd39 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 15:11:18 +0200 Subject: [PATCH 059/130] Fixed typo --- utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index 329ff833fb..d2d22d33b4 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -99,7 +99,7 @@ function Invoke-REST2CARML { } $pathData = Get-ServiceSpecPathData @getPathDataInputObject - $resolveInputObject - @{ + $resolveInputObject = @{ JSONFilePath = $pathData.jsonFilePath JSONKeyPath = $pathData.jsonKeyPath ResourceType = $ResourceType From afb6277a9e15add35e7e3ceb0f5de1ca3aa66cb8 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 15:14:46 +0200 Subject: [PATCH 060/130] Fixed typo --- utilities/tools/REST2CARML/Set-Module.ps1 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index b4a6910c37..e6cf830dd3 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -26,10 +26,10 @@ $templatePath = Join-Path $moduleRootPath 'deploy.bicep' # Load used functions - . (Join-Path $PSScriptRoot 'extension' 'Add-DiagnosticModuleData') - . (Join-Path $PSScriptRoot 'extension' 'Add-RoleAssignmentModuleData.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Add-PrivateEndpointModuleData.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Add-LockModuleData.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Set-DiagnosticModuleData.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Set-RoleAssignmentsModuleData.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Set-PrivateEndpointModuleData.ps1') + . (Join-Path $PSScriptRoot 'extension' 'Set-LockModuleData.ps1') . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } @@ -63,7 +63,7 @@ ModuleRootPath = $moduleRootPath ServiceApiVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf } - Set-RoleAssignmentModuleData @rbacInputObject + Set-RoleAssignmentsModuleData @rbacInputObject ## Set Locks data $lockInputObject = @{ From d9f375821470b8c7536290ef3e2da3a76c4fc3fe Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 15:56:35 +0200 Subject: [PATCH 061/130] Improved performance --- .../extension/Get-DiagnosticOptionsList.ps1 | 14 ++++++++++++-- .../extension/Set-DiagnosticModuleData.ps1 | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 b/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 index 7ddd52c568..b272db04b6 100644 --- a/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 +++ b/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 @@ -31,6 +31,8 @@ function Get-DiagnosticOptionsList { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) $urlRoot = 'https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/main/articles/azure-monitor/essentials' + $diagnosticMetricsPath = Join-Path (Split-Path $PSScriptRoot) 'temp' 'diagnosticMetrics.md' + $diagnosticLogsPath = Join-Path (Split-Path $PSScriptRoot) 'temp' 'diagnosticLogs.md' } process { @@ -39,7 +41,11 @@ function Get-DiagnosticOptionsList { ## METRICS ## ################# $foundMetrics = @() - $metricsMarkdown = (Invoke-WebRequest -Uri "$urlRoot/metrics-supported.md").Content -split '\n' + if (-not (Test-Path $diagnosticMetricsPath)) { + Write-Verbose 'Fetching diagnostic metrics data. This may take a moment...' -Verbose + Invoke-WebRequest -Uri "$urlRoot/metrics-supported.md" -OutFile $diagnosticMetricsPath + } + $metricsMarkdown = Get-Content $diagnosticMetricsPath # Find provider in file $matchingMetricResourceTypeLine = $metricsMarkdown.IndexOf(($metricsMarkdown -like "## $ProviderNamespace/$ResourceType")[-1]) @@ -71,7 +77,11 @@ function Get-DiagnosticOptionsList { ## LOGS ## ############## $foundLogs = @() - $logsMarkdown = (Invoke-WebRequest -Uri "$urlRoot/resource-logs-categories.md").Content -split '\n' + if (-not (Test-Path $diagnosticMetricsPath)) { + Write-Verbose 'Fetching diagnostic logs data. This may take a moment...' -Verbose + Invoke-WebRequest -Uri "$urlRoot/resource-logs-categories.md" -OutFile $diagnosticLogsPath + } + $logsMarkdown = Get-Content $diagnosticMetricsPath # Find provider in file $matchingLogResourceTypeLine = $logsMarkdown.IndexOf(($logsMarkdown -like "## $ProviderNamespace/$ResourceType")[-1]) diff --git a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 index b5e437738a..a6950fb1b3 100644 --- a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 @@ -67,7 +67,7 @@ $diagnosticResource = @( - "resource {0}_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" -f $ResourceType + "resource $($ResourceType)_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" ' name: diagnosticSettingsName' ' properties: {' ' storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null' From 8f18644e038e9327a765229258be5890d2023e6f Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 15:58:52 +0200 Subject: [PATCH 062/130] Fixed typo --- .../extension/Get-DiagnosticOptionsList.ps1 | 2 +- .../REST2CARML/temp/diagnosticMetrics.md | 3884 +++++++++++++++++ 2 files changed, 3885 insertions(+), 1 deletion(-) create mode 100644 utilities/tools/REST2CARML/temp/diagnosticMetrics.md diff --git a/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 b/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 index b272db04b6..dc78b01463 100644 --- a/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 +++ b/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 @@ -77,7 +77,7 @@ function Get-DiagnosticOptionsList { ## LOGS ## ############## $foundLogs = @() - if (-not (Test-Path $diagnosticMetricsPath)) { + if (-not (Test-Path $diagnosticLogsPath)) { Write-Verbose 'Fetching diagnostic logs data. This may take a moment...' -Verbose Invoke-WebRequest -Uri "$urlRoot/resource-logs-categories.md" -OutFile $diagnosticLogsPath } diff --git a/utilities/tools/REST2CARML/temp/diagnosticMetrics.md b/utilities/tools/REST2CARML/temp/diagnosticMetrics.md new file mode 100644 index 0000000000..155f547cbd --- /dev/null +++ b/utilities/tools/REST2CARML/temp/diagnosticMetrics.md @@ -0,0 +1,3884 @@ +--- +title: Azure Monitor supported metrics by resource type +description: List of metrics available for each resource type with Azure Monitor. +author: rboucher +services: azure-monitor +ms.topic: reference +ms.date: 09/12/2022 +ms.author: robb +ms.reviewer: priyamishra +--- + +# Supported metrics with Azure Monitor + +> [!NOTE] +> This list is largely auto-generated. Any modification made to this list via GitHub might be written over without warning. Contact the author of this article for details on how to make permanent updates. + +Date list was last updated: 2021-10-05. + +Azure Monitor provides several ways to interact with metrics, including charting them in the Azure portal, accessing them through the REST API, or querying them by using PowerShell or the Azure CLI. + +This article is a complete list of all platform (that is, automatically collected) metrics currently available with the consolidated metric pipeline in Azure Monitor. Metrics changed or added after the date at the top of this article might not yet appear in the list. To query for and access the list of metrics programmatically, use the [2018-01-01 api-version](/rest/api/monitor/metricdefinitions). Other metrics not in this list might be available in the portal or through legacy APIs. + +The metrics are organized by resource provider and resource type. For a list of services and the resource providers and types that belong to them, see [Resource providers for Azure services](../../azure-resource-manager/management/azure-services-resource-providers.md). + +## Exporting platform metrics to other locations + +You can export the platform metrics from the Azure monitor pipeline to other locations in one of two ways: + +- Use the [metrics REST API](/rest/api/monitor/metrics/list). +- Use [diagnostic settings](../essentials/diagnostic-settings.md) to route platform metrics to: + - Azure Storage. + - Azure Monitor Logs (and thus Log Analytics). + - Event hubs, which is how you get them to non-Microsoft systems. + +Using diagnostic settings is the easiest way to route the metrics, but there are some limitations: + +- **Exportability**. All metrics are exportable through the REST API, but some can't be exported through diagnostic settings because of intricacies in the Azure Monitor back end. The column "Exportable via Diagnostic Settings" in the following tables lists which metrics can be exported in this way. + +- **Multi-dimensional metrics**. Sending multi-dimensional metrics to other locations via diagnostic settings is not currently supported. Metrics with dimensions are exported as flattened single-dimensional metrics, aggregated across dimension values. + + For example, the *Incoming Messages* metric on an event hub can be explored and charted on a per-queue level. But when the metric is exported via diagnostic settings, it will be represented as all incoming messages across all queues in the event hub. + +## Guest OS and host OS metrics + +Metrics for the guest operating system (guest OS) that runs in Azure Virtual Machines, Service Fabric, and Cloud Services are *not* listed here. Guest OS metrics must be collected through one or more agents that run on or as part of the guest operating system. Guest OS metrics include performance counters that track guest CPU percentage or memory usage, both of which are frequently used for autoscaling or alerting. + +Host OS metrics *are* available and listed in the tables. Host OS metrics relate to the Hyper-V session that's hosting your guest OS session. + +> [!TIP] +> A best practice is to use and configure the Azure Monitor agent to send guest OS performance metrics into the same Azure Monitor metric database where platform metrics are stored. The agent routes guest OS metrics through the [custom metrics](../essentials/metrics-custom-overview.md) API. You can then chart, alert, and otherwise use guest OS metrics like platform metrics. +> +> Alternatively or in addition, you can send the guest OS metrics to Azure Monitor Logs by using the same agent. There you can query on those metrics in combination with non-metric data by using Log Analytics. + +The Azure Monitor agent replaces the Azure Diagnostics extension and Log Analytics agent, which were previously used for guest OS routing. For important additional information, see [Overview of Azure Monitor agents](../agents/agents-overview.md). + +## Table formatting + +This latest update adds a new column and reorders the metrics to be alphabetical. The additional information means that the tables might have a horizontal scroll bar at the bottom, depending on the width of your browser window. If you seem to be missing information, use the scroll bar to see the entirety of the table. + + +## Microsoft.AAD/DomainServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|\DirectoryServices(NTDS)\LDAP Searches/sec|Yes|NTDS - LDAP Searches/sec|CountPerSecond|Average|This metric indicates the average number of searches per second for the NTDS object. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\DirectoryServices(NTDS)\LDAP Successful Binds/sec|Yes|NTDS - LDAP Successful Binds/sec|CountPerSecond|Average|This metric indicates the number of LDAP successful binds per second for the NTDS object. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\DNS\Total Query Received/sec|Yes|DNS - Total Query Received/sec|CountPerSecond|Average|This metric indicates the average number of queries received by DNS server in each second. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\DNS\Total Response Sent/sec|Yes|Total Response Sent/sec|CountPerSecond|Average|This metric indicates the average number of responses sent by DNS server in each second. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\Memory\% Committed Bytes In Use|Yes|% Committed Bytes In Use|Percent|Average|This metric indicates the ratio of Memory\Committed Bytes to the Memory\Commit Limit. Committed memory is the physical memory in use for which space has been reserved in the paging file should it need to be written to disk. The commit limit is determined by the size of the paging file. If the paging file is enlarged, the commit limit increases, and the ratio is reduced. This counter displays the current percentage value only; it is not an average. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\Process(dns)\% Processor Time|Yes|% Processor Time (dns)|Percent|Average|This metric indicates the percentage of elapsed time that all of dns process threads used the processor to execute instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\Process(lsass)\% Processor Time|Yes|% Processor Time (lsass)|Percent|Average|This metric indicates the percentage of elapsed time that all of lsass process threads used the processor to execute instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\Processor(_Total)\% Processor Time|Yes|Total Processor Time|Percent|Average|This metric indicates the percentage of elapsed time that the processor spends to execute a non-Idle thread. It is calculated by measuring the percentage of time that the processor spends executing the idle thread and then subtracting that value from 100%. (Each processor has an idle thread that consumes cycles when no other threads are ready to run). This counter is the primary indicator of processor activity, and displays the average percentage of busy time observed during the sample interval. It should be noted that the accounting calculation of whether the processor is idle is performed at an internal sampling interval of the system clock (10ms). On today's fast processors, % Processor Time can therefore underestimate the processor utilization as the processor may be spending a lot of time servicing threads between the system clock sampling interval. Workload based timer applications are one example of applications which are more likely to be measured inaccurately as timers are signaled just after the sample is taken. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\Security System-Wide Statistics\Kerberos Authentications|Yes|Kerberos Authentications|CountPerSecond|Average|This metric indicates the number of times that clients use a ticket to authenticate to this computer per second. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| +|\Security System-Wide Statistics\NTLM Authentications|Yes|NTLM Authentications|CountPerSecond|Average|This metric indicates the number of NTLM authentications processed per second for the Active Directory on this domain contrller or for local accounts on this member server. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| + + +## microsoft.aadiam/azureADMetrics + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CACompliantDeviceSuccessCount|Yes|CACompliantDeviceSuccessCount|Count|Count|CA compliant device success count for Azure AD|No Dimensions| +|CAManagedDeviceSuccessCount|No|CAManagedDeviceSuccessCount|Count|Count|CA domain join device success count for Azure AD|No Dimensions| +|MFAAttemptCount|No|MFAAttemptCount|Count|Count|MFA attempt count for Azure AD|No Dimensions| +|MFAFailureCount|No|MFAFailureCount|Count|Count|MFA failure count for Azure AD|No Dimensions| +|MFASuccessCount|No|MFASuccessCount|Count|Count|MFA success count for Azure AD|No Dimensions| +|SamlFailureCount|Yes|SamlFailureCount|Count|Count|Saml token failure count for relying party scenario|No Dimensions| +|SamlSuccessCount|Yes|SamlSuccessCount|Count|Count|Saml token success count for relying party scenario|No Dimensions| + + +## Microsoft.AnalysisServices/servers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CleanerCurrentPrice|Yes|Memory: Cleaner Current Price|Count|Average|Current price of memory, $/byte/time, normalized to 1000.|ServerResourceType| +|CleanerMemoryNonshrinkable|Yes|Memory: Cleaner Memory nonshrinkable|Bytes|Average|Amount of memory, in bytes, not subject to purging by the background cleaner.|ServerResourceType| +|CleanerMemoryShrinkable|Yes|Memory: Cleaner Memory shrinkable|Bytes|Average|Amount of memory, in bytes, subject to purging by the background cleaner.|ServerResourceType| +|CommandPoolBusyThreads|Yes|Threads: Command pool busy threads|Count|Average|Number of busy threads in the command thread pool.|ServerResourceType| +|CommandPoolIdleThreads|Yes|Threads: Command pool idle threads|Count|Average|Number of idle threads in the command thread pool.|ServerResourceType| +|CommandPoolJobQueueLength|Yes|Command Pool Job Queue Length|Count|Average|Number of jobs in the queue of the command thread pool.|ServerResourceType| +|CurrentConnections|Yes|Connection: Current connections|Count|Average|Current number of client connections established.|ServerResourceType| +|CurrentUserSessions|Yes|Current User Sessions|Count|Average|Current number of user sessions established.|ServerResourceType| +|LongParsingBusyThreads|Yes|Threads: Long parsing busy threads|Count|Average|Number of busy threads in the long parsing thread pool.|ServerResourceType| +|LongParsingIdleThreads|Yes|Threads: Long parsing idle threads|Count|Average|Number of idle threads in the long parsing thread pool.|ServerResourceType| +|LongParsingJobQueueLength|Yes|Threads: Long parsing job queue length|Count|Average|Number of jobs in the queue of the long parsing thread pool.|ServerResourceType| +|mashup_engine_memory_metric|Yes|M Engine Memory|Bytes|Average|Memory usage by mashup engine processes|ServerResourceType| +|mashup_engine_private_bytes_metric|Yes|M Engine Private Bytes|Bytes|Average|Private bytes usage by mashup engine processes.|ServerResourceType| +|mashup_engine_qpu_metric|Yes|M Engine QPU|Count|Average|QPU usage by mashup engine processes|ServerResourceType| +|mashup_engine_virtual_bytes_metric|Yes|M Engine Virtual Bytes|Bytes|Average|Virtual bytes usage by mashup engine processes.|ServerResourceType| +|memory_metric|Yes|Memory|Bytes|Average|Memory. Range 0-25 GB for S1, 0-50 GB for S2 and 0-100 GB for S4|ServerResourceType| +|memory_thrashing_metric|Yes|Memory Thrashing|Percent|Average|Average memory thrashing.|ServerResourceType| +|MemoryLimitHard|Yes|Memory: Memory Limit Hard|Bytes|Average|Hard memory limit, from configuration file.|ServerResourceType| +|MemoryLimitHigh|Yes|Memory: Memory Limit High|Bytes|Average|High memory limit, from configuration file.|ServerResourceType| +|MemoryLimitLow|Yes|Memory: Memory Limit Low|Bytes|Average|Low memory limit, from configuration file.|ServerResourceType| +|MemoryLimitVertiPaq|Yes|Memory: Memory Limit VertiPaq|Bytes|Average|In-memory limit, from configuration file.|ServerResourceType| +|MemoryUsage|Yes|Memory: Memory Usage|Bytes|Average|Memory usage of the server process as used in calculating cleaner memory price. Equal to counter Process\PrivateBytes plus the size of memory-mapped data, ignoring any memory which was mapped or allocated by the xVelocity in-memory analytics engine (VertiPaq) in excess of the xVelocity engine Memory Limit.|ServerResourceType| +|private_bytes_metric|Yes|Private Bytes|Bytes|Average|Private bytes.|ServerResourceType| +|ProcessingPoolBusyIOJobThreads|Yes|Threads: Processing pool busy I/O job threads|Count|Average|Number of threads running I/O jobs in the processing thread pool.|ServerResourceType| +|ProcessingPoolBusyNonIOThreads|Yes|Threads: Processing pool busy non-I/O threads|Count|Average|Number of threads running non-I/O jobs in the processing thread pool.|ServerResourceType| +|ProcessingPoolIdleIOJobThreads|Yes|Threads: Processing pool idle I/O job threads|Count|Average|Number of idle threads for I/O jobs in the processing thread pool.|ServerResourceType| +|ProcessingPoolIdleNonIOThreads|Yes|Threads: Processing pool idle non-I/O threads|Count|Average|Number of idle threads in the processing thread pool dedicated to non-I/O jobs.|ServerResourceType| +|ProcessingPoolIOJobQueueLength|Yes|Threads: Processing pool I/O job queue length|Count|Average|Number of I/O jobs in the queue of the processing thread pool.|ServerResourceType| +|ProcessingPoolJobQueueLength|Yes|Processing Pool Job Queue Length|Count|Average|Number of non-I/O jobs in the queue of the processing thread pool.|ServerResourceType| +|qpu_metric|Yes|QPU|Count|Average|QPU. Range 0-100 for S1, 0-200 for S2 and 0-400 for S4|ServerResourceType| +|QueryPoolBusyThreads|Yes|Query Pool Busy Threads|Count|Average|Number of busy threads in the query thread pool.|ServerResourceType| +|QueryPoolIdleThreads|Yes|Threads: Query pool idle threads|Count|Average|Number of idle threads for I/O jobs in the processing thread pool.|ServerResourceType| +|QueryPoolJobQueueLength|Yes|Threads: Query pool job queue length|Count|Average|Number of jobs in the queue of the query thread pool.|ServerResourceType| +|Quota|Yes|Memory: Quota|Bytes|Average|Current memory quota, in bytes. Memory quota is also known as a memory grant or memory reservation.|ServerResourceType| +|QuotaBlocked|Yes|Memory: Quota Blocked|Count|Average|Current number of quota requests that are blocked until other memory quotas are freed.|ServerResourceType| +|RowsConvertedPerSec|Yes|Processing: Rows converted per sec|CountPerSecond|Average|Rate of rows converted during processing.|ServerResourceType| +|RowsReadPerSec|Yes|Processing: Rows read per sec|CountPerSecond|Average|Rate of rows read from all relational databases.|ServerResourceType| +|RowsWrittenPerSec|Yes|Processing: Rows written per sec|CountPerSecond|Average|Rate of rows written during processing.|ServerResourceType| +|ShortParsingBusyThreads|Yes|Threads: Short parsing busy threads|Count|Average|Number of busy threads in the short parsing thread pool.|ServerResourceType| +|ShortParsingIdleThreads|Yes|Threads: Short parsing idle threads|Count|Average|Number of idle threads in the short parsing thread pool.|ServerResourceType| +|ShortParsingJobQueueLength|Yes|Threads: Short parsing job queue length|Count|Average|Number of jobs in the queue of the short parsing thread pool.|ServerResourceType| +|SuccessfullConnectionsPerSec|Yes|Successful Connections Per Sec|CountPerSecond|Average|Rate of successful connection completions.|ServerResourceType| +|TotalConnectionFailures|Yes|Total Connection Failures|Count|Average|Total failed connection attempts.|ServerResourceType| +|TotalConnectionRequests|Yes|Total Connection Requests|Count|Average|Total connection requests. These are arrivals.|ServerResourceType| +|VertiPaqNonpaged|Yes|Memory: VertiPaq Nonpaged|Bytes|Average|Bytes of memory locked in the working set for use by the in-memory engine.|ServerResourceType| +|VertiPaqPaged|Yes|Memory: VertiPaq Paged|Bytes|Average|Bytes of paged memory in use for in-memory data.|ServerResourceType| +|virtual_bytes_metric|Yes|Virtual Bytes|Bytes|Average|Virtual bytes.|ServerResourceType| + + +## Microsoft.ApiManagement/service + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BackendDuration|Yes|Duration of Backend Requests|Milliseconds|Average|Duration of Backend Requests in milliseconds|Location, Hostname| +|Capacity|Yes|Capacity|Percent|Average|Utilization metric for ApiManagement service|Location| +|Duration|Yes|Overall Duration of Gateway Requests|Milliseconds|Average|Overall Duration of Gateway Requests in milliseconds|Location, Hostname| +|EventHubDroppedEvents|Yes|Dropped EventHub Events|Count|Total|Number of events skipped because of queue size limit reached|Location| +|EventHubRejectedEvents|Yes|Rejected EventHub Events|Count|Total|Number of rejected EventHub events (wrong configuration or unauthorized)|Location| +|EventHubSuccessfulEvents|Yes|Successful EventHub Events|Count|Total|Number of successful EventHub events|Location| +|EventHubThrottledEvents|Yes|Throttled EventHub Events|Count|Total|Number of throttled EventHub events|Location| +|EventHubTimedoutEvents|Yes|Timed Out EventHub Events|Count|Total|Number of timed out EventHub events|Location| +|EventHubTotalBytesSent|Yes|Size of EventHub Events|Bytes|Total|Total size of EventHub events in bytes|Location| +|EventHubTotalEvents|Yes|Total EventHub Events|Count|Total|Number of events sent to EventHub|Location| +|EventHubTotalFailedEvents|Yes|Failed EventHub Events|Count|Total|Number of failed EventHub events|Location| +|FailedRequests|Yes|Failed Gateway Requests (Deprecated)|Count|Total|Number of failures in gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| +|NetworkConnectivity|Yes|Network Connectivity Status of Resources (Preview)|Count|Average|Network Connectivity status of dependent resource types from API Management service|Location, ResourceType| +|OtherRequests|Yes|Other Gateway Requests (Deprecated)|Count|Total|Number of other gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| +|Requests|Yes|Requests|Count|Total|Gateway request metrics with multiple dimensions|Location, Hostname, LastErrorReason, BackendResponseCode, GatewayResponseCode, BackendResponseCodeCategory, GatewayResponseCodeCategory| +|SuccessfulRequests|Yes|Successful Gateway Requests (Deprecated)|Count|Total|Number of successful gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| +|TotalRequests|Yes|Total Gateway Requests (Deprecated)|Count|Total|Number of gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| +|UnauthorizedRequests|Yes|Unauthorized Gateway Requests (Deprecated)|Count|Total|Number of unauthorized gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| + + +## Microsoft.App/containerapps + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Replicas|Yes|Replica Count|Count|Maximum|Number of replicas count of container app|revisionName| +|Requests|Yes|Requests|Count|Total|Requests processed|revisionName, podName, statusCodeCategory, statusCode| +|RestartCount|Yes|Replica Restart Count|Count|Maximum|Restart count of container app replicas|revisionName, podName| +|RxBytes|Yes|Network In Bytes|Bytes|Total|Network received bytes|revisionName, podName| +|TxBytes|Yes|Network Out Bytes|Bytes|Total|Network transmitted bytes|revisionName, podName| +|UsageNanoCores|Yes|CPU Usage|NanoCores|Average|CPU consumed by the container app, in nano cores. 1,000,000,000 nano cores = 1 core|revisionName, podName| +|WorkingSetBytes|Yes|Memory Working Set Bytes|Bytes|Average|Container App working set memory used in bytes.|revisionName, podName| + + +## Microsoft.AppConfiguration/configurationStores + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|HttpIncomingRequestCount|Yes|HttpIncomingRequestCount|Count|Count|Total number of incoming http requests.|StatusCode, Authentication| +|HttpIncomingRequestDuration|Yes|HttpIncomingRequestDuration|Count|Average|Latency on an http request.|StatusCode, Authentication| +|ThrottledHttpRequestCount|Yes|ThrottledHttpRequestCount|Count|Count|Throttled http requests.|No Dimensions| + + +## Microsoft.AppPlatform/Spring + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active-timer-count|Yes|active-timer-count|Count|Average|Number of timers that are currently active|Deployment, AppName, Pod| +|alloc-rate|Yes|alloc-rate|Bytes|Average|Number of bytes allocated in the managed heap|Deployment, AppName, Pod| +|AppCpuUsage|Yes|App CPU Usage |Percent|Average|The recent CPU usage for the app|Deployment, AppName, Pod| +|assembly-count|Yes|assembly-count|Count|Average|Number of Assemblies Loaded|Deployment, AppName, Pod| +|cpu-usage|Yes|cpu-usage|Percent|Average|% time the process has utilized the CPU|Deployment, AppName, Pod| +|current-requests|Yes|current-requests|Count|Average|Total number of requests in processing in the lifetime of the process|Deployment, AppName, Pod| +|exception-count|Yes|exception-count|Count|Total|Number of Exceptions|Deployment, AppName, Pod| +|failed-requests|Yes|failed-requests|Count|Average|Total number of failed requests in the lifetime of the process|Deployment, AppName, Pod| +|GatewayHttpServerRequestsMilliSecondsMax|Yes|Max time of requests|Milliseconds|Maximum|The max time of requests|Pod, httpStatusCode, outcome, httpMethod| +|GatewayHttpServerRequestsMilliSecondsSum|Yes|Total time of requests|Milliseconds|Total|The total time of requests|Pod, httpStatusCode, outcome, httpMethod| +|GatewayHttpServerRequestsSecondsCount|Yes|Request count|Count|Total|The number of requests|Pod, httpStatusCode, outcome, httpMethod| +|GatewayJvmGcLiveDataSizeBytes|Yes|jvm.gc.live.data.size|Bytes|Average|Size of old generation memory pool after a full GC|Pod| +|GatewayJvmGcMaxDataSizeBytes|Yes|jvm.gc.max.data.size|Bytes|Maximum|Max size of old generation memory pool|Pod| +|GatewayJvmGcMemoryAllocatedBytesTotal|Yes|jvm.gc.memory.allocated|Bytes|Maximum|Incremented for an increase in the size of the young generation memory pool after one GC to before the next|Pod| +|GatewayJvmGcMemoryPromotedBytesTotal|Yes|jvm.gc.memory.promoted|Bytes|Maximum|Count of positive increases in the size of the old generation memory pool before GC to after GC|Pod| +|GatewayJvmGcPauseSecondsCount|Yes|jvm.gc.pause.total.count|Count|Total|GC Pause Count|Pod| +|GatewayJvmGcPauseSecondsMax|Yes|jvm.gc.pause.max.time|Seconds|Maximum|GC Pause Max Time|Pod| +|GatewayJvmGcPauseSecondsSum|Yes|jvm.gc.pause.total.time|Seconds|Total|GC Pause Total Time|Pod| +|GatewayJvmMemoryCommittedBytes|Yes|jvm.memory.committed|Bytes|Average|Memory assigned to JVM in bytes|Pod| +|GatewayJvmMemoryUsedBytes|Yes|jvm.memory.used|Bytes|Average|Memory Used in bytes|Pod| +|GatewayProcessCpuUsage|Yes|process.cpu.usage|Percent|Average|The recent CPU usage for the JVM process|Pod| +|GatewayRatelimitThrottledCount|Yes|Throttled requests count|Count|Total|The count of the throttled requests|Pod| +|GatewaySystemCpuUsage|Yes|system.cpu.usage|Percent|Average|The recent CPU usage for the whole system|Pod| +|gc-heap-size|Yes|gc-heap-size|Count|Average|Total heap size reported by the GC (MB)|Deployment, AppName, Pod| +|gen-0-gc-count|Yes|gen-0-gc-count|Count|Average|Number of Gen 0 GCs|Deployment, AppName, Pod| +|gen-0-size|Yes|gen-0-size|Bytes|Average|Gen 0 Heap Size|Deployment, AppName, Pod| +|gen-1-gc-count|Yes|gen-1-gc-count|Count|Average|Number of Gen 1 GCs|Deployment, AppName, Pod| +|gen-1-size|Yes|gen-1-size|Bytes|Average|Gen 1 Heap Size|Deployment, AppName, Pod| +|gen-2-gc-count|Yes|gen-2-gc-count|Count|Average|Number of Gen 2 GCs|Deployment, AppName, Pod| +|gen-2-size|Yes|gen-2-size|Bytes|Average|Gen 2 Heap Size|Deployment, AppName, Pod| +|IngressBytesReceived|Yes|Bytes Received|Bytes|Average|Count of bytes received by Azure Spring Cloud from the clients|Hostname, HttpStatus| +|IngressBytesReceivedRate|Yes|Throughput In (bytes/s)|BytesPerSecond|Average|Bytes received per second by Azure Spring Cloud from the clients|Hostname, HttpStatus| +|IngressBytesSent|Yes|Bytes Sent|Bytes|Average|Count of bytes sent by Azure Spring Cloud to the clients|Hostname, HttpStatus| +|IngressBytesSentRate|Yes|Throughput Out (bytes/s)|BytesPerSecond|Average|Bytes sent per second by Azure Spring Cloud to the clients|Hostname, HttpStatus| +|IngressFailedRequests|Yes|Failed Requests|Count|Average|Count of failed requests by Azure Spring Cloud from the clients|Hostname, HttpStatus| +|IngressRequests|Yes|Requests|Count|Average|Count of requests by Azure Spring Cloud from the clients|Hostname, HttpStatus| +|IngressResponseStatus|Yes|Response Status|Count|Average|HTTP response status returned by Azure Spring Cloud. The response status code distribution can be further categorized to show responses in 2xx, 3xx, 4xx, and 5xx categories|Hostname, HttpStatus| +|IngressResponseTime|Yes|Response Time|Seconds|Average|Http response time return by Azure Spring Cloud|Hostname, HttpStatus||jvm.gc.max.data.size|Yes|jvm.gc.max.data.size|Bytes|Average|Max size of old generation memory pool|Deployment, AppName, Pod| +|jvm.gc.memory.allocated|Yes|jvm.gc.memory.allocated|Bytes|Maximum|Incremented for an increase in the size of the young generation memory pool after one GC to before the next|Deployment, AppName, Pod| +|jvm.gc.memory.promoted|Yes|jvm.gc.memory.promoted|Bytes|Maximum|Count of positive increases in the size of the old generation memory pool before GC to after GC|Deployment, AppName, Pod| +|jvm.gc.pause.total.count|Yes|jvm.gc.pause.total.count|Count|Total|GC Pause Count|Deployment, AppName, Pod| +|jvm.gc.pause.total.time|Yes|jvm.gc.pause.total.time|Milliseconds|Total|GC Pause Total Time|Deployment, AppName, Pod| +|jvm.memory.committed|Yes|jvm.memory.committed|Bytes|Average|Memory assigned to JVM in bytes|Deployment, AppName, Pod| +|jvm.memory.max|Yes|jvm.memory.max|Bytes|Maximum|The maximum amount of memory in bytes that can be used for memory management|Deployment, AppName, Pod| +|jvm.memory.used|Yes|jvm.memory.used|Bytes|Average|App Memory Used in bytes|Deployment, AppName, Pod| +|loh-size|Yes|loh-size|Bytes|Average|LOH Heap Size|Deployment, AppName, Pod| +|monitor-lock-contention-count|Yes|monitor-lock-contention-count|Count|Average|Number of times there were contention when trying to take the monitor lock|Deployment, AppName, Pod| +|PodCpuUsage|Yes|App CPU Usage|Percent|Average|The recent CPU usage for the app|Deployment, AppName, Pod| +|PodMemoryUsage|Yes|App Memory Usage|Percent|Average|The recent Memory usage for the app|Deployment, AppName, Pod| +|PodNetworkIn|Yes|App Network In|Bytes|Average|Cumulative count of bytes received in the app|Deployment, AppName, Pod| +|PodNetworkOut|Yes|App Network Out|Bytes|Average|Cumulative count of bytes sent from the app|Deployment, AppName, Pod| +|process.cpu.usage|Yes|process.cpu.usage|Percent|Average|The recent CPU usage for the JVM process|Deployment, AppName, Pod| +|requests-per-second|Yes|requests-rate|Count|Average|Request rate|Deployment, AppName, Pod| +|system.cpu.usage|Yes|system.cpu.usage|Percent|Average|The recent CPU usage for the whole system|Deployment, AppName, Pod| +|threadpool-completed-items-count|Yes|threadpool-completed-items-count|Count|Average|ThreadPool Completed Work Items Count|Deployment, AppName, Pod| +|threadpool-queue-length|Yes|threadpool-queue-length|Count|Average|ThreadPool Work Items Queue Length|Deployment, AppName, Pod| +|threadpool-thread-count|Yes|threadpool-thread-count|Count|Average|Number of ThreadPool Threads|Deployment, AppName, Pod| +|time-in-gc|Yes|time-in-gc|Percent|Average|% time in GC since the last GC|Deployment, AppName, Pod| +|tomcat.global.error|Yes|tomcat.global.error|Count|Total|Tomcat Global Error|Deployment, AppName, Pod| +|tomcat.global.received|Yes|tomcat.global.received|Bytes|Total|Tomcat Total Received Bytes|Deployment, AppName, Pod| +|tomcat.global.request.avg.time|Yes|tomcat.global.request.avg.time|Milliseconds|Average|Tomcat Request Average Time|Deployment, AppName, Pod| +|tomcat.global.request.max|Yes|tomcat.global.request.max|Milliseconds|Maximum|Tomcat Request Max Time|Deployment, AppName, Pod| +|tomcat.global.request.total.count|Yes|tomcat.global.request.total.count|Count|Total|Tomcat Request Total Count|Deployment, AppName, Pod| +|tomcat.global.request.total.time|Yes|tomcat.global.request.total.time|Milliseconds|Total|Tomcat Request Total Time|Deployment, AppName, Pod| +|tomcat.global.sent|Yes|tomcat.global.sent|Bytes|Total|Tomcat Total Sent Bytes|Deployment, AppName, Pod| +|tomcat.sessions.active.current|Yes|tomcat.sessions.active.current|Count|Total|Tomcat Session Active Count|Deployment, AppName, Pod| +|tomcat.sessions.active.max|Yes|tomcat.sessions.active.max|Count|Total|Tomcat Session Max Active Count|Deployment, AppName, Pod| +|tomcat.sessions.alive.max|Yes|tomcat.sessions.alive.max|Milliseconds|Maximum|Tomcat Session Max Alive Time|Deployment, AppName, Pod| +|tomcat.sessions.created|Yes|tomcat.sessions.created|Count|Total|Tomcat Session Created Count|Deployment, AppName, Pod| +|tomcat.sessions.expired|Yes|tomcat.sessions.expired|Count|Total|Tomcat Session Expired Count|Deployment, AppName, Pod| +|tomcat.sessions.rejected|Yes|tomcat.sessions.rejected|Count|Total|Tomcat Session Rejected Count|Deployment, AppName, Pod| +|tomcat.threads.config.max|Yes|tomcat.threads.config.max|Count|Total|Tomcat Config Max Thread Count|Deployment, AppName, Pod| +|tomcat.threads.current|Yes|tomcat.threads.current|Count|Total|Tomcat Current Thread Count|Deployment, AppName, Pod| +|total-requests|Yes|total-requests|Count|Average|Total number of requests in the lifetime of the process|Deployment, AppName, Pod| +|working-set|Yes|working-set|Count|Average|Amount of working set used by the process (MB)|Deployment, AppName, Pod| + + +## Microsoft.Automation/automationAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|TotalJob|Yes|Total Jobs|Count|Total|The total number of jobs|Runbook, Status| +|TotalUpdateDeploymentMachineRuns|Yes|Total Update Deployment Machine Runs|Count|Total|Total software update deployment machine runs in a software update deployment run|SoftwareUpdateConfigurationName, Status, TargetComputer, SoftwareUpdateConfigurationRunId| +|TotalUpdateDeploymentRuns|Yes|Total Update Deployment Runs|Count|Total|Total software update deployment runs|SoftwareUpdateConfigurationName, Status| + + +## microsoft.avs/privateClouds + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CapacityLatest|Yes|Datastore Disk Total Capacity|Bytes|Average|The total capacity of disk in the datastore|dsname| +|DiskUsedPercentage|Yes| Percentage Datastore Disk Used|Percent|Average|Percent of available disk used in Datastore|dsname| +|EffectiveCpuAverage|Yes|Percentage CPU|Percent|Average|Percentage of Used CPU resources in Cluster|clustername| +|EffectiveMemAverage|Yes|Average Effective Memory|Bytes|Average|Total available amount of machine memory in cluster|clustername| +|OverheadAverage|Yes|Average Memory Overhead|Bytes|Average|Host physical memory consumed by the virtualization infrastructure|clustername| +|TotalMbAverage|Yes|Average Total Memory|Bytes|Average|Total memory in cluster|clustername| +|UsageAverage|Yes|Average Memory Usage|Percent|Average|Memory usage as percentage of total configured or available memory|clustername| +|UsedLatest|Yes|Datastore Disk Used|Bytes|Average|The total amount of disk used in the datastore|dsname| + + +## Microsoft.Batch/batchAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CoreCount|No|Dedicated Core Count|Count|Total|Total number of dedicated cores in the batch account|No Dimensions| +|CreatingNodeCount|No|Creating Node Count|Count|Total|Number of nodes being created|No Dimensions| +|IdleNodeCount|No|Idle Node Count|Count|Total|Number of idle nodes|No Dimensions| +|JobDeleteCompleteEvent|Yes|Job Delete Complete Events|Count|Total|Total number of jobs that have been successfully deleted.|jobId| +|JobDeleteStartEvent|Yes|Job Delete Start Events|Count|Total|Total number of jobs that have been requested to be deleted.|jobId| +|JobDisableCompleteEvent|Yes|Job Disable Complete Events|Count|Total|Total number of jobs that have been successfully disabled.|jobId| +|JobDisableStartEvent|Yes|Job Disable Start Events|Count|Total|Total number of jobs that have been requested to be disabled.|jobId| +|JobStartEvent|Yes|Job Start Events|Count|Total|Total number of jobs that have been successfully started.|jobId| +|JobTerminateCompleteEvent|Yes|Job Terminate Complete Events|Count|Total|Total number of jobs that have been successfully terminated.|jobId| +|JobTerminateStartEvent|Yes|Job Terminate Start Events|Count|Total|Total number of jobs that have been requested to be terminated.|jobId| +|LeavingPoolNodeCount|No|Leaving Pool Node Count|Count|Total|Number of nodes leaving the Pool|No Dimensions| +|LowPriorityCoreCount|No|LowPriority Core Count|Count|Total|Total number of low-priority cores in the batch account|No Dimensions| +|OfflineNodeCount|No|Offline Node Count|Count|Total|Number of offline nodes|No Dimensions| +|PoolCreateEvent|Yes|Pool Create Events|Count|Total|Total number of pools that have been created|poolId| +|PoolDeleteCompleteEvent|Yes|Pool Delete Complete Events|Count|Total|Total number of pool deletes that have completed|poolId| +|PoolDeleteStartEvent|Yes|Pool Delete Start Events|Count|Total|Total number of pool deletes that have started|poolId| +|PoolResizeCompleteEvent|Yes|Pool Resize Complete Events|Count|Total|Total number of pool resizes that have completed|poolId| +|PoolResizeStartEvent|Yes|Pool Resize Start Events|Count|Total|Total number of pool resizes that have started|poolId| +|PreemptedNodeCount|No|Preempted Node Count|Count|Total|Number of preempted nodes|No Dimensions| +|RebootingNodeCount|No|Rebooting Node Count|Count|Total|Number of rebooting nodes|No Dimensions| +|ReimagingNodeCount|No|Reimaging Node Count|Count|Total|Number of reimaging nodes|No Dimensions| +|RunningNodeCount|No|Running Node Count|Count|Total|Number of running nodes|No Dimensions| +|StartingNodeCount|No|Starting Node Count|Count|Total|Number of nodes starting|No Dimensions| +|StartTaskFailedNodeCount|No|Start Task Failed Node Count|Count|Total|Number of nodes where the Start Task has failed|No Dimensions| +|TaskCompleteEvent|Yes|Task Complete Events|Count|Total|Total number of tasks that have completed|poolId, jobId| +|TaskFailEvent|Yes|Task Fail Events|Count|Total|Total number of tasks that have completed in a failed state|poolId, jobId| +|TaskStartEvent|Yes|Task Start Events|Count|Total|Total number of tasks that have started|poolId, jobId| +|TotalLowPriorityNodeCount|No|Low-Priority Node Count|Count|Total|Total number of low-priority nodes in the batch account|No Dimensions| +|TotalNodeCount|No|Dedicated Node Count|Count|Total|Total number of dedicated nodes in the batch account|No Dimensions| +|UnusableNodeCount|No|Unusable Node Count|Count|Total|Number of unusable nodes|No Dimensions| +|WaitingForStartTaskNodeCount|No|Waiting For Start Task Node Count|Count|Total|Number of nodes waiting for the Start Task to complete|No Dimensions| + + +## Microsoft.BatchAI/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BaiClusterEvent|BaiClusterEvent|No| +|BaiClusterNodeEvent|BaiClusterNodeEvent|No| +|BaiJobEvent|BaiJobEvent|No| + +## microsoft.bing/accounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BlockedCalls|Yes|Blocked Calls|Count|Total|Number of calls that exceeded the rate or quota limit|ApiName, ServingRegion, StatusCode| +|ClientErrors|Yes|Client Errors|Count|Total|Number of calls with any client error (HTTP status code 4xx)|ApiName, ServingRegion, StatusCode| +|DataIn|Yes|Data In|Bytes|Total|Incoming request Content-Length in bytes|ApiName, ServingRegion, StatusCode| +|DataOut|Yes|Data Out|Bytes|Total|Outgoing response Content-Length in bytes|ApiName, ServingRegion, StatusCode| +|Latency|Yes|Latency|Milliseconds|Average|Latency in milliseconds|ApiName, ServingRegion, StatusCode| +|ServerErrors|Yes|Server Errors|Count|Total|Number of calls with any server error (HTTP status code 5xx)|ApiName, ServingRegion, StatusCode| +|SuccessfulCalls|Yes|Successful Calls|Count|Total|Number of successful calls (HTTP status code 2xx)|ApiName, ServingRegion, StatusCode| +|TotalCalls|Yes|Total Calls|Count|Total|Total number of calls|ApiName, ServingRegion, StatusCode| +|TotalErrors|Yes|Total Errors|Count|Total|Number of calls with any error (HTTP status code 4xx or 5xx)|ApiName, ServingRegion, StatusCode| + + +## Microsoft.Blockchain/blockchainMembers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BroadcastProcessedCount|Yes|BroadcastProcessedCountDisplayName|Count|Average|The number of transactions processed.|Node, channel, type, status| +|ChaincodeExecuteTimeouts|Yes|ChaincodeExecuteTimeoutsDisplayName|Count|Average|The number of chaincode executions (Init or Invoke) that have timed out.|Node, chaincode| +|ChaincodeLaunchFailures|Yes|ChaincodeLaunchFailuresDisplayName|Count|Average|The number of chaincode launches that have failed.|Node, chaincode| +|ChaincodeLaunchTimeouts|Yes|ChaincodeLaunchTimeoutsDisplayName|Count|Average|The number of chaincode launches that have timed out.|Node, chaincode| +|ChaincodeShimRequestsCompleted|Yes|ChaincodeShimRequestsCompletedDisplayName|Count|Average|The number of chaincode shim requests completed.|Node, type, channel, chaincode, success| +|ChaincodeShimRequestsReceived|Yes|ChaincodeShimRequestsReceivedDisplayName|Count|Average|The number of chaincode shim requests received.|Node, type, channel, chaincode| +|ClusterCommEgressQueueCapacity|Yes|ClusterCommEgressQueueCapacityDisplayName|Count|Average|Capacity of the egress queue.|Node, host, msg_type, channel| +|ClusterCommEgressQueueLength|Yes|ClusterCommEgressQueueLengthDisplayName|Count|Average|Length of the egress queue.|Node, host, msg_type, channel| +|ClusterCommEgressQueueWorkers|Yes|ClusterCommEgressQueueWorkersDisplayName|Count|Average|Count of egress queue workers.|Node, channel| +|ClusterCommEgressStreamCount|Yes|ClusterCommEgressStreamCountDisplayName|Count|Average|Count of streams to other nodes.|Node, channel| +|ClusterCommEgressTlsConnectionCount|Yes|ClusterCommEgressTlsConnectionCountDisplayName|Count|Average|Count of TLS connections to other nodes.|Node| +|ClusterCommIngressStreamCount|Yes|ClusterCommIngressStreamCountDisplayName|Count|Average|Count of streams from other nodes.|Node| +|ClusterCommMsgDroppedCount|Yes|ClusterCommMsgDroppedCountDisplayName|Count|Average|Count of messages dropped.|Node, host, channel| +|ConnectionAccepted|Yes|Accepted Connections|Count|Total|Accepted Connections|Node| +|ConnectionActive|Yes|Active Connections|Count|Average|Active Connections|Node| +|ConnectionHandled|Yes|Handled Connections|Count|Total|Handled Connections|Node| +|ConsensusEtcdraftActiveNodes|Yes|ConsensusEtcdraftActiveNodesDisplayName|Count|Average|Number of active nodes in this channel.|Node, channel| +|ConsensusEtcdraftClusterSize|Yes|ConsensusEtcdraftClusterSizeDisplayName|Count|Average|Number of nodes in this channel.|Node, channel| +|ConsensusEtcdraftCommittedBlockNumber|Yes|ConsensusEtcdraftCommittedBlockNumberDisplayName|Count|Average|The block number of the latest block committed.|Node, channel| +|ConsensusEtcdraftConfigProposalsReceived|Yes|ConsensusEtcdraftConfigProposalsReceivedDisplayName|Count|Average|The total number of proposals received for config type transactions.|Node, channel| +|ConsensusEtcdraftIsLeader|Yes|ConsensusEtcdraftIsLeaderDisplayName|Count|Average|The leadership status of the current node: 1 if it is the leader else 0.|Node, channel| +|ConsensusEtcdraftLeaderChanges|Yes|ConsensusEtcdraftLeaderChangesDisplayName|Count|Average|The number of leader changes since process start.|Node, channel| +|ConsensusEtcdraftNormalProposalsReceived|Yes|ConsensusEtcdraftNormalProposalsReceivedDisplayName|Count|Average|The total number of proposals received for normal type transactions.|Node, channel| +|ConsensusEtcdraftProposalFailures|Yes|ConsensusEtcdraftProposalFailuresDisplayName|Count|Average|The number of proposal failures.|Node, channel| +|ConsensusEtcdraftSnapshotBlockNumber|Yes|ConsensusEtcdraftSnapshotBlockNumberDisplayName|Count|Average|The block number of the latest snapshot.|Node, channel| +|ConsensusKafkaBatchSize|Yes|ConsensusKafkaBatchSizeDisplayName|Count|Average|The mean batch size in bytes sent to topics.|Node, topic| +|ConsensusKafkaCompressionRatio|Yes|ConsensusKafkaCompressionRatioDisplayName|Count|Average|The mean compression ratio (as percentage) for topics.|Node, topic| +|ConsensusKafkaIncomingByteRate|Yes|ConsensusKafkaIncomingByteRateDisplayName|Count|Average|Bytes/second read off brokers.|Node, broker_id| +|ConsensusKafkaLastOffsetPersisted|Yes|ConsensusKafkaLastOffsetPersistedDisplayName|Count|Average|The offset specified in the block metadata of the most recently committed block.|Node, channel| +|ConsensusKafkaOutgoingByteRate|Yes|ConsensusKafkaOutgoingByteRateDisplayName|Count|Average|Bytes/second written to brokers.|Node, broker_id| +|ConsensusKafkaRecordSendRate|Yes|ConsensusKafkaRecordSendRateDisplayName|Count|Average|The number of records per second sent to topics.|Node, topic| +|ConsensusKafkaRecordsPerRequest|Yes|ConsensusKafkaRecordsPerRequestDisplayName|Count|Average|The mean number of records sent per request to topics.|Node, topic| +|ConsensusKafkaRequestLatency|Yes|ConsensusKafkaRequestLatencyDisplayName|Count|Average|The mean request latency in ms to brokers.|Node, broker_id| +|ConsensusKafkaRequestRate|Yes|ConsensusKafkaRequestRateDisplayName|Count|Average|Requests/second sent to brokers.|Node, broker_id| +|ConsensusKafkaRequestSize|Yes|ConsensusKafkaRequestSizeDisplayName|Count|Average|The mean request size in bytes to brokers.|Node, broker_id| +|ConsensusKafkaResponseRate|Yes|ConsensusKafkaResponseRateDisplayName|Count|Average|Requests/second sent to brokers.|Node, broker_id| +|ConsensusKafkaResponseSize|Yes|ConsensusKafkaResponseSizeDisplayName|Count|Average|The mean response size in bytes from brokers.|Node, broker_id| +|CpuUsagePercentageInDouble|Yes|CPU Usage Percentage|Percent|Maximum|CPU Usage Percentage|Node| +|DeliverBlocksSent|Yes|DeliverBlocksSentDisplayName|Count|Average|The number of blocks sent by the deliver service.|Node, channel, filtered, data_type| +|DeliverRequestsCompleted|Yes|DeliverRequestsCompletedDisplayName|Count|Average|The number of deliver requests that have been completed.|Node, channel, filtered, data_type, success| +|DeliverRequestsReceived|Yes|DeliverRequestsReceivedDisplayName|Count|Average|The number of deliver requests that have been received.|Node, channel, filtered, data_type| +|DeliverStreamsClosed|Yes|DeliverStreamsClosedDisplayName|Count|Average|The number of GRPC streams that have been closed for the deliver service.|Node| +|DeliverStreamsOpened|Yes|DeliverStreamsOpenedDisplayName|Count|Average|The number of GRPC streams that have been opened for the deliver service.|Node| +|EndorserChaincodeInstantiationFailures|Yes|EndorserChaincodeInstantiationFailuresDisplayName|Count|Average|The number of chaincode instantiations or upgrade that have failed.|Node, channel, chaincode| +|EndorserDuplicateTransactionFailures|Yes|EndorserDuplicateTransactionFailuresDisplayName|Count|Average|The number of failed proposals due to duplicate transaction ID.|Node, channel, chaincode| +|EndorserEndorsementFailures|Yes|EndorserEndorsementFailuresDisplayName|Count|Average|The number of failed endorsements.|Node, channel, chaincode, chaincodeerror| +|EndorserProposalAclFailures|Yes|EndorserProposalAclFailuresDisplayName|Count|Average|The number of proposals that failed ACL checks.|Node, channel, chaincode| +|EndorserProposalSimulationFailures|Yes|EndorserProposalSimulationFailuresDisplayName|Count|Average|The number of failed proposal simulations.|Node, channel, chaincode| +|EndorserProposalsReceived|Yes|EndorserProposalsReceivedDisplayName|Count|Average|The number of proposals received.|Node| +|EndorserProposalValidationFailures|Yes|EndorserProposalValidationFailuresDisplayName|Count|Average|The number of proposals that have failed initial validation.|Node| +|EndorserSuccessfulProposals|Yes|EndorserSuccessfulProposalsDisplayName|Count|Average|The number of successful proposals.|Node| +|FabricVersion|Yes|FabricVersionDisplayName|Count|Average|The active version of Fabric.|Node, version| +|GossipCommMessagesReceived|Yes|GossipCommMessagesReceivedDisplayName|Count|Average|Number of messages received.|Node| +|GossipCommMessagesSent|Yes|GossipCommMessagesSentDisplayName|Count|Average|Number of messages sent.|Node| +|GossipCommOverflowCount|Yes|GossipCommOverflowCountDisplayName|Count|Average|Number of outgoing queue buffer overflows.|Node| +|GossipLeaderElectionLeader|Yes|GossipLeaderElectionLeaderDisplayName|Count|Average|Peer is leader (1) or follower (0).|Node, channel| +|GossipMembershipTotalPeersKnown|Yes|GossipMembershipTotalPeersKnownDisplayName|Count|Average|Total known peers.|Node, channel| +|GossipPayloadBufferSize|Yes|GossipPayloadBufferSizeDisplayName|Count|Average|Size of the payload buffer.|Node, channel| +|GossipStateHeight|Yes|GossipStateHeightDisplayName|Count|Average|Current ledger height.|Node, channel| +|GrpcCommConnClosed|Yes|GrpcCommConnClosedDisplayName|Count|Average|gRPC connections closed. Open minus closed is the active number of connections.|Node| +|GrpcCommConnOpened|Yes|GrpcCommConnOpenedDisplayName|Count|Average|gRPC connections opened. Open minus closed is the active number of connections.|Node| +|GrpcServerStreamMessagesReceived|Yes|GrpcServerStreamMessagesReceivedDisplayName|Count|Average|The number of stream messages received.|Node, service, method| +|GrpcServerStreamMessagesSent|Yes|GrpcServerStreamMessagesSentDisplayName|Count|Average|The number of stream messages sent.|Node, service, method| +|GrpcServerStreamRequestsCompleted|Yes|GrpcServerStreamRequestsCompletedDisplayName|Count|Average|The number of stream requests completed.|Node, service, method, code| +|GrpcServerUnaryRequestsReceived|Yes|GrpcServerUnaryRequestsReceivedDisplayName|Count|Average|The number of unary requests received.|Node, service, method| +|IOReadBytes|Yes|IO Read Bytes|Bytes|Total|IO Read Bytes|Node| +|IOWriteBytes|Yes|IO Write Bytes|Bytes|Total|IO Write Bytes|Node| +|LedgerBlockchainHeight|Yes|LedgerBlockchainHeightDisplayName|Count|Average|Height of the chain in blocks.|Node, channel| +|LedgerTransactionCount|Yes|LedgerTransactionCountDisplayName|Count|Average|Number of transactions processed.|Node, channel, transaction_type, chaincode, validation_code| +|LoggingEntriesChecked|Yes|LoggingEntriesCheckedDisplayName|Count|Average|Number of log entries checked against the active logging level.|Node, level| +|LoggingEntriesWritten|Yes|LoggingEntriesWrittenDisplayName|Count|Average|Number of log entries that are written.|Node, level| +|MemoryLimit|Yes|Memory Limit|Bytes|Average|Memory Limit|Node| +|MemoryUsage|Yes|Memory Usage|Bytes|Average|Memory Usage|Node| +|MemoryUsagePercentageInDouble|Yes|Memory Usage Percentage|Percent|Average|Memory Usage Percentage|Node| +|PendingTransactions|Yes|Pending Transactions|Count|Average|Pending Transactions|Node| +|ProcessedBlocks|Yes|Processed Blocks|Count|Total|Processed Blocks|Node| +|ProcessedTransactions|Yes|Processed Transactions|Count|Total|Processed Transactions|Node| +|QueuedTransactions|Yes|Queued Transactions|Count|Average|Queued Transactions|Node| +|RequestHandled|Yes|Handled Requests|Count|Total|Handled Requests|Node| +|StorageUsage|Yes|Storage Usage|Bytes|Average|Storage Usage|Node| + + +## Microsoft.BotService/botServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|RequestLatency|Yes|Requests Latencies|Milliseconds|Average|How long it takes to get request response|Operation, Authentication, Protocol, ResourceId, Region| +|RequestsTraffic|Yes|Requests Traffic|Count|Average|Number of requests within a given period of time|Operation, Authentication, Protocol, ResourceId, Region, StatusCode, StatusCodeClass, StatusText| + + +## Microsoft.Cache/redis + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|allcachehits|Yes|Cache Hits (Instance Based)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allcachemisses|Yes|Cache Misses (Instance Based)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allcacheRead|Yes|Cache Read (Instance Based)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allcacheWrite|Yes|Cache Write (Instance Based)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allconnectedclients|Yes|Connected Clients (Instance Based)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allConnectionsClosedPerSecond|Yes|Connections Closed Per Second (Instance Based)|CountPerSecond|Maximum|The number of instantaneous connections closed per second on the cache via port 6379 or 6380 (SSL). For more details, see https://aka.ms/redis/metrics.|ShardId, Primary, Ssl| +|allConnectionsCreatedPerSecond|Yes|Connections Created Per Second (Instance Based)|CountPerSecond|Maximum|The number of instantaneous connections created per second on the cache via port 6379 or 6380 (SSL). For more details, see https://aka.ms/redis/metrics.|ShardId, Primary, Ssl| +|allevictedkeys|Yes|Evicted Keys (Instance Based)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allexpiredkeys|Yes|Expired Keys (Instance Based)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allgetcommands|Yes|Gets (Instance Based)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|alloperationsPerSecond|Yes|Operations Per Second (Instance Based)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allpercentprocessortime|Yes|CPU (Instance Based)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allserverLoad|Yes|Server Load (Instance Based)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allsetcommands|Yes|Sets (Instance Based)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|alltotalcommandsprocessed|Yes|Total Operations (Instance Based)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|alltotalkeys|Yes|Total Keys (Instance Based)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allusedmemory|Yes|Used Memory (Instance Based)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allusedmemorypercentage|Yes|Used Memory Percentage (Instance Based)|Percent|Maximum|The percentage of cache memory used for key/value pairs. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|allusedmemoryRss|Yes|Used Memory RSS (Instance Based)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| +|cachehits|Yes|Cache Hits|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId| +|cachehits0|Yes|Cache Hits (Shard 0)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits1|Yes|Cache Hits (Shard 1)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits2|Yes|Cache Hits (Shard 2)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits3|Yes|Cache Hits (Shard 3)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits4|Yes|Cache Hits (Shard 4)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits5|Yes|Cache Hits (Shard 5)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits6|Yes|Cache Hits (Shard 6)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits7|Yes|Cache Hits (Shard 7)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits8|Yes|Cache Hits (Shard 8)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachehits9|Yes|Cache Hits (Shard 9)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheLatency|Yes|Cache Latency Microseconds (Preview)|Count|Average|The latency to the cache in microseconds. For more details, see https://aka.ms/redis/metrics.|ShardId| +|cachemisses|Yes|Cache Misses|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId| +|cachemisses0|Yes|Cache Misses (Shard 0)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses1|Yes|Cache Misses (Shard 1)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses2|Yes|Cache Misses (Shard 2)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses3|Yes|Cache Misses (Shard 3)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses4|Yes|Cache Misses (Shard 4)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses5|Yes|Cache Misses (Shard 5)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses6|Yes|Cache Misses (Shard 6)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses7|Yes|Cache Misses (Shard 7)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses8|Yes|Cache Misses (Shard 8)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemisses9|Yes|Cache Misses (Shard 9)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cachemissrate|Yes|Cache Miss Rate|Percent|Total|The % of get requests that miss. For more details, see https://aka.ms/redis/metrics.|ShardId| +|cacheRead|Yes|Cache Read|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId| +|cacheRead0|Yes|Cache Read (Shard 0)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead1|Yes|Cache Read (Shard 1)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead2|Yes|Cache Read (Shard 2)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead3|Yes|Cache Read (Shard 3)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead4|Yes|Cache Read (Shard 4)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead5|Yes|Cache Read (Shard 5)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead6|Yes|Cache Read (Shard 6)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead7|Yes|Cache Read (Shard 7)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead8|Yes|Cache Read (Shard 8)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheRead9|Yes|Cache Read (Shard 9)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite|Yes|Cache Write|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId| +|cacheWrite0|Yes|Cache Write (Shard 0)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite1|Yes|Cache Write (Shard 1)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite2|Yes|Cache Write (Shard 2)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite3|Yes|Cache Write (Shard 3)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite4|Yes|Cache Write (Shard 4)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite5|Yes|Cache Write (Shard 5)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite6|Yes|Cache Write (Shard 6)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite7|Yes|Cache Write (Shard 7)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite8|Yes|Cache Write (Shard 8)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|cacheWrite9|Yes|Cache Write (Shard 9)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients|Yes|Connected Clients|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| +|connectedclients0|Yes|Connected Clients (Shard 0)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients1|Yes|Connected Clients (Shard 1)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients2|Yes|Connected Clients (Shard 2)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients3|Yes|Connected Clients (Shard 3)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients4|Yes|Connected Clients (Shard 4)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients5|Yes|Connected Clients (Shard 5)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients6|Yes|Connected Clients (Shard 6)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients7|Yes|Connected Clients (Shard 7)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients8|Yes|Connected Clients (Shard 8)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|connectedclients9|Yes|Connected Clients (Shard 9)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|errors|Yes|Errors|Count|Maximum|The number errors that occurred on the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, ErrorType| +|evictedkeys|Yes|Evicted Keys|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| +|evictedkeys0|Yes|Evicted Keys (Shard 0)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys1|Yes|Evicted Keys (Shard 1)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys2|Yes|Evicted Keys (Shard 2)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys3|Yes|Evicted Keys (Shard 3)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys4|Yes|Evicted Keys (Shard 4)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys5|Yes|Evicted Keys (Shard 5)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys6|Yes|Evicted Keys (Shard 6)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys7|Yes|Evicted Keys (Shard 7)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys8|Yes|Evicted Keys (Shard 8)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|evictedkeys9|Yes|Evicted Keys (Shard 9)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys|Yes|Expired Keys|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| +|expiredkeys0|Yes|Expired Keys (Shard 0)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys1|Yes|Expired Keys (Shard 1)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys2|Yes|Expired Keys (Shard 2)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys3|Yes|Expired Keys (Shard 3)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys4|Yes|Expired Keys (Shard 4)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys5|Yes|Expired Keys (Shard 5)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys6|Yes|Expired Keys (Shard 6)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys7|Yes|Expired Keys (Shard 7)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys8|Yes|Expired Keys (Shard 8)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|expiredkeys9|Yes|Expired Keys (Shard 9)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands|Yes|Gets|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| +|getcommands0|Yes|Gets (Shard 0)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands1|Yes|Gets (Shard 1)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands2|Yes|Gets (Shard 2)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands3|Yes|Gets (Shard 3)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands4|Yes|Gets (Shard 4)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands5|Yes|Gets (Shard 5)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands6|Yes|Gets (Shard 6)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands7|Yes|Gets (Shard 7)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands8|Yes|Gets (Shard 8)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|getcommands9|Yes|Gets (Shard 9)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond|Yes|Operations Per Second|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| +|operationsPerSecond0|Yes|Operations Per Second (Shard 0)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond1|Yes|Operations Per Second (Shard 1)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond2|Yes|Operations Per Second (Shard 2)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond3|Yes|Operations Per Second (Shard 3)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond4|Yes|Operations Per Second (Shard 4)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond5|Yes|Operations Per Second (Shard 5)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond6|Yes|Operations Per Second (Shard 6)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond7|Yes|Operations Per Second (Shard 7)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond8|Yes|Operations Per Second (Shard 8)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|operationsPerSecond9|Yes|Operations Per Second (Shard 9)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime|Yes|CPU|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|ShardId| +|percentProcessorTime0|Yes|CPU (Shard 0)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime1|Yes|CPU (Shard 1)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime2|Yes|CPU (Shard 2)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime3|Yes|CPU (Shard 3)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime4|Yes|CPU (Shard 4)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime5|Yes|CPU (Shard 5)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime6|Yes|CPU (Shard 6)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime7|Yes|CPU (Shard 7)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime8|Yes|CPU (Shard 8)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|percentProcessorTime9|Yes|CPU (Shard 9)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad|Yes|Server Load|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|ShardId| +|serverLoad0|Yes|Server Load (Shard 0)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad1|Yes|Server Load (Shard 1)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad2|Yes|Server Load (Shard 2)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad3|Yes|Server Load (Shard 3)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad4|Yes|Server Load (Shard 4)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad5|Yes|Server Load (Shard 5)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad6|Yes|Server Load (Shard 6)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad7|Yes|Server Load (Shard 7)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad8|Yes|Server Load (Shard 8)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|serverLoad9|Yes|Server Load (Shard 9)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands|Yes|Sets|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| +|setcommands0|Yes|Sets (Shard 0)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands1|Yes|Sets (Shard 1)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands2|Yes|Sets (Shard 2)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands3|Yes|Sets (Shard 3)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands4|Yes|Sets (Shard 4)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands5|Yes|Sets (Shard 5)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands6|Yes|Sets (Shard 6)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands7|Yes|Sets (Shard 7)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands8|Yes|Sets (Shard 8)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|setcommands9|Yes|Sets (Shard 9)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed|Yes|Total Operations|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|ShardId| +|totalcommandsprocessed0|Yes|Total Operations (Shard 0)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed1|Yes|Total Operations (Shard 1)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed2|Yes|Total Operations (Shard 2)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed3|Yes|Total Operations (Shard 3)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed4|Yes|Total Operations (Shard 4)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed5|Yes|Total Operations (Shard 5)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed6|Yes|Total Operations (Shard 6)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed7|Yes|Total Operations (Shard 7)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed8|Yes|Total Operations (Shard 8)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalcommandsprocessed9|Yes|Total Operations (Shard 9)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys|Yes|Total Keys|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| +|totalkeys0|Yes|Total Keys (Shard 0)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys1|Yes|Total Keys (Shard 1)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys2|Yes|Total Keys (Shard 2)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys3|Yes|Total Keys (Shard 3)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys4|Yes|Total Keys (Shard 4)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys5|Yes|Total Keys (Shard 5)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys6|Yes|Total Keys (Shard 6)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys7|Yes|Total Keys (Shard 7)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys8|Yes|Total Keys (Shard 8)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|totalkeys9|Yes|Total Keys (Shard 9)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory|Yes|Used Memory|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|ShardId| +|usedmemory0|Yes|Used Memory (Shard 0)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory1|Yes|Used Memory (Shard 1)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory2|Yes|Used Memory (Shard 2)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory3|Yes|Used Memory (Shard 3)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory4|Yes|Used Memory (Shard 4)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory5|Yes|Used Memory (Shard 5)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory6|Yes|Used Memory (Shard 6)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory7|Yes|Used Memory (Shard 7)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory8|Yes|Used Memory (Shard 8)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemory9|Yes|Used Memory (Shard 9)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemorypercentage|Yes|Used Memory Percentage|Percent|Maximum|The percentage of cache memory used for key/value pairs. For more details, see https://aka.ms/redis/metrics.|ShardId| +|usedmemoryRss|Yes|Used Memory RSS|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|ShardId| +|usedmemoryRss0|Yes|Used Memory RSS (Shard 0)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss1|Yes|Used Memory RSS (Shard 1)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss2|Yes|Used Memory RSS (Shard 2)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss3|Yes|Used Memory RSS (Shard 3)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss4|Yes|Used Memory RSS (Shard 4)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss5|Yes|Used Memory RSS (Shard 5)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss6|Yes|Used Memory RSS (Shard 6)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss7|Yes|Used Memory RSS (Shard 7)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss8|Yes|Used Memory RSS (Shard 8)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| +|usedmemoryRss9|Yes|Used Memory RSS (Shard 9)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| + + +## Microsoft.Cache/redisEnterprise + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|cachehits|Yes|Cache Hits|Count|Total||No Dimensions| +|cacheLatency|Yes|Cache Latency Microseconds (Preview)|Count|Average||InstanceId| +|cachemisses|Yes|Cache Misses|Count|Total||InstanceId| +|cacheRead|Yes|Cache Read|BytesPerSecond|Maximum||InstanceId| +|cacheWrite|Yes|Cache Write|BytesPerSecond|Maximum||InstanceId| +|connectedclients|Yes|Connected Clients|Count|Maximum||InstanceId| +|errors|Yes|Errors|Count|Maximum||InstanceId, ErrorType| +|evictedkeys|Yes|Evicted Keys|Count|Total||No Dimensions| +|expiredkeys|Yes|Expired Keys|Count|Total||No Dimensions| +|geoReplicationHealthy|Yes|Geo Replication Healthy|Count|Maximum||No Dimensions| +|getcommands|Yes|Gets|Count|Total||No Dimensions| +|operationsPerSecond|Yes|Operations Per Second|Count|Maximum||No Dimensions| +|percentProcessorTime|Yes|CPU|Percent|Maximum||InstanceId| +|serverLoad|Yes|Server Load|Percent|Maximum||No Dimensions| +|setcommands|Yes|Sets|Count|Total||No Dimensions| +|totalcommandsprocessed|Yes|Total Operations|Count|Total||No Dimensions| +|totalkeys|Yes|Total Keys|Count|Maximum||No Dimensions| +|usedmemory|Yes|Used Memory|Bytes|Maximum||No Dimensions| +|usedmemorypercentage|Yes|Used Memory Percentage|Percent|Maximum||InstanceId| + + +## Microsoft.Cdn/cdnwebapplicationfirewallpolicies + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|WebApplicationFirewallRequestCount|Yes|Web Application Firewall Request Count|Count|Total|The number of client requests processed by the Web Application Firewall|PolicyName, RuleName, Action| + + +## Microsoft.Cdn/profiles + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ByteHitRatio|Yes|Byte Hit Ratio|Percent|Average|This is the ratio of the total bytes served from the cache compared to the total response bytes|Endpoint| +|OriginHealthPercentage|Yes|Origin Health Percentage|Percent|Average|The percentage of successful health probes from AFDX to backends.|Origin, OriginGroup| +|OriginLatency|Yes|Origin Latency|MilliSeconds|Average|The time calculated from when the request was sent by AFDX edge to the backend until AFDX received the last response byte from the backend.|Origin, Endpoint| +|OriginRequestCount|Yes|Origin Request Count|Count|Total|The number of requests sent from AFDX to origin.|HttpStatus, HttpStatusGroup, Origin, Endpoint| +|Percentage4XX|Yes|Percentage of 4XX|Percent|Average|The percentage of all the client requests for which the response status code is 4XX|Endpoint, ClientRegion, ClientCountry| +|Percentage5XX|Yes|Percentage of 5XX|Percent|Average|The percentage of all the client requests for which the response status code is 5XX|Endpoint, ClientRegion, ClientCountry| +|RequestCount|Yes|Request Count|Count|Total|The number of client requests served by the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| +|RequestSize|Yes|Request Size|Bytes|Total|The number of bytes sent as requests from clients to AFDX.|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| +|ResponseSize|Yes|Response Size|Bytes|Total|The number of bytes sent as responses from HTTP/S proxy to clients|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| +|TotalLatency|Yes|Total Latency|MilliSeconds|Average|The time calculated from when the client request was received by the HTTP/S proxy until the client acknowledged the last response byte from the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| +|WebApplicationFirewallRequestCount|Yes|Web Application Firewall Request Count|Count|Total|The number of client requests processed by the Web Application Firewall|PolicyName, RuleName, Action| + + +## Microsoft.ClassicCompute/domainNames/slots/roles + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Disk Read Bytes/Sec|No|Disk Read|BytesPerSecond|Average|Average bytes read from disk during monitoring period.|RoleInstanceId| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS.|RoleInstanceId| +|Disk Write Bytes/Sec|No|Disk Write|BytesPerSecond|Average|Average bytes written to disk during monitoring period.|RoleInstanceId| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS.|RoleInstanceId| +|Network In|Yes|Network In|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic).|RoleInstanceId| +|Network Out|Yes|Network Out|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic).|RoleInstanceId| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s).|RoleInstanceId| + + +## Microsoft.ClassicCompute/virtualMachines + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Disk Read Bytes/Sec|No|Disk Read|BytesPerSecond|Average|Average bytes read from disk during monitoring period.|No Dimensions| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS.|No Dimensions| +|Disk Write Bytes/Sec|No|Disk Write|BytesPerSecond|Average|Average bytes written to disk during monitoring period.|No Dimensions| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS.|No Dimensions| +|Network In|Yes|Network In|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic).|No Dimensions| +|Network Out|Yes|Network Out|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic).|No Dimensions| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s).|No Dimensions| + + +## Microsoft.ClassicStorage/storageAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| +|UsedCapacity|Yes|Used capacity|Bytes|Average|Account used capacity|No Dimensions| + + +## Microsoft.ClassicStorage/storageAccounts/blobServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|BlobCapacity|No|Blob Capacity|Bytes|Average|The amount of storage used by the storage account's Blob service in bytes.|BlobType, Tier| +|BlobCount|No|Blob Count|Count|Average|The number of Blob in the storage account's Blob service.|BlobType, Tier| +|ContainerCount|Yes|Blob Container Count|Count|Average|The number of containers in the storage account's Blob service.|No Dimensions| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|IndexCapacity|No|Index Capacity|Bytes|Average|The amount of storage used by ADLS Gen2 (Hierarchical) Index in bytes.|No Dimensions| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| + + +## Microsoft.ClassicStorage/storageAccounts/fileServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication, FileShare| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication, FileShare| +|FileCapacity|No|File Capacity|Bytes|Average|The amount of storage used by the storage account's File service in bytes.|FileShare| +|FileCount|No|File Count|Count|Average|The number of files in the storage account's File service.|FileShare| +|FileShareCount|No|File Share Count|Count|Average|The number of file shares in the storage account's File service.|No Dimensions| +|FileShareQuota|No|File share quota size|Bytes|Average|The upper limit on the amount of storage that can be used by Azure Files Service in bytes.|FileShare| +|FileShareSnapshotCount|No|File Share Snapshot Count|Count|Average|The number of snapshots present on the share in storage account's Files Service.|FileShare| +|FileShareSnapshotSize|No|File Share Snapshot Size|Bytes|Average|The amount of storage used by the snapshots in storage account's File service in bytes.|FileShare| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication, FileShare| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication, FileShare| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication, FileShare| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication, FileShare| + + +## Microsoft.ClassicStorage/storageAccounts/queueServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|QueueCapacity|Yes|Queue Capacity|Bytes|Average|The amount of storage used by the storage account's Queue service in bytes.|No Dimensions| +|QueueCount|Yes|Queue Count|Count|Average|The number of queue in the storage account's Queue service.|No Dimensions| +|QueueMessageCount|Yes|Queue Message Count|Count|Average|The approximate number of queue messages in the storage account's Queue service.|No Dimensions| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| + + +## Microsoft.ClassicStorage/storageAccounts/tableServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|TableCapacity|Yes|Table Capacity|Bytes|Average|The amount of storage used by the storage account's Table service in bytes.|No Dimensions| +|TableCount|Yes|Table Count|Count|Average|The number of tables in the storage account's Table service.|No Dimensions| +|TableEntityCount|Yes|Table Entity Count|Count|Average|The number of table entities in the storage account's Table service.|No Dimensions| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| + + +## Microsoft.Cloudtest/hostedpools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Allocated|Yes|Allocated|Count|Average|Resources that are allocated|PoolId, SKU, Images, ProviderName| +|AllocationDurationMs|Yes|AllocationDurationMs|Milliseconds|Average|Average time to allocate requests (ms)|PoolId, Type, ResourceRequestType, Image| +|Count|Yes|Count|Count|Count|Number of requests in last dump|RequestType, Status, PoolId, Type, ErrorCode, FailureStage| +|NotReady|Yes|NotReady|Count|Average|Resources that are not ready to be used|PoolId, SKU, Images, ProviderName| +|PendingReimage|Yes|PendingReimage|Count|Average|Resources that are pending reimage|PoolId, SKU, Images, ProviderName| +|PendingReturn|Yes|PendingReturn|Count|Average|Resources that are pending return|PoolId, SKU, Images, ProviderName| +|Provisioned|Yes|Provisioned|Count|Average|Resources that are provisioned|PoolId, SKU, Images, ProviderName| +|Ready|Yes|Ready|Count|Average|Resources that are ready to be used|PoolId, SKU, Images, ProviderName| +|Starting|Yes|Starting|Count|Average|Resources that are starting|PoolId, SKU, Images, ProviderName| +|Total|Yes|Total|Count|Average|Total Number of Resources|PoolId, SKU, Images, ProviderName| + + +## Microsoft.Cloudtest/pools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Allocated|Yes|Allocated|Count|Average|Resources that are allocated|PoolId, SKU, Images, ProviderName| +|AllocationDurationMs|Yes|AllocationDurationMs|Milliseconds|Average|Average time to allocate requests (ms)|PoolId, Type, ResourceRequestType, Image| +|Count|Yes|Count|Count|Count|Number of requests in last dump|RequestType, Status, PoolId, Type, ErrorCode, FailureStage| +|NotReady|Yes|NotReady|Count|Average|Resources that are not ready to be used|PoolId, SKU, Images, ProviderName| +|PendingReimage|Yes|PendingReimage|Count|Average|Resources that are pending reimage|PoolId, SKU, Images, ProviderName| +|PendingReturn|Yes|PendingReturn|Count|Average|Resources that are pending return|PoolId, SKU, Images, ProviderName| +|Provisioned|Yes|Provisioned|Count|Average|Resources that are provisioned|PoolId, SKU, Images, ProviderName| +|Ready|Yes|Ready|Count|Average|Resources that are ready to be used|PoolId, SKU, Images, ProviderName| +|Starting|Yes|Starting|Count|Average|Resources that are starting|PoolId, SKU, Images, ProviderName| +|Total|Yes|Total|Count|Average|Total Number of Resources|PoolId, SKU, Images, ProviderName| + + +## Microsoft.ClusterStor/nodes + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|TotalCapacityAvailable|No|TotalCapacityAvailable|Bytes|Average|The total capacity available in lustre file system|filesystem_name, category, system| +|TotalCapacityUsed|No|TotalCapacityUsed|Bytes|Average|The total capacity used in lustre file system|filesystem_name, category, system| +|TotalRead|No|TotalRead|BytesPerSecond|Average|The total lustre file system read per second|filesystem_name, category, system| +|TotalWrite|No|TotalWrite|BytesPerSecond|Average|The total lustre file system writes per second|filesystem_name, category, system| + + +## Microsoft.CognitiveServices/accounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BlockedCalls|Yes|Blocked Calls|Count|Total|Number of calls that exceeded rate or quota limit.|ApiName, OperationName, Region| +|CharactersTrained|Yes|Characters Trained|Count|Total|Total number of characters trained.|ApiName, OperationName, Region| +|CharactersTranslated|Yes|Characters Translated|Count|Total|Total number of characters in incoming text request.|ApiName, OperationName, Region| +|ClientErrors|Yes|Client Errors|Count|Total|Number of calls with client side error (HTTP response code 4xx).|ApiName, OperationName, Region| +|DataIn|Yes|Data In|Bytes|Total|Size of incoming data in bytes.|ApiName, OperationName, Region| +|DataOut|Yes|Data Out|Bytes|Total|Size of outgoing data in bytes.|ApiName, OperationName, Region| +|Latency|Yes|Latency|MilliSeconds|Average|Latency in milliseconds.|ApiName, OperationName, Region| +|LearnedEvents|Yes|Learned Events|Count|Total|Number of Learned Events.|IsMatchBaseline, Mode, RunId| +|MatchedRewards|Yes|Matched Rewards|Count|Total| Number of Matched Rewards.|Mode, RunId| +|ObservedRewards|Yes|Observed Rewards|Count|Total|Number of Observed Rewards.|Mode, RunId| +|ProcessedCharacters|Yes|Processed Characters|Count|Total|Number of Characters.|ApiName, FeatureName, UsageChannel, Region| +|ProcessedTextRecords|Yes|Processed Text Records|Count|Total|Count of Text Records.|ApiName, FeatureName, UsageChannel, Region| +|ServerErrors|Yes|Server Errors|Count|Total|Number of calls with service internal error (HTTP response code 5xx).|ApiName, OperationName, Region| +|SpeechSessionDuration|Yes|Speech Session Duration|Seconds|Total|Total duration of speech session in seconds.|ApiName, OperationName, Region| +|SuccessfulCalls|Yes|Successful Calls|Count|Total|Number of successful calls.|ApiName, OperationName, Region| +|TotalCalls|Yes|Total Calls|Count|Total|Total number of calls.|ApiName, OperationName, Region| +|TotalErrors|Yes|Total Errors|Count|Total|Total number of calls with error response (HTTP response code 4xx or 5xx).|ApiName, OperationName, Region| +|TotalTokenCalls|Yes|Total Token Calls|Count|Total|Total number of token calls.|ApiName, OperationName, Region| +|TotalTransactions|Yes|Total Transactions|Count|Total|Total number of transactions.|No Dimensions| + + +## Microsoft.Communication/CommunicationServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|APIRequestAuthentication|No|Authentication API Requests|Count|Count|Count of all requests against the Communication Services Authentication endpoint.|Operation, StatusCode, StatusCodeClass| +|APIRequestCallRecording|Yes|Call Recording API Requests|Count|Count|Count of all requests against the Communication Services Call Recording endpoint.|Operation, StatusCode, StatusCodeClass| +|APIRequestChat|Yes|Chat API Requests|Count|Count|Count of all requests against the Communication Services Chat endpoint.|Operation, StatusCode, StatusCodeClass| +|APIRequestNetworkTraversal|No|Network Traversal API Requests|Count|Count|Count of all requests against the Communication Services Network Traversal endpoint.|Operation, StatusCode, StatusCodeClass| +|ApiRequests|Yes|Email Service API Requests|Count|Count|Email Communication Services API request metric for the data-plane API surface.|Operation, StatusCode, StatusCodeClass, StatusCodeReason| +|APIRequestSMS|Yes|SMS API Requests|Count|Count|Count of all requests against the Communication Services SMS endpoint.|Operation, StatusCode, StatusCodeClass, ErrorCode, NumberType| +|DeliveryStatusUpdate|Yes|Email Service Delivery Status Updates|Count|Count|Email Communication Services message delivery results.|MessageStatus, Result| +|UserEngagement|Yes|Email Service User Engagement|Count|Count|Email Communication Services user engagement metrics.|EngagementType| + + +## Microsoft.Compute/cloudServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|RoleInstanceId, RoleId| +|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|RoleInstanceId, RoleId| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|RoleInstanceId, RoleId| +|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|RoleInstanceId, RoleId| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|RoleInstanceId, RoleId| +|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|RoleInstanceId, RoleId| +|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|RoleInstanceId, RoleId| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|RoleInstanceId, RoleId| + + +## Microsoft.Compute/cloudServices/roles + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|RoleInstanceId, RoleId| +|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|RoleInstanceId, RoleId| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|RoleInstanceId, RoleId| +|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|RoleInstanceId, RoleId| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|RoleInstanceId, RoleId| +|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|RoleInstanceId, RoleId| +|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|RoleInstanceId, RoleId| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|RoleInstanceId, RoleId| + + +## microsoft.compute/disks + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Composite Disk Read Bytes/sec|No|Disk Read Bytes/sec(Preview)|BytesPerSecond|Average|Bytes/sec read from disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| +|Composite Disk Read Operations/sec|No|Disk Read Operations/sec(Preview)|CountPerSecond|Average|Number of read IOs performed on a disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| +|Composite Disk Write Bytes/sec|No|Disk Write Bytes/sec(Preview)|BytesPerSecond|Average|Bytes/sec written to disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| +|Composite Disk Write Operations/sec|No|Disk Write Operations/sec(Preview)|CountPerSecond|Average|Number of Write IOs performed on a disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| +|DiskPaidBurstIOPS|No|Disk On-demand Burst Operations(Preview)|Count|Average|The accumulated operations of burst transactions used for disks with on-demand burst enabled. Emitted on an hour interval|No Dimensions| + + +## Microsoft.Compute/virtualMachines + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|No Dimensions| +|CPU Credits Consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the Virtual Machine. Only available on B-series burstable VMs|No Dimensions| +|CPU Credits Remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst. Only available on B-series burstable VMs|No Dimensions| +|Data Disk Bandwidth Consumed Percentage|Yes|Data Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of data disk bandwidth consumed per minute|LUN| +|Data Disk IOPS Consumed Percentage|Yes|Data Disk IOPS Consumed Percentage|Percent|Average|Percentage of data disk I/Os consumed per minute|LUN| +|Data Disk Max Burst Bandwidth|Yes|Data Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput Data Disk can achieve with bursting|LUN| +|Data Disk Max Burst IOPS|Yes|Data Disk Max Burst IOPS|Count|Average|Maximum IOPS Data Disk can achieve with bursting|LUN| +|Data Disk Queue Depth|Yes|Data Disk Queue Depth|Count|Average|Data Disk Queue Depth(or Queue Length)|LUN| +|Data Disk Read Bytes/sec|Yes|Data Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period|LUN| +|Data Disk Read Operations/Sec|Yes|Data Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period|LUN| +|Data Disk Target Bandwidth|Yes|Data Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput Data Disk can achieve without bursting|LUN| +|Data Disk Target IOPS|Yes|Data Disk Target IOPS|Count|Average|Baseline IOPS Data Disk can achieve without bursting|LUN| +|Data Disk Used Burst BPS Credits Percentage|Yes|Data Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of Data Disk burst bandwidth credits used so far|LUN| +|Data Disk Used Burst IO Credits Percentage|Yes|Data Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of Data Disk burst I/O credits used so far|LUN| +|Data Disk Write Bytes/sec|Yes|Data Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period|LUN| +|Data Disk Write Operations/Sec|Yes|Data Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period|LUN| +|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|No Dimensions| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|No Dimensions| +|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|No Dimensions| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|No Dimensions| +|Inbound Flows|Yes|Inbound Flows|Count|Average|Inbound Flows are number of current flows in the inbound direction (traffic going into the VM)|No Dimensions| +|Inbound Flows Maximum Creation Rate|Yes|Inbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of inbound flows (traffic going into the VM)|No Dimensions| +|Network In|Yes|Network In Billable (Deprecated)|Bytes|Total|The number of billable bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic) (Deprecated)|No Dimensions| +|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|No Dimensions| +|Network Out|Yes|Network Out Billable (Deprecated)|Bytes|Total|The number of billable bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic) (Deprecated)|No Dimensions| +|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|No Dimensions| +|OS Disk Bandwidth Consumed Percentage|Yes|OS Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of operating system disk bandwidth consumed per minute|LUN| +|OS Disk IOPS Consumed Percentage|Yes|OS Disk IOPS Consumed Percentage|Percent|Average|Percentage of operating system disk I/Os consumed per minute|LUN| +|OS Disk Max Burst Bandwidth|Yes|OS Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput OS Disk can achieve with bursting|LUN| +|OS Disk Max Burst IOPS|Yes|OS Disk Max Burst IOPS|Count|Average|Maximum IOPS OS Disk can achieve with bursting|LUN| +|OS Disk Queue Depth|Yes|OS Disk Queue Depth|Count|Average|OS Disk Queue Depth(or Queue Length)|No Dimensions| +|OS Disk Read Bytes/sec|Yes|OS Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period for OS disk|No Dimensions| +|OS Disk Read Operations/Sec|Yes|OS Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period for OS disk|No Dimensions| +|OS Disk Target Bandwidth|Yes|OS Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput OS Disk can achieve without bursting|LUN| +|OS Disk Target IOPS|Yes|OS Disk Target IOPS|Count|Average|Baseline IOPS OS Disk can achieve without bursting|LUN| +|OS Disk Used Burst BPS Credits Percentage|Yes|OS Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of OS Disk burst bandwidth credits used so far|LUN| +|OS Disk Used Burst IO Credits Percentage|Yes|OS Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of OS Disk burst I/O credits used so far|LUN| +|OS Disk Write Bytes/sec|Yes|OS Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period for OS disk|No Dimensions| +|OS Disk Write Operations/Sec|Yes|OS Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period for OS disk|No Dimensions| +|Outbound Flows|Yes|Outbound Flows|Count|Average|Outbound Flows are number of current flows in the outbound direction (traffic going out of the VM)|No Dimensions| +|Outbound Flows Maximum Creation Rate|Yes|Outbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of outbound flows (traffic going out of the VM)|No Dimensions| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|No Dimensions| +|Premium Data Disk Cache Read Hit|Yes|Premium Data Disk Cache Read Hit|Percent|Average|Premium Data Disk Cache Read Hit|LUN| +|Premium Data Disk Cache Read Miss|Yes|Premium Data Disk Cache Read Miss|Percent|Average|Premium Data Disk Cache Read Miss|LUN| +|Premium OS Disk Cache Read Hit|Yes|Premium OS Disk Cache Read Hit|Percent|Average|Premium OS Disk Cache Read Hit|No Dimensions| +|Premium OS Disk Cache Read Miss|Yes|Premium OS Disk Cache Read Miss|Percent|Average|Premium OS Disk Cache Read Miss|No Dimensions| +|VM Cached Bandwidth Consumed Percentage|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|No Dimensions| +|VM Cached IOPS Consumed Percentage|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|No Dimensions| +|VM Uncached Bandwidth Consumed Percentage|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|No Dimensions| +|VM Uncached IOPS Consumed Percentage|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|No Dimensions| + + +## Microsoft.Compute/virtualMachineScaleSets + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|VMName| +|CPU Credits Consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the Virtual Machine. Only available on B-series burstable VMs|No Dimensions| +|CPU Credits Remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst. Only available on B-series burstable VMs|No Dimensions| +|Data Disk Bandwidth Consumed Percentage|Yes|Data Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of data disk bandwidth consumed per minute|LUN, VMName| +|Data Disk IOPS Consumed Percentage|Yes|Data Disk IOPS Consumed Percentage|Percent|Average|Percentage of data disk I/Os consumed per minute|LUN, VMName| +|Data Disk Max Burst Bandwidth|Yes|Data Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput Data Disk can achieve with bursting|LUN, VMName| +|Data Disk Max Burst IOPS|Yes|Data Disk Max Burst IOPS|Count|Average|Maximum IOPS Data Disk can achieve with bursting|LUN, VMName| +|Data Disk Queue Depth|Yes|Data Disk Queue Depth|Count|Average|Data Disk Queue Depth(or Queue Length)|LUN, VMName| +|Data Disk Read Bytes/sec|Yes|Data Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period|LUN, VMName| +|Data Disk Read Operations/Sec|Yes|Data Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period|LUN, VMName| +|Data Disk Target Bandwidth|Yes|Data Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput Data Disk can achieve without bursting|LUN, VMName| +|Data Disk Target IOPS|Yes|Data Disk Target IOPS|Count|Average|Baseline IOPS Data Disk can achieve without bursting|LUN, VMName| +|Data Disk Used Burst BPS Credits Percentage|Yes|Data Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of Data Disk burst bandwidth credits used so far|LUN, VMName| +|Data Disk Used Burst IO Credits Percentage|Yes|Data Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of Data Disk burst I/O credits used so far|LUN, VMName| +|Data Disk Write Bytes/sec|Yes|Data Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period|LUN, VMName| +|Data Disk Write Operations/Sec|Yes|Data Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period|LUN, VMName| +|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|VMName| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|VMName| +|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|VMName| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|VMName| +|Inbound Flows|Yes|Inbound Flows|Count|Average|Inbound Flows are number of current flows in the inbound direction (traffic going into the VM)|VMName| +|Inbound Flows Maximum Creation Rate|Yes|Inbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of inbound flows (traffic going into the VM)|VMName| +|Network In|Yes|Network In Billable (Deprecated)|Bytes|Total|The number of billable bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic) (Deprecated)|VMName| +|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|VMName| +|Network Out|Yes|Network Out Billable (Deprecated)|Bytes|Total|The number of billable bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic) (Deprecated)|VMName| +|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|VMName| +|OS Disk Bandwidth Consumed Percentage|Yes|OS Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of operating system disk bandwidth consumed per minute|LUN, VMName| +|OS Disk IOPS Consumed Percentage|Yes|OS Disk IOPS Consumed Percentage|Percent|Average|Percentage of operating system disk I/Os consumed per minute|LUN, VMName| +|OS Disk Max Burst Bandwidth|Yes|OS Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput OS Disk can achieve with bursting|LUN, VMName| +|OS Disk Max Burst IOPS|Yes|OS Disk Max Burst IOPS|Count|Average|Maximum IOPS OS Disk can achieve with bursting|LUN, VMName| +|OS Disk Queue Depth|Yes|OS Disk Queue Depth|Count|Average|OS Disk Queue Depth(or Queue Length)|VMName| +|OS Disk Read Bytes/sec|Yes|OS Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period for OS disk|VMName| +|OS Disk Read Operations/Sec|Yes|OS Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period for OS disk|VMName| +|OS Disk Target Bandwidth|Yes|OS Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput OS Disk can achieve without bursting|LUN, VMName| +|OS Disk Target IOPS|Yes|OS Disk Target IOPS|Count|Average|Baseline IOPS OS Disk can achieve without bursting|LUN, VMName| +|OS Disk Used Burst BPS Credits Percentage|Yes|OS Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of OS Disk burst bandwidth credits used so far|LUN, VMName| +|OS Disk Used Burst IO Credits Percentage|Yes|OS Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of OS Disk burst I/O credits used so far|LUN, VMName| +|OS Disk Write Bytes/sec|Yes|OS Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period for OS disk|VMName| +|OS Disk Write Operations/Sec|Yes|OS Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period for OS disk|VMName| +|Outbound Flows|Yes|Outbound Flows|Count|Average|Outbound Flows are number of current flows in the outbound direction (traffic going out of the VM)|VMName| +|Outbound Flows Maximum Creation Rate|Yes|Outbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of outbound flows (traffic going out of the VM)|VMName| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|VMName| +|Premium Data Disk Cache Read Hit|Yes|Premium Data Disk Cache Read Hit|Percent|Average|Premium Data Disk Cache Read Hit|LUN, VMName| +|Premium Data Disk Cache Read Miss|Yes|Premium Data Disk Cache Read Miss|Percent|Average|Premium Data Disk Cache Read Miss|LUN, VMName| +|Premium OS Disk Cache Read Hit|Yes|Premium OS Disk Cache Read Hit|Percent|Average|Premium OS Disk Cache Read Hit|VMName| +|Premium OS Disk Cache Read Miss|Yes|Premium OS Disk Cache Read Miss|Percent|Average|Premium OS Disk Cache Read Miss|VMName| +|VM Cached Bandwidth Consumed Percentage|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|VMName| +|VM Cached IOPS Consumed Percentage|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|VMName| +|VM Uncached Bandwidth Consumed Percentage|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|VMName| +|VM Uncached IOPS Consumed Percentage|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|VMName| + + +## Microsoft.Compute/virtualMachineScaleSets/virtualMachines + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|No Dimensions| +|CPU Credits Consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the Virtual Machine. Only available on B-series burstable VMs|No Dimensions| +|CPU Credits Remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst. Only available on B-series burstable VMs|No Dimensions| +|Data Disk Bandwidth Consumed Percentage|Yes|Data Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of data disk bandwidth consumed per minute|LUN| +|Data Disk IOPS Consumed Percentage|Yes|Data Disk IOPS Consumed Percentage|Percent|Average|Percentage of data disk I/Os consumed per minute|LUN| +|Data Disk Max Burst Bandwidth|Yes|Data Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput Data Disk can achieve with bursting|LUN| +|Data Disk Max Burst IOPS|Yes|Data Disk Max Burst IOPS|Count|Average|Maximum IOPS Data Disk can achieve with bursting|LUN| +|Data Disk Queue Depth|Yes|Data Disk Queue Depth|Count|Average|Data Disk Queue Depth(or Queue Length)|LUN| +|Data Disk Read Bytes/sec|Yes|Data Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period|LUN| +|Data Disk Read Operations/Sec|Yes|Data Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period|LUN| +|Data Disk Target Bandwidth|Yes|Data Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput Data Disk can achieve without bursting|LUN| +|Data Disk Target IOPS|Yes|Data Disk Target IOPS|Count|Average|Baseline IOPS Data Disk can achieve without bursting|LUN| +|Data Disk Used Burst BPS Credits Percentage|Yes|Data Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of Data Disk burst bandwidth credits used so far|LUN| +|Data Disk Used Burst IO Credits Percentage|Yes|Data Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of Data Disk burst I/O credits used so far|LUN| +|Data Disk Write Bytes/sec|Yes|Data Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period|LUN| +|Data Disk Write Operations/Sec|Yes|Data Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period|LUN| +|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|No Dimensions| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|No Dimensions| +|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|No Dimensions| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|No Dimensions| +|Inbound Flows|Yes|Inbound Flows|Count|Average|Inbound Flows are number of current flows in the inbound direction (traffic going into the VM)|No Dimensions| +|Inbound Flows Maximum Creation Rate|Yes|Inbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of inbound flows (traffic going into the VM)|No Dimensions| +|Network In|Yes|Network In Billable (Deprecated)|Bytes|Total|The number of billable bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic) (Deprecated)|No Dimensions| +|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|No Dimensions| +|Network Out|Yes|Network Out Billable (Deprecated)|Bytes|Total|The number of billable bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic) (Deprecated)|No Dimensions| +|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|No Dimensions| +|OS Disk Bandwidth Consumed Percentage|Yes|OS Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of operating system disk bandwidth consumed per minute|LUN| +|OS Disk IOPS Consumed Percentage|Yes|OS Disk IOPS Consumed Percentage|Percent|Average|Percentage of operating system disk I/Os consumed per minute|LUN| +|OS Disk Max Burst Bandwidth|Yes|OS Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput OS Disk can achieve with bursting|LUN| +|OS Disk Max Burst IOPS|Yes|OS Disk Max Burst IOPS|Count|Average|Maximum IOPS OS Disk can achieve with bursting|LUN| +|OS Disk Queue Depth|Yes|OS Disk Queue Depth|Count|Average|OS Disk Queue Depth(or Queue Length)|No Dimensions| +|OS Disk Read Bytes/sec|Yes|OS Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period for OS disk|No Dimensions| +|OS Disk Read Operations/Sec|Yes|OS Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period for OS disk|No Dimensions| +|OS Disk Target Bandwidth|Yes|OS Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput OS Disk can achieve without bursting|LUN| +|OS Disk Target IOPS|Yes|OS Disk Target IOPS|Count|Average|Baseline IOPS OS Disk can achieve without bursting|LUN| +|OS Disk Used Burst BPS Credits Percentage|Yes|OS Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of OS Disk burst bandwidth credits used so far|LUN| +|OS Disk Used Burst IO Credits Percentage|Yes|OS Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of OS Disk burst I/O credits used so far|LUN| +|OS Disk Write Bytes/sec|Yes|OS Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period for OS disk|No Dimensions| +|OS Disk Write Operations/Sec|Yes|OS Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period for OS disk|No Dimensions| +|Outbound Flows|Yes|Outbound Flows|Count|Average|Outbound Flows are number of current flows in the outbound direction (traffic going out of the VM)|No Dimensions| +|Outbound Flows Maximum Creation Rate|Yes|Outbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of outbound flows (traffic going out of the VM)|No Dimensions| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|No Dimensions| +|Premium Data Disk Cache Read Hit|Yes|Premium Data Disk Cache Read Hit|Percent|Average|Premium Data Disk Cache Read Hit|LUN| +|Premium Data Disk Cache Read Miss|Yes|Premium Data Disk Cache Read Miss|Percent|Average|Premium Data Disk Cache Read Miss|LUN| +|Premium OS Disk Cache Read Hit|Yes|Premium OS Disk Cache Read Hit|Percent|Average|Premium OS Disk Cache Read Hit|No Dimensions| +|Premium OS Disk Cache Read Miss|Yes|Premium OS Disk Cache Read Miss|Percent|Average|Premium OS Disk Cache Read Miss|No Dimensions| +|VM Cached Bandwidth Consumed Percentage|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|No Dimensions| +|VM Cached IOPS Consumed Percentage|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|No Dimensions| +|VM Uncached Bandwidth Consumed Percentage|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|No Dimensions| +|VM Uncached IOPS Consumed Percentage|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|No Dimensions| + + +## Microsoft.ConnectedCache/CacheNodes + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|egressbps|Yes|Egress Mbps|BitsPerSecond|Average|Egress Throughput|cachenodeid| +|hitRatio|Yes|Cache Efficiency|Percent|Average|Cache Efficiency|cachenodeid| +|hits|Yes|Hits|Count|Count|Count of hits|cachenodeid| +|hitsbps|Yes|Hit Mbps|BitsPerSecond|Average|Hit Throughput|cachenodeid| +|misses|Yes|Misses|Count|Count|Count of misses|cachenodeid| +|missesbps|Yes|Miss Mbps|BitsPerSecond|Average|Miss Throughput|cachenodeid| + + +## Microsoft.ConnectedVehicle/platformAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ClaimsProviderRequestLatency|Yes|Claims request execution time|Milliseconds|Average|The average execution time of requests to the customer claims provider endpoint in milliseconds.|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|ClaimsProviderRequests|Yes|Claims provider requests|Count|Total|Number of requests to claims provider|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|ConnectionServiceRequestRuntime|Yes|Vehicle connection service request execution time|Milliseconds|Average|Vehicle conneciton request execution time average in milliseconds|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|ConnectionServiceRequests|Yes|Vehicle connection service requests|Count|Total|Total number of vehicle connection requests|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|DataPipelineMessageCount|Yes|Data pipeline message count|Count|Total|The total number of messages sent to the MCVP data pipeline for storage.|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|ExtensionInvocationCount|Yes|Extension invocation count|Count|Total|Total number of times an extension was called.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| +|ExtensionInvocationRuntime|Yes|Extension invocation execution time|Milliseconds|Average|Average execution time spent inside an extension in milliseconds.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| +|MessagesInCount|Yes|Messages received count|Count|Total|The total number of vehicle-sourced publishes.|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|MessagesOutCount|Yes|Messages sent count|Count|Total|The total number of cloud-sourced publishes.|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|ProvisionerServiceRequestRuntime|Yes|Vehicle provision execution time|Milliseconds|Average|The average execution time of vehicle provision requests in milliseconds|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|ProvisionerServiceRequests|Yes|Vehicle provision service requests|Count|Total|Total number of vehicle provision requests|VehicleId, DeviceName, IsSuccessful, FailureCategory| +|StateStoreReadRequestLatency|Yes|State store read execution time|Milliseconds|Average|State store read request execution time average in milliseconds.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| +|StateStoreReadRequests|Yes|State store read requests|Count|Total|Number of read requests to state store|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| +|StateStoreWriteRequestLatency|Yes|State store write execution time|Milliseconds|Average|State store write request execution time average in milliseconds.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| +|StateStoreWriteRequests|Yes|State store write requests|Count|Total|Number of write requests to state store|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| + + +## Microsoft.ContainerInstance/containerGroups + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CpuUsage|Yes|CPU Usage|Count|Average|CPU usage on all cores in millicores.|containerName| +|MemoryUsage|Yes|Memory Usage|Bytes|Average|Total memory usage in byte.|containerName| +|NetworkBytesReceivedPerSecond|Yes|Network Bytes Received Per Second|Bytes|Average|The network bytes received per second.|No Dimensions| +|NetworkBytesTransmittedPerSecond|Yes|Network Bytes Transmitted Per Second|Bytes|Average|The network bytes transmitted per second.|No Dimensions| + + +## Microsoft.ContainerRegistry/registries + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AgentPoolCPUTime|Yes|AgentPool CPU Time|Seconds|Total|AgentPool CPU Time in seconds|No Dimensions| +|RunDuration|Yes|Run Duration|Milliseconds|Total|Run Duration in milliseconds|No Dimensions| +|SuccessfulPullCount|Yes|Successful Pull Count|Count|Average|Number of successful image pulls|No Dimensions| +|SuccessfulPushCount|Yes|Successful Push Count|Count|Average|Number of successful image pushes|No Dimensions| +|TotalPullCount|Yes|Total Pull Count|Count|Average|Number of image pulls in total|No Dimensions| +|TotalPushCount|Yes|Total Push Count|Count|Average|Number of image pushes in total|No Dimensions| + + +## Microsoft.ContainerService/managedClusters + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|kube_node_status_allocatable_cpu_cores|No|Total number of available cpu cores in a managed cluster|Count|Average|Total number of available cpu cores in a managed cluster|No Dimensions| +|kube_node_status_allocatable_memory_bytes|No|Total amount of available memory in a managed cluster|Bytes|Average|Total amount of available memory in a managed cluster|No Dimensions| +|kube_node_status_condition|No|Statuses for various node conditions|Count|Average|Statuses for various node conditions|condition, status, status2, node| +|kube_pod_status_phase|No|Number of pods by phase|Count|Average|Number of pods by phase|phase, namespace, pod| +|kube_pod_status_ready|No|Number of pods in Ready state|Count|Average|Number of pods in Ready state|namespace, pod, condition| + + +## Microsoft.CustomProviders/resourceproviders + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|FailedRequests|Yes|Failed Requests|Count|Total|Gets the available logs for Custom Resource Providers|HttpMethod, CallPath, StatusCode| +|SuccessfullRequests|Yes|Successful Requests|Count|Total|Successful requests made by the custom provider|HttpMethod, CallPath, StatusCode| + + +## Microsoft.Dashboard/grafana + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|HttpRequestCount|No|HttpRequestCount|Count|Count|Number of HTTP requests to Azure Managed Grafana server|No Dimensions| + + +## Microsoft.DataBoxEdge/dataBoxEdgeDevices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AvailableCapacity|Yes|Available Capacity|Bytes|Average|The available capacity in bytes during the reporting period.|No Dimensions| +|BytesUploadedToCloud|Yes|Cloud Bytes Uploaded (Device)|Bytes|Average|The total number of bytes that is uploaded to Azure from a device during the reporting period.|No Dimensions| +|BytesUploadedToCloudPerShare|Yes|Cloud Bytes Uploaded (Share)|Bytes|Average|The total number of bytes that is uploaded to Azure from a share during the reporting period.|Share| +|CloudReadThroughput|Yes|Cloud Download Throughput|BytesPerSecond|Average|The cloud download throughput to Azure during the reporting period.|No Dimensions| +|CloudReadThroughputPerShare|Yes|Cloud Download Throughput (Share)|BytesPerSecond|Average|The download throughput to Azure from a share during the reporting period.|Share| +|CloudUploadThroughput|Yes|Cloud Upload Throughput|BytesPerSecond|Average|The cloud upload throughput to Azure during the reporting period.|No Dimensions| +|CloudUploadThroughputPerShare|Yes|Cloud Upload Throughput (Share)|BytesPerSecond|Average|The upload throughput to Azure from a share during the reporting period.|Share| +|HyperVMemoryUtilization|Yes|Edge Compute - Memory Usage|Percent|Average|Amount of RAM in Use|InstanceName| +|HyperVVirtualProcessorUtilization|Yes|Edge Compute - Percentage CPU|Percent|Average|Percent CPU Usage|InstanceName| +|NICReadThroughput|Yes|Read Throughput (Network)|BytesPerSecond|Average|The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.|InstanceName| +|NICWriteThroughput|Yes|Write Throughput (Network)|BytesPerSecond|Average|The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.|InstanceName| +|TotalCapacity|Yes|Total Capacity|Bytes|Average|The total capacity of the device in bytes during the reporting period.|No Dimensions| + + +## Microsoft.DataCollaboration/workspaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ComputationCount|Yes|Created Computations|Count|Maximum|Number of created computations|ComputationName| +|DataAssetCount|Yes|Created Data Assets|Count|Maximum|Number of created data assets|DataAssetName| +|PipelineCount|Yes|Created Pipelines|Count|Maximum|Number of created pipelines|PipelineName| +|ProposalCount|Yes|Created Proposals|Count|Maximum|Number of created proposals|ProposalName| +|ScriptCount|Yes|Created Scripts|Count|Maximum|Number of created scripts|ScriptName| + + +## Microsoft.DataFactory/datafactories + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|FailedRuns|Yes|Failed Runs|Count|Total||pipelineName, activityName| +|SuccessfulRuns|Yes|Successful Runs|Count|Total||pipelineName, activityName| + + +## Microsoft.DataFactory/factories + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActivityCancelledRuns|Yes|Cancelled activity runs metrics|Count|Total||ActivityType, PipelineName, FailureType, Name| +|ActivityFailedRuns|Yes|Failed activity runs metrics|Count|Total||ActivityType, PipelineName, FailureType, Name| +|ActivitySucceededRuns|Yes|Succeeded activity runs metrics|Count|Total||ActivityType, PipelineName, FailureType, Name| +|FactorySizeInGbUnits|Yes|Total factory size (GB unit)|Count|Maximum||No Dimensions| +|IntegrationRuntimeAvailableMemory|Yes|Integration runtime available memory|Bytes|Average||IntegrationRuntimeName, NodeName| +|IntegrationRuntimeAvailableNodeNumber|Yes|Integration runtime available node count|Count|Average||IntegrationRuntimeName| +|IntegrationRuntimeAverageTaskPickupDelay|Yes|Integration runtime queue duration|Seconds|Average||IntegrationRuntimeName| +|IntegrationRuntimeCpuPercentage|Yes|Integration runtime CPU utilization|Percent|Average||IntegrationRuntimeName, NodeName| +|IntegrationRuntimeQueueLength|Yes|Integration runtime queue length|Count|Average||IntegrationRuntimeName| +|MaxAllowedFactorySizeInGbUnits|Yes|Maximum allowed factory size (GB unit)|Count|Maximum||No Dimensions| +|MaxAllowedResourceCount|Yes|Maximum allowed entities count|Count|Maximum||No Dimensions| +|PipelineCancelledRuns|Yes|Cancelled pipeline runs metrics|Count|Total||FailureType, Name| +|PipelineElapsedTimeRuns|Yes|Elapsed Time Pipeline Runs Metrics|Count|Total||RunId, Name| +|PipelineFailedRuns|Yes|Failed pipeline runs metrics|Count|Total||FailureType, Name| +|PipelineSucceededRuns|Yes|Succeeded pipeline runs metrics|Count|Total||FailureType, Name| +|ResourceCount|Yes|Total entities count|Count|Maximum||No Dimensions| +|SSISIntegrationRuntimeStartCancel|Yes|Cancelled SSIS integration runtime start metrics|Count|Total||IntegrationRuntimeName| +|SSISIntegrationRuntimeStartFailed|Yes|Failed SSIS integration runtime start metrics|Count|Total||IntegrationRuntimeName| +|SSISIntegrationRuntimeStartSucceeded|Yes|Succeeded SSIS integration runtime start metrics|Count|Total||IntegrationRuntimeName| +|SSISIntegrationRuntimeStopStuck|Yes|Stuck SSIS integration runtime stop metrics|Count|Total||IntegrationRuntimeName| +|SSISIntegrationRuntimeStopSucceeded|Yes|Succeeded SSIS integration runtime stop metrics|Count|Total||IntegrationRuntimeName| +|SSISPackageExecutionCancel|Yes|Cancelled SSIS package execution metrics|Count|Total||IntegrationRuntimeName| +|SSISPackageExecutionFailed|Yes|Failed SSIS package execution metrics|Count|Total||IntegrationRuntimeName| +|SSISPackageExecutionSucceeded|Yes|Succeeded SSIS package execution metrics|Count|Total||IntegrationRuntimeName| +|TriggerCancelledRuns|Yes|Cancelled trigger runs metrics|Count|Total||Name, FailureType| +|TriggerFailedRuns|Yes|Failed trigger runs metrics|Count|Total||Name, FailureType| +|TriggerSucceededRuns|Yes|Succeeded trigger runs metrics|Count|Total||Name, FailureType| + + +## Microsoft.DataLakeAnalytics/accounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|JobAUEndedCancelled|Yes|Cancelled AU Time|Seconds|Total|Total AU time for cancelled jobs.|No Dimensions| +|JobAUEndedFailure|Yes|Failed AU Time|Seconds|Total|Total AU time for failed jobs.|No Dimensions| +|JobAUEndedSuccess|Yes|Successful AU Time|Seconds|Total|Total AU time for successful jobs.|No Dimensions| +|JobEndedCancelled|Yes|Cancelled Jobs|Count|Total|Count of cancelled jobs.|No Dimensions| +|JobEndedFailure|Yes|Failed Jobs|Count|Total|Count of failed jobs.|No Dimensions| +|JobEndedSuccess|Yes|Successful Jobs|Count|Total|Count of successful jobs.|No Dimensions| +|JobStage|Yes|Jobs in Stage|Count|Total|Number of jobs in each stage.|No Dimensions| + + +## Microsoft.DataLakeStore/accounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|DataRead|Yes|Data Read|Bytes|Total|Total amount of data read from the account.|No Dimensions| +|DataWritten|Yes|Data Written|Bytes|Total|Total amount of data written to the account.|No Dimensions| +|ReadRequests|Yes|Read Requests|Count|Total|Count of data read requests to the account.|No Dimensions| +|TotalStorage|Yes|Total Storage|Bytes|Maximum|Total amount of data stored in the account.|No Dimensions| +|WriteRequests|Yes|Write Requests|Count|Total|Count of data write requests to the account.|No Dimensions| + + +## Microsoft.DataProtection/BackupVaults + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BackupHealthEvent|Yes|Backup Health Events (preview)|Count|Count|The count of health events pertaining to backup job health|dataSourceURL, backupInstanceUrl, dataSourceType, healthStatus, backupInstanceName| +|RestoreHealthEvent|Yes|Restore Health Events (preview)|Count|Count|The count of health events pertaining to restore job health|dataSourceURL, backupInstanceUrl, dataSourceType, healthStatus, backupInstanceName| + + +## Microsoft.DataShare/accounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|FailedShareSubscriptionSynchronizations|Yes|Received Share Failed Snapshots|Count|Count|Number of received share failed snapshots in the account|No Dimensions| +|FailedShareSynchronizations|Yes|Sent Share Failed Snapshots|Count|Count|Number of sent share failed snapshots in the account|No Dimensions| +|ShareCount|Yes|Sent Shares|Count|Maximum|Number of sent shares in the account|ShareName| +|ShareSubscriptionCount|Yes|Received Shares|Count|Maximum|Number of received shares in the account|ShareSubscriptionName| +|SucceededShareSubscriptionSynchronizations|Yes|Received Share Succeeded Snapshots|Count|Count|Number of received share succeeded snapshots in the account|No Dimensions| +|SucceededShareSynchronizations|Yes|Sent Share Succeeded Snapshots|Count|Count|Number of sent share succeeded snapshots in the account|No Dimensions| + + +## Microsoft.DBforMariaDB/servers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| +|backup_storage_used|Yes|Backup Storage used|Bytes|Average|Backup Storage used|No Dimensions| +|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| +|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| +|io_consumption_percent|Yes|IO percent|Percent|Average|IO percent|No Dimensions| +|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| +|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| +|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| +|seconds_behind_master|Yes|Replication lag in seconds|Count|Maximum|Replication lag in seconds|No Dimensions| +|serverlog_storage_limit|Yes|Server Log storage limit|Bytes|Maximum|Server Log storage limit|No Dimensions| +|serverlog_storage_percent|Yes|Server Log storage percent|Percent|Average|Server Log storage percent|No Dimensions| +|serverlog_storage_usage|Yes|Server Log storage used|Bytes|Average|Server Log storage used|No Dimensions| +|storage_limit|Yes|Storage limit|Bytes|Maximum|Storage limit|No Dimensions| +|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| +|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| + + +## Microsoft.DBforMySQL/flexibleServers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|aborted_connections|Yes|Aborted Connections|Count|Total|Aborted Connections|No Dimensions| +|active_connections|Yes|Active Connections|Count|Maximum|Active Connections|No Dimensions| +|backup_storage_used|Yes|Backup Storage Used|Bytes|Maximum|Backup Storage Used|No Dimensions| +|cpu_credits_consumed|Yes|CPU Credits Consumed|Count|Maximum|CPU Credits Consumed|No Dimensions| +|cpu_credits_remaining|Yes|CPU Credits Remaining|Count|Maximum|CPU Credits Remaining|No Dimensions| +|cpu_percent|Yes|Host CPU Percent|Percent|Maximum|Host CPU Percent|No Dimensions| +|io_consumption_percent|Yes|IO Percent|Percent|Maximum|IO Percent|No Dimensions| +|memory_percent|Yes|Host Memory Percent|Percent|Maximum|Host Memory Percent|No Dimensions| +|network_bytes_egress|Yes|Host Network Out|Bytes|Total|Host Network egress in bytes|No Dimensions| +|network_bytes_ingress|Yes|Host Network In|Bytes|Total|Host Network ingress in bytes|No Dimensions| +|Queries|Yes|Queries|Count|Total|Queries|No Dimensions| +|replication_lag|Yes|Replication Lag In Seconds|Seconds|Maximum|Replication lag in seconds|No Dimensions| +|storage_limit|Yes|Storage Limit|Bytes|Maximum|Storage Limit|No Dimensions| +|storage_percent|Yes|Storage Percent|Percent|Maximum|Storage Percent|No Dimensions| +|storage_used|Yes|Storage Used|Bytes|Maximum|Storage Used|No Dimensions| +|total_connections|Yes|Total Connections|Count|Total|Total Connections|No Dimensions| + + +## Microsoft.DBforMySQL/servers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| +|backup_storage_used|Yes|Backup Storage used|Bytes|Average|Backup Storage used|No Dimensions| +|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| +|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| +|io_consumption_percent|Yes|IO percent|Percent|Average|IO percent|No Dimensions| +|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| +|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| +|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| +|seconds_behind_master|Yes|Replication lag in seconds|Count|Maximum|Replication lag in seconds|No Dimensions| +|serverlog_storage_limit|Yes|Server Log storage limit|Bytes|Maximum|Server Log storage limit|No Dimensions| +|serverlog_storage_percent|Yes|Server Log storage percent|Percent|Average|Server Log storage percent|No Dimensions| +|serverlog_storage_usage|Yes|Server Log storage used|Bytes|Average|Server Log storage used|No Dimensions| +|storage_limit|Yes|Storage limit|Bytes|Maximum|Storage limit|No Dimensions| +|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| +|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| + + +## Microsoft.DBforPostgreSQL/flexibleServers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| +|backup_storage_used|Yes|Backup Storage Used|Bytes|Average|Backup Storage Used|No Dimensions| +|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| +|connections_succeeded|Yes|Succeeded Connections|Count|Total|Succeeded Connections|No Dimensions| +|cpu_credits_consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the database server|No Dimensions| +|cpu_credits_remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst|No Dimensions| +|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| +|disk_queue_depth|Yes|Disk Queue Depth|Count|Average|Number of outstanding I/O operations to the data disk|No Dimensions| +|iops|Yes|IOPS|Count|Average|IO Operations per second|No Dimensions| +|maximum_used_transactionIDs|Yes|Maximum Used Transaction IDs|Count|Average|Maximum Used Transaction IDs|No Dimensions| +|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| +|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| +|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| +|read_iops|Yes|Read IOPS|Count|Average|Number of data disk I/O read operations per second|No Dimensions| +|read_throughput|Yes|Read Throughput Bytes/Sec|Count|Average|Bytes read per second from the data disk during monitoring period|No Dimensions| +|storage_free|Yes|Storage Free|Bytes|Average|Storage Free|No Dimensions| +|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| +|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| +|txlogs_storage_used|Yes|Transaction Log Storage Used|Bytes|Average|Transaction Log Storage Used|No Dimensions| +|write_iops|Yes|Write IOPS|Count|Average|Number of data disk I/O write operations per second|No Dimensions| +|write_throughput|Yes|Write Throughput Bytes/Sec|Count|Average|Bytes written per second to the data disk during monitoring period|No Dimensions| + + +## Microsoft.DBForPostgreSQL/serverGroupsv2 + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active_connections|Yes|Active Connections|Count|Average|Active Connections|ServerName| +|apps_reserved_memory_percent|Yes|Reserved Memory percent|Percent|Average|Percentage of Commit Memory Limit Reserved by Applications|ServerName| +|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|ServerName| +|iops|Yes|IOPS|Count|Average|IO operations per second|ServerName| +|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|ServerName| +|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|ServerName| +|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|ServerName| +|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|ServerName| +|storage_used|Yes|Storage used|Bytes|Average|Storage used|ServerName| +|vm_cached_bandwidth_percent|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|ServerName| +|vm_cached_iops_percent|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|ServerName| +|vm_uncached_bandwidth_percent|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|ServerName| +|vm_uncached_iops_percent|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|ServerName| + + +## Microsoft.DBforPostgreSQL/servers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| +|backup_storage_used|Yes|Backup Storage Used|Bytes|Average|Backup Storage Used|No Dimensions| +|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| +|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| +|io_consumption_percent|Yes|IO percent|Percent|Average|IO percent|No Dimensions| +|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| +|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| +|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| +|pg_replica_log_delay_in_bytes|Yes|Max Lag Across Replicas|Bytes|Maximum|Lag in bytes of the most lagging replica|No Dimensions| +|pg_replica_log_delay_in_seconds|Yes|Replica Lag|Seconds|Maximum|Replica lag in seconds|No Dimensions| +|serverlog_storage_limit|Yes|Server Log storage limit|Bytes|Maximum|Server Log storage limit|No Dimensions| +|serverlog_storage_percent|Yes|Server Log storage percent|Percent|Average|Server Log storage percent|No Dimensions| +|serverlog_storage_usage|Yes|Server Log storage used|Bytes|Average|Server Log storage used|No Dimensions| +|storage_limit|Yes|Storage limit|Bytes|Maximum|Storage limit|No Dimensions| +|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| +|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| + + +## Microsoft.DBforPostgreSQL/serversv2 + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| +|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| +|iops|Yes|IOPS|Count|Average|IO Operations per second|No Dimensions| +|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| +|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| +|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| +|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| +|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| + + +## Microsoft.Devices/ElasticPools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|elasticPool.requestedUsageRate|Yes|requested usage rate|Percent|Average|requested usage rate|No Dimensions| + + +## Microsoft.Devices/ElasticPools/IotHubTenants + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|broker.msgs.delivered|Yes|Broker: Messages Delivered (Preview)|Count|Total|Total number of messages delivered by the broker|Result, FailureReasonCategory, QoS, TopicSpaceName| +|broker.msgs.delivery.throttlingLatency|Yes|Broker: Message delivery latency from throttling (Preview)|Milliseconds|Average|The average egress message delivery latency due to throttling|No Dimensions| +|broker.msgs.published|Yes|Broker: Messages Published (Preview)|Count|Total|Total number of messages published to the broker|Result, FailureReasonCategory, QoS| +|c2d.commands.egress.abandon.success|Yes|C2D messages abandoned|Count|Total|Number of cloud-to-device messages abandoned by the device|No Dimensions| +|c2d.commands.egress.complete.success|Yes|C2D message deliveries completed|Count|Total|Number of cloud-to-device message deliveries completed successfully by the device|No Dimensions| +|c2d.commands.egress.reject.success|Yes|C2D messages rejected|Count|Total|Number of cloud-to-device messages rejected by the device|No Dimensions| +|c2d.methods.failure|Yes|Failed direct method invocations|Count|Total|The count of all failed direct method calls.|No Dimensions| +|c2d.methods.requestSize|Yes|Request size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method requests.|No Dimensions| +|c2d.methods.responseSize|Yes|Response size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method responses.|No Dimensions| +|c2d.methods.success|Yes|Successful direct method invocations|Count|Total|The count of all successful direct method calls.|No Dimensions| +|c2d.twin.read.failure|Yes|Failed twin reads from back end|Count|Total|The count of all failed back-end-initiated twin reads.|No Dimensions| +|c2d.twin.read.size|Yes|Response size of twin reads from back end|Bytes|Average|The average, min, and max of all successful back-end-initiated twin reads.|No Dimensions| +|c2d.twin.read.success|Yes|Successful twin reads from back end|Count|Total|The count of all successful back-end-initiated twin reads.|No Dimensions| +|c2d.twin.update.failure|Yes|Failed twin updates from back end|Count|Total|The count of all failed back-end-initiated twin updates.|No Dimensions| +|c2d.twin.update.size|Yes|Size of twin updates from back end|Bytes|Average|The average, min, and max size of all successful back-end-initiated twin updates.|No Dimensions| +|c2d.twin.update.success|Yes|Successful twin updates from back end|Count|Total|The count of all successful back-end-initiated twin updates.|No Dimensions| +|C2DMessagesExpired|Yes|C2D Messages Expired|Count|Total|Number of expired cloud-to-device messages|No Dimensions| +|configurations|Yes|Configuration Metrics|Count|Total|Metrics for Configuration Operations|No Dimensions| +|connectedDeviceCount|Yes|Connected devices|Count|Average|Number of devices connected to your IoT hub|No Dimensions| +|d2c.endpoints.egress.builtIn.events|Yes|Routing: messages delivered to messages/events|Count|Total|The number of times IoT Hub routing successfully delivered messages to the built-in endpoint (messages/events).|No Dimensions| +|d2c.endpoints.egress.eventHubs|Yes|Routing: messages delivered to Event Hub|Count|Total|The number of times IoT Hub routing successfully delivered messages to Event Hub endpoints.|No Dimensions| +|d2c.endpoints.egress.serviceBusQueues|Yes|Routing: messages delivered to Service Bus Queue|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus queue endpoints.|No Dimensions| +|d2c.endpoints.egress.serviceBusTopics|Yes|Routing: messages delivered to Service Bus Topic|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus topic endpoints.|No Dimensions| +|d2c.endpoints.egress.storage|Yes|Routing: messages delivered to storage|Count|Total|The number of times IoT Hub routing successfully delivered messages to storage endpoints.|No Dimensions| +|d2c.endpoints.egress.storage.blobs|Yes|Routing: blobs delivered to storage|Count|Total|The number of times IoT Hub routing delivered blobs to storage endpoints.|No Dimensions| +|d2c.endpoints.egress.storage.bytes|Yes|Routing: data delivered to storage|Bytes|Total|The amount of data (bytes) IoT Hub routing delivered to storage endpoints.|No Dimensions| +|d2c.endpoints.latency.builtIn.events|Yes|Routing: message latency for messages/events|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into the built-in endpoint (messages/events).|No Dimensions| +|d2c.endpoints.latency.eventHubs|Yes|Routing: message latency for Event Hub|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and message ingress into an Event Hub endpoint.|No Dimensions| +|d2c.endpoints.latency.serviceBusQueues|Yes|Routing: message latency for Service Bus Queue|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus queue endpoint.|No Dimensions| +|d2c.endpoints.latency.serviceBusTopics|Yes|Routing: message latency for Service Bus Topic|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus topic endpoint.|No Dimensions| +|d2c.endpoints.latency.storage|Yes|Routing: message latency for storage|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a storage endpoint.|No Dimensions| +|d2c.telemetry.egress.dropped|Yes|Routing: telemetry messages dropped|Count|Total|The number of times messages were dropped by IoT Hub routing due to dead endpoints. This value does not count messages delivered to fallback route as dropped messages are not delivered there.|No Dimensions| +|d2c.telemetry.egress.fallback|Yes|Routing: messages delivered to fallback|Count|Total|The number of times IoT Hub routing delivered messages to the endpoint associated with the fallback route.|No Dimensions| +|d2c.telemetry.egress.invalid|Yes|Routing: telemetry messages incompatible|Count|Total|The number of times IoT Hub routing failed to deliver messages due to an incompatibility with the endpoint. This value does not include retries.|No Dimensions| +|d2c.telemetry.egress.orphaned|Yes|Routing: telemetry messages orphaned|Count|Total|The number of times messages were orphaned by IoT Hub routing because they didn't match any routing rules (including the fallback rule).|No Dimensions| +|d2c.telemetry.egress.success|Yes|Routing: telemetry messages delivered|Count|Total|The number of times messages were successfully delivered to all endpoints using IoT Hub routing. If a message is routed to multiple endpoints, this value increases by one for each successful delivery. If a message is delivered to the same endpoint multiple times, this value increases by one for each successful delivery.|No Dimensions| +|d2c.telemetry.ingress.allProtocol|Yes|Telemetry message send attempts|Count|Total|Number of device-to-cloud telemetry messages attempted to be sent to your IoT hub|No Dimensions| +|d2c.telemetry.ingress.sendThrottle|Yes|Number of throttling errors|Count|Total|Number of throttling errors due to device throughput throttles|No Dimensions| +|d2c.telemetry.ingress.success|Yes|Telemetry messages sent|Count|Total|Number of device-to-cloud telemetry messages sent successfully to your IoT hub|No Dimensions| +|d2c.twin.read.failure|Yes|Failed twin reads from devices|Count|Total|The count of all failed device-initiated twin reads.|No Dimensions| +|d2c.twin.read.size|Yes|Response size of twin reads from devices|Bytes|Average|The average, min, and max of all successful device-initiated twin reads.|No Dimensions| +|d2c.twin.read.success|Yes|Successful twin reads from devices|Count|Total|The count of all successful device-initiated twin reads.|No Dimensions| +|d2c.twin.update.failure|Yes|Failed twin updates from devices|Count|Total|The count of all failed device-initiated twin updates.|No Dimensions| +|d2c.twin.update.size|Yes|Size of twin updates from devices|Bytes|Average|The average, min, and max size of all successful device-initiated twin updates.|No Dimensions| +|d2c.twin.update.success|Yes|Successful twin updates from devices|Count|Total|The count of all successful device-initiated twin updates.|No Dimensions| +|dailyMessageQuotaUsed|Yes|Total number of messages used|Count|Maximum|Number of total messages used today|No Dimensions| +|deviceDataUsage|Yes|Total device data usage|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| +|deviceDataUsageV2|Yes|Total device data usage (preview)|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| +|devices.connectedDevices.allProtocol|Yes|Connected devices (deprecated) |Count|Total|Number of devices connected to your IoT hub|No Dimensions| +|devices.totalDevices|Yes|Total devices (deprecated)|Count|Total|Number of devices registered to your IoT hub|No Dimensions| +|EventGridDeliveries|Yes|Event Grid deliveries|Count|Total|The number of IoT Hub events published to Event Grid. Use the Result dimension for the number of successful and failed requests. EventType dimension shows the type of event (https://aka.ms/ioteventgrid).|Result, EventType| +|EventGridLatency|Yes|Event Grid latency|Milliseconds|Average|The average latency (milliseconds) from when the Iot Hub event was generated to when the event was published to Event Grid. This number is an average between all event types. Use the EventType dimension to see latency of a specific type of event.|EventType| +|jobs.cancelJob.failure|Yes|Failed job cancellations|Count|Total|The count of all failed calls to cancel a job.|No Dimensions| +|jobs.cancelJob.success|Yes|Successful job cancellations|Count|Total|The count of all successful calls to cancel a job.|No Dimensions| +|jobs.completed|Yes|Completed jobs|Count|Total|The count of all completed jobs.|No Dimensions| +|jobs.createDirectMethodJob.failure|Yes|Failed creations of method invocation jobs|Count|Total|The count of all failed creation of direct method invocation jobs.|No Dimensions| +|jobs.createDirectMethodJob.success|Yes|Successful creations of method invocation jobs|Count|Total|The count of all successful creation of direct method invocation jobs.|No Dimensions| +|jobs.createTwinUpdateJob.failure|Yes|Failed creations of twin update jobs|Count|Total|The count of all failed creation of twin update jobs.|No Dimensions| +|jobs.createTwinUpdateJob.success|Yes|Successful creations of twin update jobs|Count|Total|The count of all successful creation of twin update jobs.|No Dimensions| +|jobs.failed|Yes|Failed jobs|Count|Total|The count of all failed jobs.|No Dimensions| +|jobs.listJobs.failure|Yes|Failed calls to list jobs|Count|Total|The count of all failed calls to list jobs.|No Dimensions| +|jobs.listJobs.success|Yes|Successful calls to list jobs|Count|Total|The count of all successful calls to list jobs.|No Dimensions| +|jobs.queryJobs.failure|Yes|Failed job queries|Count|Total|The count of all failed calls to query jobs.|No Dimensions| +|jobs.queryJobs.success|Yes|Successful job queries|Count|Total|The count of all successful calls to query jobs.|No Dimensions| +|mqtt.connections|Yes|MQTT: New Connections (Preview)|Count|Total|The number of new connections per IoT Hub|SessionType, MqttEndpoint| +|mqtt.sessions|Yes|MQTT: New Sessions (Preview)|Count|Total|The number of new sessions per IoT Hub|SessionType, MqttEndpoint| +|mqtt.sessions.dropped|Yes|MQTT: Dropped Sessions (Preview)|Percent|Average|The rate of dropped sessions per IoT Hub|DropReason| +|mqtt.subscriptions|Yes|MQTT: New Subscriptions (Preview)|Count|Total|The number of subscriptions|Result, FailureReasonCategory, OperationType, TopicSpaceName| +|RoutingDataSizeInBytesDelivered|Yes|Routing Delivery Message Size in Bytes (preview)|Bytes|Total|The total size in bytes of messages delivered by IoT hub to an endpoint. You can use the EndpointName and EndpointType dimensions to view the size of the messages in bytes delivered to your different endpoints. The metric value increases for every message delivered, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, RoutingSource| +|RoutingDeliveries|Yes|Routing Deliveries (preview)|Count|Total|The number of times IoT Hub attempted to deliver messages to all endpoints using routing. To see the number of successful or failed attempts, use the Result dimension. To see the reason of failure, like invalid, dropped, or orphaned, use the FailureReasonCategory dimension. You can also use the EndpointName and EndpointType dimensions to understand how many messages were delivered to your different endpoints. The metric value increases by one for each delivery attempt, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, FailureReasonCategory, Result, RoutingSource| +|RoutingDeliveryLatency|Yes|Routing Delivery Latency (preview)|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into an endpoint. You can use the EndpointName and EndpointType dimensions to understand the latency to your different endpoints.|EndpointType, EndpointName, RoutingSource| +|tenantHub.requestedUsageRate|Yes|requested usage rate|Percent|Average|requested usage rate|No Dimensions| +|totalDeviceCount|Yes|Total devices|Count|Average|Number of devices registered to your IoT hub|No Dimensions| +|twinQueries.failure|Yes|Failed twin queries|Count|Total|The count of all failed twin queries.|No Dimensions| +|twinQueries.resultSize|Yes|Twin queries result size|Bytes|Average|The average, min, and max of the result size of all successful twin queries.|No Dimensions| +|twinQueries.success|Yes|Successful twin queries|Count|Total|The count of all successful twin queries.|No Dimensions| + + +## Microsoft.Devices/IotHubs + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|c2d.commands.egress.abandon.success|Yes|C2D messages abandoned|Count|Total|Number of cloud-to-device messages abandoned by the device|No Dimensions| +|c2d.commands.egress.complete.success|Yes|C2D message deliveries completed|Count|Total|Number of cloud-to-device message deliveries completed successfully by the device|No Dimensions| +|c2d.commands.egress.reject.success|Yes|C2D messages rejected|Count|Total|Number of cloud-to-device messages rejected by the device|No Dimensions| +|c2d.methods.failure|Yes|Failed direct method invocations|Count|Total|The count of all failed direct method calls.|No Dimensions| +|c2d.methods.requestSize|Yes|Request size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method requests.|No Dimensions| +|c2d.methods.responseSize|Yes|Response size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method responses.|No Dimensions| +|c2d.methods.success|Yes|Successful direct method invocations|Count|Total|The count of all successful direct method calls.|No Dimensions| +|c2d.twin.read.failure|Yes|Failed twin reads from back end|Count|Total|The count of all failed back-end-initiated twin reads.|No Dimensions| +|c2d.twin.read.size|Yes|Response size of twin reads from back end|Bytes|Average|The average, min, and max of all successful back-end-initiated twin reads.|No Dimensions| +|c2d.twin.read.success|Yes|Successful twin reads from back end|Count|Total|The count of all successful back-end-initiated twin reads.|No Dimensions| +|c2d.twin.update.failure|Yes|Failed twin updates from back end|Count|Total|The count of all failed back-end-initiated twin updates.|No Dimensions| +|c2d.twin.update.size|Yes|Size of twin updates from back end|Bytes|Average|The average, min, and max size of all successful back-end-initiated twin updates.|No Dimensions| +|c2d.twin.update.success|Yes|Successful twin updates from back end|Count|Total|The count of all successful back-end-initiated twin updates.|No Dimensions| +|C2DMessagesExpired|Yes|C2D Messages Expired|Count|Total|Number of expired cloud-to-device messages|No Dimensions| +|configurations|Yes|Configuration Metrics|Count|Total|Metrics for Configuration Operations|No Dimensions| +|connectedDeviceCount|No|Connected devices|Count|Average|Number of devices connected to your IoT hub|No Dimensions| +|d2c.endpoints.egress.builtIn.events|Yes|Routing: messages delivered to messages/events|Count|Total|The number of times IoT Hub routing successfully delivered messages to the built-in endpoint (messages/events).|No Dimensions| +|d2c.endpoints.egress.eventHubs|Yes|Routing: messages delivered to Event Hub|Count|Total|The number of times IoT Hub routing successfully delivered messages to Event Hub endpoints.|No Dimensions| +|d2c.endpoints.egress.serviceBusQueues|Yes|Routing: messages delivered to Service Bus Queue|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus queue endpoints.|No Dimensions| +|d2c.endpoints.egress.serviceBusTopics|Yes|Routing: messages delivered to Service Bus Topic|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus topic endpoints.|No Dimensions| +|d2c.endpoints.egress.storage|Yes|Routing: messages delivered to storage|Count|Total|The number of times IoT Hub routing successfully delivered messages to storage endpoints.|No Dimensions| +|d2c.endpoints.egress.storage.blobs|Yes|Routing: blobs delivered to storage|Count|Total|The number of times IoT Hub routing delivered blobs to storage endpoints.|No Dimensions| +|d2c.endpoints.egress.storage.bytes|Yes|Routing: data delivered to storage|Bytes|Total|The amount of data (bytes) IoT Hub routing delivered to storage endpoints.|No Dimensions| +|d2c.endpoints.latency.builtIn.events|Yes|Routing: message latency for messages/events|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into the built-in endpoint (messages/events).|No Dimensions| +|d2c.endpoints.latency.eventHubs|Yes|Routing: message latency for Event Hub|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and message ingress into an Event Hub endpoint.|No Dimensions| +|d2c.endpoints.latency.serviceBusQueues|Yes|Routing: message latency for Service Bus Queue|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus queue endpoint.|No Dimensions| +|d2c.endpoints.latency.serviceBusTopics|Yes|Routing: message latency for Service Bus Topic|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus topic endpoint.|No Dimensions| +|d2c.endpoints.latency.storage|Yes|Routing: message latency for storage|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a storage endpoint.|No Dimensions| +|d2c.telemetry.egress.dropped|Yes|Routing: telemetry messages dropped|Count|Total|The number of times messages were dropped by IoT Hub routing due to dead endpoints. This value does not count messages delivered to fallback route as dropped messages are not delivered there.|No Dimensions| +|d2c.telemetry.egress.fallback|Yes|Routing: messages delivered to fallback|Count|Total|The number of times IoT Hub routing delivered messages to the endpoint associated with the fallback route.|No Dimensions| +|d2c.telemetry.egress.invalid|Yes|Routing: telemetry messages incompatible|Count|Total|The number of times IoT Hub routing failed to deliver messages due to an incompatibility with the endpoint. This value does not include retries.|No Dimensions| +|d2c.telemetry.egress.orphaned|Yes|Routing: telemetry messages orphaned|Count|Total|The number of times messages were orphaned by IoT Hub routing because they didn't match any routing rules (including the fallback rule).|No Dimensions| +|d2c.telemetry.egress.success|Yes|Routing: telemetry messages delivered|Count|Total|The number of times messages were successfully delivered to all endpoints using IoT Hub routing. If a message is routed to multiple endpoints, this value increases by one for each successful delivery. If a message is delivered to the same endpoint multiple times, this value increases by one for each successful delivery.|No Dimensions| +|d2c.telemetry.ingress.allProtocol|Yes|Telemetry message send attempts|Count|Total|Number of device-to-cloud telemetry messages attempted to be sent to your IoT hub|No Dimensions| +|d2c.telemetry.ingress.sendThrottle|Yes|Number of throttling errors|Count|Total|Number of throttling errors due to device throughput throttles|No Dimensions| +|d2c.telemetry.ingress.success|Yes|Telemetry messages sent|Count|Total|Number of device-to-cloud telemetry messages sent successfully to your IoT hub|No Dimensions| +|d2c.twin.read.failure|Yes|Failed twin reads from devices|Count|Total|The count of all failed device-initiated twin reads.|No Dimensions| +|d2c.twin.read.size|Yes|Response size of twin reads from devices|Bytes|Average|The average, min, and max of all successful device-initiated twin reads.|No Dimensions| +|d2c.twin.read.success|Yes|Successful twin reads from devices|Count|Total|The count of all successful device-initiated twin reads.|No Dimensions| +|d2c.twin.update.failure|Yes|Failed twin updates from devices|Count|Total|The count of all failed device-initiated twin updates.|No Dimensions| +|d2c.twin.update.size|Yes|Size of twin updates from devices|Bytes|Average|The average, min, and max size of all successful device-initiated twin updates.|No Dimensions| +|d2c.twin.update.success|Yes|Successful twin updates from devices|Count|Total|The count of all successful device-initiated twin updates.|No Dimensions| +|dailyMessageQuotaUsed|Yes|Total number of messages used|Count|Maximum|Number of total messages used today|No Dimensions| +|deviceDataUsage|Yes|Total device data usage|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| +|deviceDataUsageV2|Yes|Total device data usage (preview)|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| +|devices.connectedDevices.allProtocol|Yes|Connected devices (deprecated) |Count|Total|Number of devices connected to your IoT hub|No Dimensions| +|devices.totalDevices|Yes|Total devices (deprecated)|Count|Total|Number of devices registered to your IoT hub|No Dimensions| +|EventGridDeliveries|Yes|Event Grid deliveries|Count|Total|The number of IoT Hub events published to Event Grid. Use the Result dimension for the number of successful and failed requests. EventType dimension shows the type of event (https://aka.ms/ioteventgrid).|Result, EventType| +|EventGridLatency|Yes|Event Grid latency|Milliseconds|Average|The average latency (milliseconds) from when the Iot Hub event was generated to when the event was published to Event Grid. This number is an average between all event types. Use the EventType dimension to see latency of a specific type of event.|EventType| +|jobs.cancelJob.failure|Yes|Failed job cancellations|Count|Total|The count of all failed calls to cancel a job.|No Dimensions| +|jobs.cancelJob.success|Yes|Successful job cancellations|Count|Total|The count of all successful calls to cancel a job.|No Dimensions| +|jobs.completed|Yes|Completed jobs|Count|Total|The count of all completed jobs.|No Dimensions| +|jobs.createDirectMethodJob.failure|Yes|Failed creations of method invocation jobs|Count|Total|The count of all failed creation of direct method invocation jobs.|No Dimensions| +|jobs.createDirectMethodJob.success|Yes|Successful creations of method invocation jobs|Count|Total|The count of all successful creation of direct method invocation jobs.|No Dimensions| +|jobs.createTwinUpdateJob.failure|Yes|Failed creations of twin update jobs|Count|Total|The count of all failed creation of twin update jobs.|No Dimensions| +|jobs.createTwinUpdateJob.success|Yes|Successful creations of twin update jobs|Count|Total|The count of all successful creation of twin update jobs.|No Dimensions| +|jobs.failed|Yes|Failed jobs|Count|Total|The count of all failed jobs.|No Dimensions| +|jobs.listJobs.failure|Yes|Failed calls to list jobs|Count|Total|The count of all failed calls to list jobs.|No Dimensions| +|jobs.listJobs.success|Yes|Successful calls to list jobs|Count|Total|The count of all successful calls to list jobs.|No Dimensions| +|jobs.queryJobs.failure|Yes|Failed job queries|Count|Total|The count of all failed calls to query jobs.|No Dimensions| +|jobs.queryJobs.success|Yes|Successful job queries|Count|Total|The count of all successful calls to query jobs.|No Dimensions| +|RoutingDataSizeInBytesDelivered|Yes|Routing Delivery Message Size in Bytes (preview)|Bytes|Total|The total size in bytes of messages delivered by IoT hub to an endpoint. You can use the EndpointName and EndpointType dimensions to view the size of the messages in bytes delivered to your different endpoints. The metric value increases for every message delivered, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, RoutingSource| +|RoutingDeliveries|Yes|Routing Deliveries (preview)|Count|Total|The number of times IoT Hub attempted to deliver messages to all endpoints using routing. To see the number of successful or failed attempts, use the Result dimension. To see the reason of failure, like invalid, dropped, or orphaned, use the FailureReasonCategory dimension. You can also use the EndpointName and EndpointType dimensions to understand how many messages were delivered to your different endpoints. The metric value increases by one for each delivery attempt, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, FailureReasonCategory, Result, RoutingSource| +|RoutingDeliveryLatency|Yes|Routing Delivery Latency (preview)|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into an endpoint. You can use the EndpointName and EndpointType dimensions to understand the latency to your different endpoints.|EndpointType, EndpointName, RoutingSource| +|totalDeviceCount|No|Total devices|Count|Average|Number of devices registered to your IoT hub|No Dimensions| +|twinQueries.failure|Yes|Failed twin queries|Count|Total|The count of all failed twin queries.|No Dimensions| +|twinQueries.resultSize|Yes|Twin queries result size|Bytes|Average|The average, min, and max of the result size of all successful twin queries.|No Dimensions| +|twinQueries.success|Yes|Successful twin queries|Count|Total|The count of all successful twin queries.|No Dimensions| + + +## Microsoft.Devices/provisioningServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AttestationAttempts|Yes|Attestation attempts|Count|Total|Number of device attestations attempted|ProvisioningServiceName, Status, Protocol| +|DeviceAssignments|Yes|Devices assigned|Count|Total|Number of devices assigned to an IoT hub|ProvisioningServiceName, IotHubName| +|RegistrationAttempts|Yes|Registration attempts|Count|Total|Number of device registrations attempted|ProvisioningServiceName, IotHubName, Status| + + +## Microsoft.DigitalTwins/digitalTwinsInstances + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ApiRequests|Yes|API Requests|Count|Total|The number of API requests made for Digital Twins read, write, delete and query operations.|Operation, Authentication, Protocol, StatusCode, StatusCodeClass, StatusText| +|ApiRequestsFailureRate|Yes|API Requests Failure Rate|Percent|Average|The percentage of API requests that the service receives for your instance that return an internal error (500) response code for Digital Twins read, write, delete and query operations.|Operation, Authentication, Protocol| +|ApiRequestsLatency|Yes|API Requests Latency|Milliseconds|Average|The response time for API requests, i.e. from when the request is received by Azure Digital Twins until the service sends a success/fail result for Digital Twins read, write, delete and query operations.|Operation, Authentication, Protocol, StatusCode, StatusCodeClass, StatusText| +|BillingApiOperations|Yes|Billing API Operations|Count|Total|Billing metric for the count of all API requests made against the Azure Digital Twins service.|MeterId| +|BillingMessagesProcessed|Yes|Billing Messages Processed|Count|Total|Billing metric for the number of messages sent out from Azure Digital Twins to external endpoints.|MeterId| +|BillingQueryUnits|Yes|Billing Query Units|Count|Total|The number of Query Units, an internally computed measure of service resource usage, consumed to execute queries.|MeterId| +|DataHistoryRouting|Yes|Data History Messages Routed (preview)|Count|Total|The number of messages routed to a time series database.|EndpointType, Result| +|DataHistoryRoutingFailureRate|Yes|Data History Routing Failure Rate (preview)|Percent|Average|The percentage of events that result in an error as they are routed from Azure Digital Twins to a time series database.|EndpointType| +|DataHistoryRoutingLatency|Yes|Data History Routing Latency (preview)|Milliseconds|Average|Time elapsed between an event getting routed from Azure Digital Twins to when it is posted to a time series database.|EndpointType, Result| +|IngressEvents|Yes|Ingress Events|Count|Total|The number of incoming telemetry events into Azure Digital Twins.|Result| +|IngressEventsFailureRate|Yes|Ingress Events Failure Rate|Percent|Average|The percentage of incoming telemetry events for which the service returns an internal error (500) response code.|No Dimensions| +|IngressEventsLatency|Yes|Ingress Events Latency|Milliseconds|Average|The time from when an event arrives to when it is ready to be egressed by Azure Digital Twins, at which point the service sends a success/fail result.|Result| +|ModelCount|Yes|Model Count|Count|Total|Total number of models in the Azure Digital Twins instance. Use this metric to determine if you are approaching the service limit for max number of models allowed per instance.|No Dimensions| +|Routing|Yes|Messages Routed|Count|Total|The number of messages routed to an endpoint Azure service such as Event Hub, Service Bus or Event Grid.|EndpointType, Result| +|RoutingFailureRate|Yes|Routing Failure Rate|Percent|Average|The percentage of events that result in an error as they are routed from Azure Digital Twins to an endpoint Azure service such as Event Hub, Service Bus or Event Grid.|EndpointType| +|RoutingLatency|Yes|Routing Latency|Milliseconds|Average|Time elapsed between an event getting routed from Azure Digital Twins to when it is posted to the endpoint Azure service such as Event Hub, Service Bus or Event Grid.|EndpointType, Result| +|TwinCount|Yes|Twin Count|Count|Total|Total number of twins in the Azure Digital Twins instance. Use this metric to determine if you are approaching the service limit for max number of twins allowed per instance.|No Dimensions| + + +## Microsoft.DocumentDB/cassandraClusters + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|cassandra_cache_capacity|No|capacity|Bytes|Average|Cache capacity in bytes.|cassandra_datacenter, cassandra_node, cache_name| +|cassandra_cache_entries|No|entries|Count|Average|Total number of cache entries.|cassandra_datacenter, cassandra_node, cache_name| +|cassandra_cache_hit_rate|No|hit rate|Percent|Average|All time cache hit rate.|cassandra_datacenter, cassandra_node, cache_name| +|cassandra_cache_hits|No|hits|Count|Average|Total number of cache hits.|cassandra_datacenter, cassandra_node, cache_name| +|cassandra_cache_miss_latency_histogram|No|cache miss latency histogram|Count|Average|Histogram of cache miss latency (in microseconds).|cassandra_datacenter, cassandra_node, quantile| +|cassandra_cache_miss_latency_p99|No|miss latency p99 (in microseconds)|Count|Average|p99 Latency of misses.|cassandra_datacenter, cassandra_node, cache_name| +|cassandra_cache_requests|No|requests|Count|Average|Total number of cache requests.|cassandra_datacenter, cassandra_node, cache_name| +|cassandra_cache_size|No|size|Bytes|Average|Total size of occupied cache, in bytes.|cassandra_datacenter, cassandra_node, cache_name| +|cassandra_client_auth_failure|No|auth failure|Count|Average|Number of failed client authentication requests.|cassandra_datacenter, cassandra_node| +|cassandra_client_auth_success|No|auth success|Count|Average|Number of successful client authentication requests.|cassandra_datacenter, cassandra_node| +|cassandra_client_request_condition_not_met|No|condition not met|Count|Average|Number of transaction preconditions did not match current values.|cassandra_datacenter, cassandra_node, request_type| +|cassandra_client_request_contention_histogram|No|contention|Count|Average|How many contended reads/writes were encountered.|cassandra_datacenter, cassandra_node, request_type| +|cassandra_client_request_contention_histogram_p99|No|contention histogram p99|Count|Average|p99 How many contended writes were encountered.|cassandra_datacenter, cassandra_node, request_type| +|cassandra_client_request_failures|No|failures|Count|Average|Number of transaction failures encountered.|cassandra_datacenter, cassandra_node, request_type| +|cassandra_client_request_latency_histogram|No|client request latency histogram|Count|Average|Histogram of client request latency (in microseconds).|cassandra_datacenter, cassandra_node, quantile, request_type| +|cassandra_client_request_latency_p99|No|latency p99 (in microseconds)|Count|Average|p99 Latency.|cassandra_datacenter, cassandra_node, request_type| +|cassandra_client_request_timeouts|No|timeouts|Count|Average|Number of timeouts encountered.|cassandra_datacenter, cassandra_node, request_type| +|cassandra_client_request_unfinished_commit|No|unfinished commit|Count|Average|Number of transactions that were committed on write.|cassandra_datacenter, cassandra_node, request_type| +|cassandra_commit_log_waiting_on_commit_latency_histogram|No|waiting on commit latency histogram|Count|Average|Histogram of the time spent waiting on CL fsync (in microseconds); for Periodic this is only occurs when the sync is lagging its sync interval.|cassandra_datacenter, cassandra_node, quantile| +|cassandra_cql_prepared_statements_executed|No|prepared statements executed|Count|Average|Number of prepared statements executed.|cassandra_datacenter, cassandra_node| +|cassandra_cql_regular_statements_executed|No|regular statements executed|Count|Average|Number of non prepared statements executed.|cassandra_datacenter, cassandra_node| +|cassandra_jvm_gc_count|No|gc count|Count|Average|Total number of collections that have occurred.|cassandra_datacenter, cassandra_node| +|cassandra_jvm_gc_time|No|gc time|MilliSeconds|Average|Approximate accumulated collection elapsed time.|cassandra_datacenter, cassandra_node| +|cassandra_table_all_memtables_live_data_size|No|all memtables live data size|Count|Average|Total amount of live data stored in the memtables (2i and pending flush memtables included) that resides off-heap, excluding any data structure overhead.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_all_memtables_off_heap_size|No|all memtables off heap size|Count|Average|Total amount of data stored in the memtables (2i and pending flush memtables included) that resides off-heap.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_bloom_filter_disk_space_used|No|bloom filter disk space used|Bytes|Average|Disk space used by bloom filter (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_bloom_filter_false_positives|No|bloom filter false positives|Count|Average|Number of false positives on table's bloom filter.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_bloom_filter_false_ratio|No|bloom filter false ratio|Percent|Average|False positive ratio of table's bloom filter.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_bloom_filter_off_heap_memory_used|No|bloom filter off-heap memory used|Count|Average|Off-heap memory used by bloom filter.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_bytes_flushed|No|bytes flushed|Bytes|Average|Total number of bytes flushed since server [re]start.|cassandra_datacenter, cassandra_node| +|cassandra_table_cas_commit|No|cas commit (in microseconds)|Count|Average|Latency of paxos commit round.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_cas_commit_p99|No|cas commit p99 (in microseconds)|Count|Average|p99 Latency of paxos commit round.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_cas_prepare|No|cas prepare (in microseconds)|Count|Average|Latency of paxos prepare round.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_cas_prepare_p99|No|cas prepare p99 (in microseconds)|Count|Average|p99 Latency of paxos prepare round.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_cas_propose|No|cas propose (in microseconds)|Count|Average|Latency of paxos propose round.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_cas_propose_p99|No|cas propose p99 (in microseconds)|Count|Average|p99 Latency of paxos propose round.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_col_update_time_delta_histogram|No|col update time delta|Count|Average|Column update time delta on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_col_update_time_delta_histogram_p99|No|col update time delta p99|Count|Average|p99 Column update time delta on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_compaction_bytes_written|No|compaction bytes written|Bytes|Average|Total number of bytes written by compaction since server [re]start.|cassandra_datacenter, cassandra_node| +|cassandra_table_compression_metadata_off_heap_memory_used|No|compression metadata off heap memory used|Count|Average|Off-heap memory used by compression meta data.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_compression_ratio|No|compression ratio|Percent|Average|Current compression ratio for all SSTables.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_coordinator_read_latency|No|coordinator read latency (in microseconds)|Count|Average|Coordinator read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_coordinator_read_latency_p99|No|coordinator read latency p99 (in microseconds)|Count|Average|p99 Coordinator read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_coordinator_scan_latency|No|coordinator scan latency (in microseconds)|Count|Average|Coordinator range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_coordinator_scan_latency_p99|No|coordinator scan latency p99 (in microseconds)|Count|Average|p99 Coordinator range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_dropped_mutations|No|dropped mutations|Count|Average|Number of dropped mutations on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_estimated_column_count_histogram|No|estimated column count|Count|Average|Estimated number of columns.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_estimated_column_count_histogram_p99|No|estimated column count p99|Count|Average|p99 Estimated number of columns.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_estimated_partition_count|No|estimated partition count|Count|Average|Approximate number of keys in table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_estimated_partition_size_histogram|No|estimated partition size histogram|Bytes|Average|Histogram of estimated partition size.|cassandra_datacenter, cassandra_node, quantile| +|cassandra_table_estimated_partition_size_histogram_p99|No|estimated partition size p99|Bytes|Average|p99 Estimated partition size (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_index_summary_off_heap_memory_used|No|index summary off heap memory used|Count|Average|Off-heap memory used by index summary.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_key_cache_hit_rate|No|key cache hit rate|Percent|Average|Key cache hit rate for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_live_disk_space_used|No|live disk space used|Bytes|Average|Disk space used by SSTables belonging to this table (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_live_scanned_histogram|No|live scanned|Count|Average|Live cells scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_live_scanned_histogram_p99|No|live scanned p99|Count|Average|p99 Live cells scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_live_sstable_count|No|live sstable count|Count|Average|Number of SSTables on disk for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_max_partition_size|No|max partition size|Bytes|Average|Size of the largest compacted partition (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_mean_partition_size|No|mean partition size|Bytes|Average|Size of the average compacted partition (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_memtable_columns_count|No|memtable columns count|Count|Average|Total number of columns present in the memtable.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_memtable_off_heap_size|No|memtable off heap size|Count|Average|Total amount of data stored in the memtable that resides off-heap, including column related overhead and partitions overwritten.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_memtable_on_heap_size|No|memtable on heap size|Count|Average|Total amount of data stored in the memtable that resides on-heap, including column related overhead and partitions overwritten.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_memtable_switch_count|No|memtable switch count|Count|Average|Number of times flush has resulted in the memtable being switched out.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_min_partition_size|No|min partition size|Bytes|Average|Size of the smallest compacted partition (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_pending_compactions|No|pending compactions|Count|Average|Estimate of number of pending compactions for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_pending_flushes|No|pending flushes|Count|Average|Estimated number of flush tasks pending for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_percent_repaired|No|percent repaired|Percent|Average|Percent of table data that is repaired on disk.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_range_latency|No|range latency (in microseconds)|Count|Average|Local range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_range_latency_p99|No|range latency p99 (in microseconds)|Count|Average|p99 Local range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_read_latency|No|read latency (in microseconds)|Count|Average|Local read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_read_latency_p99|No|read latency p99 (in microseconds)|Count|Average|p99 Local read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_row_cache_hit|No|row cache hit|Count|Average|Number of table row cache hits.|cassandra_datacenter, cassandra_node| +|cassandra_table_row_cache_hit_out_of_range|No|row cache hit out of range|Count|Average|Number of table row cache hits that do not satisfy the query filter, thus went to disk.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_row_cache_miss|No|row cache miss|Count|Average|Number of table row cache misses.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_speculative_retries|No|speculative retries|Count|Average|Number of times speculative retries were sent for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_sstables_per_read_histogram|No|sstables per read|Count|Average|Number of sstable data files accessed per single partition read. SSTables skipped due to Bloom Filters, min-max key or partition index lookup are not taken into account.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_sstables_per_read_histogram_p99|No|sstables per read p99|Count|Average|p99 Number of sstable data files accessed per single partition read. SSTables skipped due to Bloom Filters, min-max key or partition index lookup are not taken into account.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_tombstone_scanned_histogram|No|tombstone scanned|Count|Average|Tombstones scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_tombstone_scanned_histogram_p99|No|tombstone scanned p99|Count|Average|p99 Tombstones scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_total_disk_space_used|No|total disk space used|Count|Average|Total disk space used by SSTables belonging to this table, including obsolete ones waiting to be GC'd.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_view_lock_acquire_time|No|view lock acquire time|Count|Average|Time taken acquiring a partition lock for materialized view updates on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_view_lock_acquire_time_p99|No|view lock acquire time p99|Count|Average|p99 Time taken acquiring a partition lock for materialized view updates on this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_view_read_time|No|view read time|Count|Average|Time taken during the local read of a materialized view update.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_view_read_time_p99|No|view read time p99|Count|Average|p99 Time taken during the local read of a materialized view update.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_waiting_on_free_memtable_space|No|waiting on free memtable space|Count|Average|Time spent waiting for free memtable space, either on- or off-heap.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_waiting_on_free_memtable_space_p99|No|waiting on free memtable space p99|Count|Average|p99 Time spent waiting for free memtable space, either on- or off-heap.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_write_latency|No|write latency (in microseconds)|Count|Average|Local write latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_table_write_latency_p99|No|write latency p99 (in microseconds)|Count|Average|p99 Local write latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| +|cassandra_thread_pools_active_tasks|No|active tasks|Count|Average|Number of tasks being actively worked on by this pool.|cassandra_datacenter, cassandra_node, pool_name, pool_type| +|cassandra_thread_pools_currently_blocked_tasks|No|currently blocked tasks|Count|Average|Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.|cassandra_datacenter, cassandra_node, pool_name, pool_type| +|cassandra_thread_pools_max_pool_size|No|max pool size|Count|Average|The maximum number of threads in this pool.|cassandra_datacenter, cassandra_node, pool_name, pool_type| +|cassandra_thread_pools_pending_tasks|No|pending tasks|Count|Average|Number of queued tasks queued up on this pool.|cassandra_datacenter, cassandra_node, pool_name, pool_type| +|cassandra_thread_pools_total_blocked_tasks|No|total blocked tasks|Count|Average|Number of tasks that were blocked due to queue saturation.|cassandra_datacenter, cassandra_node, pool_name, pool_type| + + +## Microsoft.DocumentDB/databaseAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AddRegion|Yes|Region Added|Count|Count|Region Added|Region| +|AutoscaleMaxThroughput|No|Autoscale Max Throughput|Count|Maximum|Autoscale Max Throughput|DatabaseName, CollectionName| +|AvailableStorage|No|(deprecated) Available Storage|Bytes|Total|"Available Storage" will be removed from Azure Monitor at the end of September 2023. Cosmos DB collection storage size is now unlimited. The only restriction is that the storage size for each logical partition key is 20GB. You can enable PartitionKeyStatistics in Diagnostic Log to know the storage consumption for top partition keys. For more info about Cosmos DB storage quota, please check this doc https://learn.microsoft.com/azure/cosmos-db/concepts-limits. After deprecation, the remaining alert rules still defined on the deprecated metric will be automatically disabled post the deprecation date.|CollectionName, DatabaseName, Region| +|CassandraConnectionClosures|No|Cassandra Connection Closures|Count|Total|Number of Cassandra connections that were closed, reported at a 1 minute granularity|Region, ClosureReason| +|CassandraConnectorAvgReplicationLatency|No|Cassandra Connector Average ReplicationLatency|MilliSeconds|Average|Cassandra Connector Average ReplicationLatency|No Dimensions| +|CassandraConnectorReplicationHealthStatus|No|Cassandra Connector Replication Health Status|Count|Count|Cassandra Connector Replication Health Status|NotStarted, ReplicationInProgress, Error| +|CassandraKeyspaceCreate|No|Cassandra Keyspace Created|Count|Count|Cassandra Keyspace Created|ResourceName, | +|CassandraKeyspaceDelete|No|Cassandra Keyspace Deleted|Count|Count|Cassandra Keyspace Deleted|ResourceName, | +|CassandraKeyspaceThroughputUpdate|No|Cassandra Keyspace Throughput Updated|Count|Count|Cassandra Keyspace Throughput Updated|ResourceName, | +|CassandraKeyspaceUpdate|No|Cassandra Keyspace Updated|Count|Count|Cassandra Keyspace Updated|ResourceName, | +|CassandraRequestCharges|No|Cassandra Request Charges|Count|Total|RUs consumed for Cassandra requests made|DatabaseName, CollectionName, Region, OperationType, ResourceType| +|CassandraRequests|No|Cassandra Requests|Count|Count|Number of Cassandra requests made|DatabaseName, CollectionName, Region, OperationType, ResourceType, ErrorCode| +|CassandraTableCreate|No|Cassandra Table Created|Count|Count|Cassandra Table Created|ResourceName, ChildResourceName, | +|CassandraTableDelete|No|Cassandra Table Deleted|Count|Count|Cassandra Table Deleted|ResourceName, ChildResourceName, | +|CassandraTableThroughputUpdate|No|Cassandra Table Throughput Updated|Count|Count|Cassandra Table Throughput Updated|ResourceName, ChildResourceName, | +|CassandraTableUpdate|No|Cassandra Table Updated|Count|Count|Cassandra Table Updated|ResourceName, ChildResourceName, | +|CreateAccount|Yes|Account Created|Count|Count|Account Created|No Dimensions| +|DataUsage|No|Data Usage|Bytes|Total|Total data usage reported at 5 minutes granularity|CollectionName, DatabaseName, Region| +|DedicatedGatewayAverageCPUUsage|No|DedicatedGatewayAverageCPUUsage|Percent|Average|Average CPU usage across dedicated gateway instances|Region, | +|DedicatedGatewayAverageMemoryUsage|No|DedicatedGatewayAverageMemoryUsage|Bytes|Average|Average memory usage across dedicated gateway instances, which is used for both routing requests and caching data|Region| +|DedicatedGatewayMaximumCPUUsage|No|DedicatedGatewayMaximumCPUUsage|Percent|Average|Average Maximum CPU usage across dedicated gateway instances|Region, | +|DedicatedGatewayRequests|Yes|DedicatedGatewayRequests|Count|Count|Requests at the dedicated gateway|DatabaseName, CollectionName, CacheExercised, OperationName, Region| +|DeleteAccount|Yes|Account Deleted|Count|Count|Account Deleted|No Dimensions| +|DocumentCount|No|Document Count|Count|Total|Total document count reported at 5 minutes granularity|CollectionName, DatabaseName, Region| +|DocumentQuota|No|Document Quota|Bytes|Total|Total storage quota reported at 5 minutes granularity|CollectionName, DatabaseName, Region| +|GremlinDatabaseCreate|No|Gremlin Database Created|Count|Count|Gremlin Database Created|ResourceName, | +|GremlinDatabaseDelete|No|Gremlin Database Deleted|Count|Count|Gremlin Database Deleted|ResourceName, | +|GremlinDatabaseThroughputUpdate|No|Gremlin Database Throughput Updated|Count|Count|Gremlin Database Throughput Updated|ResourceName, | +|GremlinDatabaseUpdate|No|Gremlin Database Updated|Count|Count|Gremlin Database Updated|ResourceName, | +|GremlinGraphCreate|No|Gremlin Graph Created|Count|Count|Gremlin Graph Created|ResourceName, ChildResourceName, | +|GremlinGraphDelete|No|Gremlin Graph Deleted|Count|Count|Gremlin Graph Deleted|ResourceName, ChildResourceName, | +|GremlinGraphThroughputUpdate|No|Gremlin Graph Throughput Updated|Count|Count|Gremlin Graph Throughput Updated|ResourceName, ChildResourceName, | +|GremlinGraphUpdate|No|Gremlin Graph Updated|Count|Count|Gremlin Graph Updated|ResourceName, ChildResourceName, | +|IndexUsage|No|Index Usage|Bytes|Total|Total index usage reported at 5 minutes granularity|CollectionName, DatabaseName, Region| +|IntegratedCacheEvictedEntriesSize|No|IntegratedCacheEvictedEntriesSize|Bytes|Average|Size of the entries evicted from the integrated cache|Region| +|IntegratedCacheItemExpirationCount|No|IntegratedCacheItemExpirationCount|Count|Average|Number of items evicted from the integrated cache due to TTL expiration|Region, | +|IntegratedCacheItemHitRate|No|IntegratedCacheItemHitRate|Percent|Average|Number of point reads that used the integrated cache divided by number of point reads routed through the dedicated gateway with eventual consistency|Region, | +|IntegratedCacheQueryExpirationCount|No|IntegratedCacheQueryExpirationCount|Count|Average|Number of queries evicted from the integrated cache due to TTL expiration|Region, | +|IntegratedCacheQueryHitRate|No|IntegratedCacheQueryHitRate|Percent|Average|Number of queries that used the integrated cache divided by number of queries routed through the dedicated gateway with eventual consistency|Region, | +|MetadataRequests|No|Metadata Requests|Count|Count|Count of metadata requests. Cosmos DB maintains system metadata collection for each account, that allows you to enumerate collections, databases, etc, and their configurations, free of charge.|DatabaseName, CollectionName, Region, StatusCode, | +|MongoCollectionCreate|No|Mongo Collection Created|Count|Count|Mongo Collection Created|ResourceName, ChildResourceName, | +|MongoCollectionDelete|No|Mongo Collection Deleted|Count|Count|Mongo Collection Deleted|ResourceName, ChildResourceName, | +|MongoCollectionThroughputUpdate|No|Mongo Collection Throughput Updated|Count|Count|Mongo Collection Throughput Updated|ResourceName, ChildResourceName, | +|MongoCollectionUpdate|No|Mongo Collection Updated|Count|Count|Mongo Collection Updated|ResourceName, ChildResourceName, | +|MongoDatabaseDelete|No|Mongo Database Deleted|Count|Count|Mongo Database Deleted|ResourceName, | +|MongoDatabaseThroughputUpdate|No|Mongo Database Throughput Updated|Count|Count|Mongo Database Throughput Updated|ResourceName, | +|MongoDBDatabaseCreate|No|Mongo Database Created|Count|Count|Mongo Database Created|ResourceName, | +|MongoDBDatabaseUpdate|No|Mongo Database Updated|Count|Count|Mongo Database Updated|ResourceName, | +|MongoRequestCharge|Yes|Mongo Request Charge|Count|Total|Mongo Request Units Consumed|DatabaseName, CollectionName, Region, CommandName, ErrorCode, Status| +|MongoRequests|Yes|Mongo Requests|Count|Count|Number of Mongo Requests Made|DatabaseName, CollectionName, Region, CommandName, ErrorCode, Status| +|MongoRequestsCount|No|(deprecated) Mongo Request Rate|CountPerSecond|Average|Mongo request Count per second|DatabaseName, CollectionName, Region, ErrorCode| +|MongoRequestsDelete|No|(deprecated) Mongo Delete Request Rate|CountPerSecond|Average|Mongo Delete request per second|DatabaseName, CollectionName, Region, ErrorCode| +|MongoRequestsInsert|No|(deprecated) Mongo Insert Request Rate|CountPerSecond|Average|Mongo Insert count per second|DatabaseName, CollectionName, Region, ErrorCode| +|MongoRequestsQuery|No|(deprecated) Mongo Query Request Rate|CountPerSecond|Average|Mongo Query request per second|DatabaseName, CollectionName, Region, ErrorCode| +|MongoRequestsUpdate|No|(deprecated) Mongo Update Request Rate|CountPerSecond|Average|Mongo Update request per second|DatabaseName, CollectionName, Region, ErrorCode| +|NormalizedRUConsumption|No|Normalized RU Consumption|Percent|Maximum|Max RU consumption percentage per minute|CollectionName, DatabaseName, Region, PartitionKeyRangeId| +|ProvisionedThroughput|No|Provisioned Throughput|Count|Maximum|Provisioned Throughput|DatabaseName, CollectionName| +|RegionFailover|Yes|Region Failed Over|Count|Count|Region Failed Over|No Dimensions| +|RemoveRegion|Yes|Region Removed|Count|Count|Region Removed|Region| +|ReplicationLatency|Yes|P99 Replication Latency|MilliSeconds|Average|P99 Replication Latency across source and target regions for geo-enabled account|SourceRegion, TargetRegion| +|ServerSideLatency|No|Server Side Latency|MilliSeconds|Average|Server Side Latency|DatabaseName, CollectionName, Region, ConnectionMode, OperationType, PublicAPIType| +|ServiceAvailability|No|Service Availability|Percent|Average|Account requests availability at one hour, day or month granularity|No Dimensions| +|SqlContainerCreate|No|Sql Container Created|Count|Count|Sql Container Created|ResourceName, ChildResourceName, | +|SqlContainerDelete|No|Sql Container Deleted|Count|Count|Sql Container Deleted|ResourceName, ChildResourceName, | +|SqlContainerThroughputUpdate|No|Sql Container Throughput Updated|Count|Count|Sql Container Throughput Updated|ResourceName, ChildResourceName, | +|SqlContainerUpdate|No|Sql Container Updated|Count|Count|Sql Container Updated|ResourceName, ChildResourceName, | +|SqlDatabaseCreate|No|Sql Database Created|Count|Count|Sql Database Created|ResourceName, | +|SqlDatabaseDelete|No|Sql Database Deleted|Count|Count|Sql Database Deleted|ResourceName, | +|SqlDatabaseThroughputUpdate|No|Sql Database Throughput Updated|Count|Count|Sql Database Throughput Updated|ResourceName, | +|SqlDatabaseUpdate|No|Sql Database Updated|Count|Count|Sql Database Updated|ResourceName, | +|TableTableCreate|No|AzureTable Table Created|Count|Count|AzureTable Table Created|ResourceName, | +|TableTableDelete|No|AzureTable Table Deleted|Count|Count|AzureTable Table Deleted|ResourceName, | +|TableTableThroughputUpdate|No|AzureTable Table Throughput Updated|Count|Count|AzureTable Table Throughput Updated|ResourceName, | +|TableTableUpdate|No|AzureTable Table Updated|Count|Count|AzureTable Table Updated|ResourceName, | +|TotalRequests|Yes|Total Requests|Count|Count|Number of requests made|DatabaseName, CollectionName, Region, StatusCode, OperationType, Status| +|TotalRequestUnits|Yes|Total Request Units|Count|Total|Request Units consumed|DatabaseName, CollectionName, Region, StatusCode, OperationType, Status| +|UpdateAccountKeys|Yes|Account Keys Updated|Count|Count|Account Keys Updated|KeyType| +|UpdateAccountNetworkSettings|Yes|Account Network Settings Updated|Count|Count|Account Network Settings Updated|No Dimensions| +|UpdateAccountReplicationSettings|Yes|Account Replication Settings Updated|Count|Count|Account Replication Settings Updated|No Dimensions| +|UpdateDiagnosticsSettings|No|Account Diagnostic Settings Updated|Count|Count|Account Diagnostic Settings Updated|DiagnosticSettingsName, ResourceGroupName| + + +## microsoft.edgezones/edgezones + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|DiskStorageIOPSUsage|No|Disk IOPS|CountPerSecond|Average|The total IOPS generated by Managed Disks in Azure Edge Zone Enterprise site.|No Dimensions| +|DiskStorageUsedSizeUsage|Yes|Disk Usage Percentage|Percent|Average|The utilization of the Managed Disk capacity in Azure Edge Zone Enterprise site.|No Dimensions| +|TotalDiskStorageSizeCapacity|Yes|Total Disk Capacity|Bytes|Average|The total capacity of Managed Disk in Azure Edge Zone Enterprise site.|No Dimensions| +|TotalVcoreCapacity|Yes|Total VCore Capacity|Count|Average|The total capacity of the General-Purpose Compute vcore in Edge Zone Enterprise site. |No Dimensions| +|VcoresUsage|Yes|Vcore Usage Percentage|Percent|Average|The utilization of the General-Purpose Compute vcores in Edge Zone Enterprise site |No Dimensions| + + +## Microsoft.EventGrid/domains + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|Topic, EventSubscriptionName, DomainEventSubscriptionName| +|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName, DeadLetterReason| +|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName, Error, ErrorType| +|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName| +|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|Topic, EventSubscriptionName, DomainEventSubscriptionName| +|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName, DropReason| +|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName| +|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|Topic, ErrorType, Error| +|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|Topic| +|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| + + +## Microsoft.EventGrid/eventSubscriptions + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason| +|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType| +|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|No Dimensions| +|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|No Dimensions| +|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason| +|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|No Dimensions| + + +## Microsoft.EventGrid/extensionTopics + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| +|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| +|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| +|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| + + +## Microsoft.EventGrid/partnerNamespaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| +|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| +|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| +|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| + + +## Microsoft.EventGrid/partnerTopics + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|EventSubscriptionName| +|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason, EventSubscriptionName| +|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType, EventSubscriptionName| +|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|EventSubscriptionName| +|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|EventSubscriptionName| +|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason, EventSubscriptionName| +|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|EventSubscriptionName| +|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| +|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| + + +## Microsoft.EventGrid/systemTopics + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|EventSubscriptionName| +|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason, EventSubscriptionName| +|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType, EventSubscriptionName| +|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|EventSubscriptionName| +|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|EventSubscriptionName| +|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason, EventSubscriptionName| +|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|EventSubscriptionName| +|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| +|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| +|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| +|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| + + +## Microsoft.EventGrid/topics + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|EventSubscriptionName| +|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason, EventSubscriptionName| +|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType, EventSubscriptionName| +|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|EventSubscriptionName| +|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|EventSubscriptionName| +|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason, EventSubscriptionName| +|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|EventSubscriptionName| +|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| +|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| +|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| +|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| + + +## Microsoft.EventHub/clusters + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActiveConnections|No|ActiveConnections|Count|Maximum|Total Active Connections for Microsoft.EventHub.|No Dimensions| +|AvailableMemory|No|Available Memory|Percent|Maximum|Available memory for the Event Hub Cluster as a percentage of total memory.|Role| +|CaptureBacklog|No|Capture Backlog.|Count|Total|Capture Backlog for Microsoft.EventHub.|No Dimensions| +|CapturedBytes|No|Captured Bytes.|Bytes|Total|Captured Bytes for Microsoft.EventHub.|No Dimensions| +|CapturedMessages|No|Captured Messages.|Count|Total|Captured Messages for Microsoft.EventHub.|No Dimensions| +|ConnectionsClosed|No|Connections Closed.|Count|Maximum|Connections Closed for Microsoft.EventHub.|No Dimensions| +|ConnectionsOpened|No|Connections Opened.|Count|Maximum|Connections Opened for Microsoft.EventHub.|No Dimensions| +|CPU|No|CPU|Percent|Maximum|CPU utilization for the Event Hub Cluster as a percentage|Role| +|IncomingBytes|Yes|Incoming Bytes.|Bytes|Total|Incoming Bytes for Microsoft.EventHub.|No Dimensions| +|IncomingMessages|Yes|Incoming Messages|Count|Total|Incoming Messages for Microsoft.EventHub.|No Dimensions| +|IncomingRequests|Yes|Incoming Requests|Count|Total|Incoming Requests for Microsoft.EventHub.|No Dimensions| +|OutgoingBytes|Yes|Outgoing Bytes.|Bytes|Total|Outgoing Bytes for Microsoft.EventHub.|No Dimensions| +|OutgoingMessages|Yes|Outgoing Messages|Count|Total|Outgoing Messages for Microsoft.EventHub.|No Dimensions| +|QuotaExceededErrors|No|Quota Exceeded Errors.|Count|Total|Quota Exceeded Errors for Microsoft.EventHub.|No Dimensions| +|ServerErrors|No|Server Errors.|Count|Total|Server Errors for Microsoft.EventHub.|No Dimensions| +|Size|No|Size|Bytes|Average|Size of an EventHub in Bytes.|Role| +|SuccessfulRequests|No|Successful Requests|Count|Total|Successful Requests for Microsoft.EventHub.|No Dimensions| +|ThrottledRequests|No|Throttled Requests.|Count|Total|Throttled Requests for Microsoft.EventHub.|No Dimensions| +|UserErrors|No|User Errors.|Count|Total|User Errors for Microsoft.EventHub.|No Dimensions| + + +## Microsoft.EventHub/namespaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActiveConnections|No|ActiveConnections|Count|Maximum|Total Active Connections for Microsoft.EventHub.|No Dimensions| +|CaptureBacklog|No|Capture Backlog.|Count|Total|Capture Backlog for Microsoft.EventHub.|EntityName| +|CapturedBytes|No|Captured Bytes.|Bytes|Total|Captured Bytes for Microsoft.EventHub.|EntityName| +|CapturedMessages|No|Captured Messages.|Count|Total|Captured Messages for Microsoft.EventHub.|EntityName| +|ConnectionsClosed|No|Connections Closed.|Count|Maximum|Connections Closed for Microsoft.EventHub.|EntityName| +|ConnectionsOpened|No|Connections Opened.|Count|Maximum|Connections Opened for Microsoft.EventHub.|EntityName| +|EHABL|Yes|Archive backlog messages (Deprecated)|Count|Total|Event Hub archive messages in backlog for a namespace (Deprecated)|No Dimensions| +|EHAMBS|Yes|Archive message throughput (Deprecated)|Bytes|Total|Event Hub archived message throughput in a namespace (Deprecated)|No Dimensions| +|EHAMSGS|Yes|Archive messages (Deprecated)|Count|Total|Event Hub archived messages in a namespace (Deprecated)|No Dimensions| +|EHINBYTES|Yes|Incoming bytes (Deprecated)|Bytes|Total|Event Hub incoming message throughput for a namespace (Deprecated)|No Dimensions| +|EHINMBS|Yes|Incoming bytes (obsolete) (Deprecated)|Bytes|Total|Event Hub incoming message throughput for a namespace. This metric is deprecated. Please use Incoming bytes metric instead (Deprecated)|No Dimensions| +|EHINMSGS|Yes|Incoming Messages (Deprecated)|Count|Total|Total incoming messages for a namespace (Deprecated)|No Dimensions| +|EHOUTBYTES|Yes|Outgoing bytes (Deprecated)|Bytes|Total|Event Hub outgoing message throughput for a namespace (Deprecated)|No Dimensions| +|EHOUTMBS|Yes|Outgoing bytes (obsolete) (Deprecated)|Bytes|Total|Event Hub outgoing message throughput for a namespace. This metric is deprecated. Please use Outgoing bytes metric instead (Deprecated)|No Dimensions| +|EHOUTMSGS|Yes|Outgoing Messages (Deprecated)|Count|Total|Total outgoing messages for a namespace (Deprecated)|No Dimensions| +|FAILREQ|Yes|Failed Requests (Deprecated)|Count|Total|Total failed requests for a namespace (Deprecated)|No Dimensions| +|IncomingBytes|Yes|Incoming Bytes.|Bytes|Total|Incoming Bytes for Microsoft.EventHub.|EntityName| +|IncomingMessages|Yes|Incoming Messages|Count|Total|Incoming Messages for Microsoft.EventHub.|EntityName| +|IncomingRequests|Yes|Incoming Requests|Count|Total|Incoming Requests for Microsoft.EventHub.|EntityName| +|INMSGS|Yes|Incoming Messages (obsolete) (Deprecated)|Count|Total|Total incoming messages for a namespace. This metric is deprecated. Please use Incoming Messages metric instead (Deprecated)|No Dimensions| +|INREQS|Yes|Incoming Requests (Deprecated)|Count|Total|Total incoming send requests for a namespace (Deprecated)|No Dimensions| +|INTERR|Yes|Internal Server Errors (Deprecated)|Count|Total|Total internal server errors for a namespace (Deprecated)|No Dimensions| +|MISCERR|Yes|Other Errors (Deprecated)|Count|Total|Total failed requests for a namespace (Deprecated)|No Dimensions| +|NamespaceCpuUsage|No|CPU|Percent|Maximum|CPU usage metric for Premium SKU namespaces.|No Dimensions| +|NamespaceMemoryUsage|No|Memory Usage|Percent|Maximum|Memory usage metric for Premium SKU namespaces.|No Dimensions| +|OutgoingBytes|Yes|Outgoing Bytes.|Bytes|Total|Outgoing Bytes for Microsoft.EventHub.|EntityName| +|OutgoingMessages|Yes|Outgoing Messages|Count|Total|Outgoing Messages for Microsoft.EventHub.|EntityName| +|OUTMSGS|Yes|Outgoing Messages (obsolete) (Deprecated)|Count|Total|Total outgoing messages for a namespace. This metric is deprecated. Please use Outgoing Messages metric instead (Deprecated)|No Dimensions| +|QuotaExceededErrors|No|Quota Exceeded Errors.|Count|Total|Quota Exceeded Errors for Microsoft.EventHub.|EntityName, | +|ServerErrors|No|Server Errors.|Count|Total|Server Errors for Microsoft.EventHub.|EntityName, | +|Size|No|Size|Bytes|Average|Size of an EventHub in Bytes.|EntityName| +|SuccessfulRequests|No|Successful Requests|Count|Total|Successful Requests for Microsoft.EventHub.|EntityName, | +|SUCCREQ|Yes|Successful Requests (Deprecated)|Count|Total|Total successful requests for a namespace (Deprecated)|No Dimensions| +|SVRBSY|Yes|Server Busy Errors (Deprecated)|Count|Total|Total server busy errors for a namespace (Deprecated)|No Dimensions| +|ThrottledRequests|No|Throttled Requests.|Count|Total|Throttled Requests for Microsoft.EventHub.|EntityName, | +|UserErrors|No|User Errors.|Count|Total|User Errors for Microsoft.EventHub.|EntityName, | + + +## Microsoft.HDInsight/clusters + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CategorizedGatewayRequests|Yes|Categorized Gateway Requests|Count|Total|Number of gateway requests by categories (1xx/2xx/3xx/4xx/5xx)|HttpStatus| +|GatewayRequests|Yes|Gateway Requests|Count|Total|Number of gateway requests|HttpStatus| +|KafkaRestProxy.ConsumerRequest.m1_delta|Yes|REST proxy Consumer RequestThroughput|CountPerSecond|Total|Number of consumer requests to Kafka REST proxy|Machine, Topic| +|KafkaRestProxy.ConsumerRequestFail.m1_delta|Yes|REST proxy Consumer Unsuccessful Requests|CountPerSecond|Total|Consumer request exceptions|Machine, Topic| +|KafkaRestProxy.ConsumerRequestTime.p95|Yes|REST proxy Consumer RequestLatency|Milliseconds|Average|Message latency in a consumer request through Kafka REST proxy|Machine, Topic| +|KafkaRestProxy.ConsumerRequestWaitingInQueueTime.p95|Yes|REST proxy Consumer Request Backlog|Milliseconds|Average|Consumer REST proxy queue length|Machine, Topic| +|KafkaRestProxy.MessagesIn.m1_delta|Yes|REST proxy Producer MessageThroughput|CountPerSecond|Total|Number of producer messages through Kafka REST proxy|Machine, Topic| +|KafkaRestProxy.MessagesOut.m1_delta|Yes|REST proxy Consumer MessageThroughput|CountPerSecond|Total|Number of consumer messages through Kafka REST proxy|Machine, Topic| +|KafkaRestProxy.OpenConnections|Yes|REST proxy ConcurrentConnections|Count|Total|Number of concurrent connections through Kafka REST proxy|Machine, Topic| +|KafkaRestProxy.ProducerRequest.m1_delta|Yes|REST proxy Producer RequestThroughput|CountPerSecond|Total|Number of producer requests to Kafka REST proxy|Machine, Topic| +|KafkaRestProxy.ProducerRequestFail.m1_delta|Yes|REST proxy Producer Unsuccessful Requests|CountPerSecond|Total|Producer request exceptions|Machine, Topic| +|KafkaRestProxy.ProducerRequestTime.p95|Yes|REST proxy Producer RequestLatency|Milliseconds|Average|Message latency in a producer request through Kafka REST proxy|Machine, Topic| +|KafkaRestProxy.ProducerRequestWaitingInQueueTime.p95|Yes|REST proxy Producer Request Backlog|Milliseconds|Average|Producer REST proxy queue length|Machine, Topic| +|NumActiveWorkers|Yes|Number of Active Workers|Count|Maximum|Number of Active Workers|MetricName| +|PendingCPU|Yes|Pending CPU|Count|Maximum|Pending CPU Requests in YARN|No Dimensions| +|PendingMemory|Yes|Pending Memory|Count|Maximum|Pending Memory Requests in YARN|No Dimensions| + + +## Microsoft.HealthcareApis/services + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The availability rate of the service.|No Dimensions| +|CosmosDbCollectionSize|Yes|Cosmos DB Collection Size|Bytes|Total|The size of the backing Cosmos DB collection, in bytes.|No Dimensions| +|CosmosDbIndexSize|Yes|Cosmos DB Index Size|Bytes|Total|The size of the backing Cosmos DB collection's index, in bytes.|No Dimensions| +|CosmosDbRequestCharge|Yes|Cosmos DB RU usage|Count|Total|The RU usage of requests to the service's backing Cosmos DB.|Operation, ResourceType| +|CosmosDbRequests|Yes|Service Cosmos DB requests|Count|Sum|The total number of requests made to a service's backing Cosmos DB.|Operation, ResourceType| +|CosmosDbThrottleRate|Yes|Service Cosmos DB throttle rate|Count|Sum|The total number of 429 responses from a service's backing Cosmos DB.|Operation, ResourceType| +|IoTConnectorDeviceEvent|Yes|Number of Incoming Messages|Count|Sum|The total number of messages received by the Azure IoT Connector for FHIR prior to any normalization.|Operation, ConnectorName| +|IoTConnectorDeviceEventProcessingLatencyMs|Yes|Average Normalize Stage Latency|Milliseconds|Average|The average time between an event's ingestion time and the time the event is processed for normalization.|Operation, ConnectorName| +|IoTConnectorMeasurement|Yes|Number of Measurements|Count|Sum|The number of normalized value readings received by the FHIR conversion stage of the Azure IoT Connector for FHIR.|Operation, ConnectorName| +|IoTConnectorMeasurementGroup|Yes|Number of Message Groups|Count|Sum|The total number of unique groupings of measurements across type, device, patient, and configured time period generated by the FHIR conversion stage.|Operation, ConnectorName| +|IoTConnectorMeasurementIngestionLatencyMs|Yes|Average Group Stage Latency|Milliseconds|Average|The time period between when the IoT Connector received the device data and when the data is processed by the FHIR conversion stage.|Operation, ConnectorName| +|IoTConnectorNormalizedEvent|Yes|Number of Normalized Messages|Count|Sum|The total number of mapped normalized values outputted from the normalization stage of the the Azure IoT Connector for FHIR.|Operation, ConnectorName| +|IoTConnectorTotalErrors|Yes|Total Error Count|Count|Sum|The total number of errors logged by the Azure IoT Connector for FHIR|Name, Operation, ErrorType, ErrorSeverity, ConnectorName| +|TotalErrors|Yes|Total Errors|Count|Sum|The total number of internal server errors encountered by the service.|Protocol, StatusCode, StatusCodeClass, StatusCodeText| +|TotalLatency|Yes|Total Latency|Milliseconds|Average|The response latency of the service.|Protocol| +|TotalRequests|Yes|Total Requests|Count|Sum|The total number of requests received by the service.|Protocol| + + +## Microsoft.HealthcareApis/workspaces/fhirservices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The availability rate of the service.|No Dimensions| +|TotalDataSize|Yes|Total Data Size|Bytes|Total|Total size of the data in the backing database, in bytes.|No Dimensions| +|TotalErrors|Yes|Total Errors|Count|Sum|The total number of internal server errors encountered by the service.|Protocol, StatusCode, StatusCodeClass, StatusCodeText| +|TotalLatency|Yes|Total Latency|Milliseconds|Average|The response latency of the service.|Protocol| +|TotalRequests|Yes|Total Requests|Count|Sum|The total number of requests received by the service.|Protocol| + + +## Microsoft.HealthcareApis/workspaces/iotconnectors + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|DeviceEvent|Yes|Number of Incoming Messages|Count|Sum|The total number of messages received by the Azure IoT Connector for FHIR prior to any normalization.|Operation, ResourceName| +|DeviceEventProcessingLatencyMs|Yes|Average Normalize Stage Latency|Milliseconds|Average|The average time between an event's ingestion time and the time the event is processed for normalization.|Operation, ResourceName| +|FhirResourceSaved|Yes|Number of Fhir resources saved|Count|Sum|The total number of FHIR resources saved by the Azure IoT Connector|Operation, ResourceName, Name| +|IotConnectorStatus|Yes|IotConnector Health Status|Percent|Average|Health checks which indicate the overall health of the IoT Connector.|Operation, ResourceName, HealthCheckName| +|Measurement|Yes|Number of Measurements|Count|Sum|The number of normalized value readings received by the FHIR conversion stage of the Azure IoT Connector for FHIR.|Operation, ResourceName| +|MeasurementGroup|Yes|Number of Message Groups|Count|Sum|The total number of unique groupings of measurements across type, device, patient, and configured time period generated by the FHIR conversion stage.|Operation, ResourceName| +|MeasurementIngestionLatencyMs|Yes|Average Group Stage Latency|Milliseconds|Average|The time period between when the IoT Connector received the device data and when the data is processed by the FHIR conversion stage.|Operation, ResourceName| +|NormalizedEvent|Yes|Number of Normalized Messages|Count|Sum|The total number of mapped normalized values outputted from the normalization stage of the the Azure IoT Connector for FHIR.|Operation, ResourceName| +|TotalErrors|Yes|Total Error Count|Count|Sum|The total number of errors logged by the Azure IoT Connector for FHIR|Name, Operation, ErrorType, ErrorSeverity, ResourceName| + + +## microsoft.hybridnetwork/networkfunctions + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|HyperVVirtualProcessorUtilization|Yes|Average CPU Utilization|Percent|Average|Total average percentage of virtual CPU utilization at one minute interval. The total number of virtual CPU is based on user configured value in SKU definition. Further filter can be applied based on RoleName defined in SKU.|InstanceName| + + +## microsoft.hybridnetwork/virtualnetworkfunctions + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|HyperVVirtualProcessorUtilization|Yes|Average CPU Utilization|Percent|Average|Total average percentage of virtual CPU utilization at one minute interval. The total number of virtual CPU is based on user configured value in SKU definition. Further filter can be applied based on RoleName defined in SKU.|InstanceName| + + +## Microsoft.Insights/AutoscaleSettings + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|MetricThreshold|Yes|Metric Threshold|Count|Average|The configured autoscale threshold when autoscale ran.|MetricTriggerRule| +|ObservedCapacity|Yes|Observed Capacity|Count|Average|The capacity reported to autoscale when it executed.|No Dimensions| +|ObservedMetricValue|Yes|Observed Metric Value|Count|Average|The value computed by autoscale when executed|MetricTriggerSource| +|ScaleActionsInitiated|Yes|Scale Actions Initiated|Count|Total|The direction of the scale operation.|ScaleDirection| + + +## Microsoft.Insights/Components + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|availabilityResults/availabilityPercentage|Yes|Availability|Percent|Average|Percentage of successfully completed availability tests|availabilityResult/name, availabilityResult/location| +|availabilityResults/count|No|Availability tests|Count|Count|Count of availability tests|availabilityResult/name, availabilityResult/location, availabilityResult/success| +|availabilityResults/duration|Yes|Availability test duration|MilliSeconds|Average|Availability test duration|availabilityResult/name, availabilityResult/location, availabilityResult/success| +|browserTimings/networkDuration|Yes|Page load network connect time|MilliSeconds|Average|Time between user request and network connection. Includes DNS lookup and transport connection.|No Dimensions| +|browserTimings/processingDuration|Yes|Client processing time|MilliSeconds|Average|Time between receiving the last byte of a document until the DOM is loaded. Async requests may still be processing.|No Dimensions| +|browserTimings/receiveDuration|Yes|Receiving response time|MilliSeconds|Average|Time between the first and last bytes, or until disconnection.|No Dimensions| +|browserTimings/sendDuration|Yes|Send request time|MilliSeconds|Average|Time between network connection and receiving the first byte.|No Dimensions| +|browserTimings/totalDuration|Yes|Browser page load time|MilliSeconds|Average|Time from user request until DOM, stylesheets, scripts and images are loaded.|No Dimensions| +|dependencies/count|No|Dependency calls|Count|Count|Count of calls made by the application to external resources.|dependency/type, dependency/performanceBucket, dependency/success, dependency/target, dependency/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| +|dependencies/duration|Yes|Dependency duration|MilliSeconds|Average|Duration of calls made by the application to external resources.|dependency/type, dependency/performanceBucket, dependency/success, dependency/target, dependency/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| +|dependencies/failed|No|Dependency call failures|Count|Count|Count of failed dependency calls made by the application to external resources.|dependency/type, dependency/performanceBucket, dependency/target, dependency/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| +|exceptions/browser|No|Browser exceptions|Count|Count|Count of uncaught exceptions thrown in the browser.|cloud/roleName| +|exceptions/count|Yes|Exceptions|Count|Count|Combined count of all uncaught exceptions.|cloud/roleName, cloud/roleInstance, client/type| +|exceptions/server|No|Server exceptions|Count|Count|Count of uncaught exceptions thrown in the server application.|cloud/roleName, cloud/roleInstance| +|pageViews/count|Yes|Page views|Count|Count|Count of page views.|operation/synthetic, cloud/roleName| +|pageViews/duration|Yes|Page view load time|MilliSeconds|Average|Page view load time|operation/synthetic, cloud/roleName| +|performanceCounters/exceptionsPerSecond|Yes|Exception rate|CountPerSecond|Average|Count of handled and unhandled exceptions reported to windows, including .NET exceptions and unmanaged exceptions that are converted into .NET exceptions.|cloud/roleInstance| +|performanceCounters/memoryAvailableBytes|Yes|Available memory|Bytes|Average|Physical memory immediately available for allocation to a process or for system use.|cloud/roleInstance| +|performanceCounters/processCpuPercentage|Yes|Process CPU|Percent|Average|The percentage of elapsed time that all process threads used the processor to execute instructions. This can vary between 0 to 100. This metric indicates the performance of w3wp process alone.|cloud/roleInstance| +|performanceCounters/processIOBytesPerSecond|Yes|Process IO rate|BytesPerSecond|Average|Total bytes per second read and written to files, network and devices.|cloud/roleInstance| +|performanceCounters/processorCpuPercentage|Yes|Processor time|Percent|Average|The percentage of time that the processor spends in non-idle threads.|cloud/roleInstance| +|performanceCounters/processPrivateBytes|Yes|Process private bytes|Bytes|Average|Memory exclusively assigned to the monitored application's processes.|cloud/roleInstance| +|performanceCounters/requestExecutionTime|Yes|HTTP request execution time|MilliSeconds|Average|Execution time of the most recent request.|cloud/roleInstance| +|performanceCounters/requestsInQueue|Yes|HTTP requests in application queue|Count|Average|Length of the application request queue.|cloud/roleInstance| +|performanceCounters/requestsPerSecond|Yes|HTTP request rate|CountPerSecond|Average|Rate of all requests to the application per second from ASP.NET.|cloud/roleInstance| +|requests/count|No|Server requests|Count|Count|Count of HTTP requests completed.|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, request/success, cloud/roleName| +|requests/duration|Yes|Server response time|MilliSeconds|Average|Time between receiving an HTTP request and finishing sending the response.|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, request/success, cloud/roleName| +|requests/failed|No|Failed requests|Count|Count|Count of HTTP requests marked as failed. In most cases these are requests with a response code >= 400 and not equal to 401.|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| +|requests/rate|No|Server request rate|CountPerSecond|Average|Rate of server requests per second|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, request/success, cloud/roleName| +|traces/count|Yes|Traces|Count|Count|Trace document count|trace/severityLevel, operation/synthetic, cloud/roleName, cloud/roleInstance| + + +## Microsoft.IoTCentral/IoTApps + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|c2d.commands.failure|Yes|Failed command invocations|Count|Total|The count of all failed command requests initiated from IoT Central|No Dimensions| +|c2d.commands.requestSize|Yes|Request size of command invocations|Bytes|Total|Request size of all command requests initiated from IoT Central|No Dimensions| +|c2d.commands.responseSize|Yes|Response size of command invocations|Bytes|Total|Response size of all command responses initiated from IoT Central|No Dimensions| +|c2d.commands.success|Yes|Successful command invocations|Count|Total|The count of all successful command requests initiated from IoT Central|No Dimensions| +|c2d.property.read.failure|Yes|Failed Device Property Reads from IoT Central|Count|Total|The count of all failed property reads initiated from IoT Central|No Dimensions| +|c2d.property.read.success|Yes|Successful Device Property Reads from IoT Central|Count|Total|The count of all successful property reads initiated from IoT Central|No Dimensions| +|c2d.property.update.failure|Yes|Failed Device Property Updates from IoT Central|Count|Total|The count of all failed property updates initiated from IoT Central|No Dimensions| +|c2d.property.update.success|Yes|Successful Device Property Updates from IoT Central|Count|Total|The count of all successful property updates initiated from IoT Central|No Dimensions| +|connectedDeviceCount|No|Total Connected Devices|Count|Average|Number of devices connected to IoT Central|No Dimensions| +|d2c.property.read.failure|Yes|Failed Device Property Reads from Devices|Count|Total|The count of all failed property reads initiated from devices|No Dimensions| +|d2c.property.read.success|Yes|Successful Device Property Reads from Devices|Count|Total|The count of all successful property reads initiated from devices|No Dimensions| +|d2c.property.update.failure|Yes|Failed Device Property Updates from Devices|Count|Total|The count of all failed property updates initiated from devices|No Dimensions| +|d2c.property.update.success|Yes|Successful Device Property Updates from Devices|Count|Total|The count of all successful property updates initiated from devices|No Dimensions| +|d2c.telemetry.ingress.allProtocol|Yes|Total Telemetry Message Send Attempts|Count|Total|Number of device-to-cloud telemetry messages attempted to be sent to the IoT Central application|No Dimensions| +|d2c.telemetry.ingress.success|Yes|Total Telemetry Messages Sent|Count|Total|Number of device-to-cloud telemetry messages successfully sent to the IoT Central application|No Dimensions| +|dataExport.error|Yes|Data Export Errors|Count|Total|Number of errors encountered for data export|exportId, exportDisplayName, destinationId, destinationDisplayName| +|dataExport.messages.filtered|Yes|Data Export Messages Filtered|Count|Total|Number of messages that have passed through filters in data export|exportId, exportDisplayName, destinationId, destinationDisplayName| +|dataExport.messages.received|Yes|Data Export Messages Received|Count|Total|Number of messages incoming to data export, before filtering and enrichment processing|exportId, exportDisplayName, destinationId, destinationDisplayName| +|dataExport.messages.written|Yes|Data Export Messages Written|Count|Total|Number of messages written to a destination|exportId, exportDisplayName, destinationId, destinationDisplayName| +|dataExport.statusChange|Yes|Data Export Status Change|Count|Total|Number of status changes|exportId, exportDisplayName, destinationId, destinationDisplayName, status| +|deviceDataUsage|Yes|Total Device Data Usage|Bytes|Total|Bytes transferred to and from any devices connected to IoT Central application|No Dimensions| +|provisionedDeviceCount|No|Total Provisioned Devices|Count|Average|Number of devices provisioned in IoT Central application|No Dimensions| + + +## Microsoft.KeyVault/managedHSMs + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|No|Overall Vault Availability|Percent|Average|Vault requests availability|ActivityType, ActivityName, StatusCode, StatusCodeClass| +|ServiceApiHit|Yes|Total Service Api Hits|Count|Count|Number of total service api hits|ActivityType, ActivityName| +|ServiceApiLatency|No|Overall Service Api Latency|Milliseconds|Average|Overall latency of service api requests|ActivityType, ActivityName, StatusCode, StatusCodeClass| +|ServiceApiResult|Yes|Total Service Api Results|Count|Count|Gets the available metrics for a Managed HSM pool|ActivityType, ActivityName, StatusCode, StatusCodeClass| + + +## Microsoft.KeyVault/vaults + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Overall Vault Availability|Percent|Average|Vault requests availability|ActivityType, ActivityName, StatusCode, StatusCodeClass| +|SaturationShoebox|No|Overall Vault Saturation|Percent|Average|Vault capacity used|ActivityType, ActivityName, TransactionType| +|ServiceApiHit|Yes|Total Service Api Hits|Count|Count|Number of total service api hits|ActivityType, ActivityName| +|ServiceApiLatency|Yes|Overall Service Api Latency|Milliseconds|Average|Overall latency of service api requests|ActivityType, ActivityName, StatusCode, StatusCodeClass| +|ServiceApiResult|Yes|Total Service Api Results|Count|Count|Number of total service api results|ActivityType, ActivityName, StatusCode, StatusCodeClass| + + +## microsoft.kubernetes/connectedClusters + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|capacity_cpu_cores|Yes|Total number of cpu cores in a connected cluster|Count|Total|Total number of cpu cores in a connected cluster|No Dimensions| + + +## Microsoft.Kusto/Clusters + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BatchBlobCount|Yes|Batch Blob Count|Count|Average|Number of data sources in an aggregated batch for ingestion.|Database| +|BatchDuration|Yes|Batch Duration|Seconds|Average|The duration of the aggregation phase in the ingestion flow.|Database| +|BatchesProcessed|Yes|Batches Processed|Count|Total|Number of batches aggregated for ingestion. Batching Type: whether the batch reached batching time, data size or number of files limit set by batching policy|Database, SealReason| +|BatchSize|Yes|Batch Size|Bytes|Average|Uncompressed expected data size in an aggregated batch for ingestion.|Database| +|BlobsDropped|Yes|Blobs Dropped|Count|Total|Number of blobs permanently rejected by a component.|Database, ComponentType, ComponentName| +|BlobsProcessed|Yes|Blobs Processed|Count|Total|Number of blobs processed by a component.|Database, ComponentType, ComponentName| +|BlobsReceived|Yes|Blobs Received|Count|Total|Number of blobs received from input stream by a component.|Database, ComponentType, ComponentName| +|CacheUtilization|Yes|Cache utilization|Percent|Average|Utilization level in the cluster scope|No Dimensions| +|CacheUtilizationFactor|Yes|Cache utilization factor|Percent|Average|Percentage difference between the current number of instances and the optimal number of instances (per cache utilization)|No Dimensions| +|ContinuousExportMaxLatenessMinutes|Yes|Continuous Export Max Lateness|Count|Maximum|The lateness (in minutes) reported by the continuous export jobs in the cluster|No Dimensions| +|ContinuousExportNumOfRecordsExported|Yes|Continuous export - num of exported records|Count|Total|Number of records exported, fired for every storage artifact written during the export operation|ContinuousExportName, Database| +|ContinuousExportPendingCount|Yes|Continuous Export Pending Count|Count|Maximum|The number of pending continuous export jobs ready for execution|No Dimensions| +|ContinuousExportResult|Yes|Continuous Export Result|Count|Count|Indicates whether Continuous Export succeeded or failed|ContinuousExportName, Result, Database| +|CPU|Yes|CPU|Percent|Average|CPU utilization level|No Dimensions| +|DiscoveryLatency|Yes|Discovery Latency|Seconds|Average|Reported by data connections (if exist). Time in seconds from when a message is enqueued or event is created until it is discovered by data connection. This time is not included in the Azure Data Explorer total ingestion duration.|ComponentType, ComponentName| +|EventsDropped|Yes|Events Dropped|Count|Total|Number of events dropped permanently by data connection. An Ingestion result metric with a failure reason will be sent.|ComponentType, ComponentName| +|EventsProcessed|Yes|Events Processed|Count|Total|Number of events processed by the cluster|ComponentType, ComponentName| +|EventsProcessedForEventHubs|Yes|Events Processed (for Event/IoT Hubs)|Count|Total|Number of events processed by the cluster when ingesting from Event/IoT Hub|EventStatus| +|EventsReceived|Yes|Events Received|Count|Total|Number of events received by data connection.|ComponentType, ComponentName| +|ExportUtilization|Yes|Export Utilization|Percent|Maximum|Export utilization|No Dimensions| +|IngestionLatencyInSeconds|Yes|Ingestion Latency|Seconds|Average|Latency of data ingested, from the time the data was received in the cluster until it's ready for query. The ingestion latency period depends on the ingestion scenario.|No Dimensions| +|IngestionResult|Yes|Ingestion result|Count|Total|Total number of sources that either failed or succeeded to be ingested. Splitting the metric by status, you can get detailed information about the status of the ingestion operations.|IngestionResultDetails, FailureKind| +|IngestionUtilization|Yes|Ingestion utilization|Percent|Average|Ratio of used ingestion slots in the cluster|No Dimensions| +|IngestionVolumeInMB|Yes|Ingestion Volume|Bytes|Total|Overall volume of ingested data to the cluster|Database| +|InstanceCount|Yes|Instance Count|Count|Average|Total instance count|No Dimensions| +|KeepAlive|Yes|Keep alive|Count|Average|Sanity check indicates the cluster responds to queries|No Dimensions| +|MaterializedViewAgeMinutes|Yes|Materialized View Age|Count|Average|The materialized view age in minutes|Database, MaterializedViewName| +|MaterializedViewAgeSeconds|Yes|Materialized View Age|Seconds|Average|The materialized view age in seconds|Database, MaterializedViewName| +|MaterializedViewDataLoss|Yes|Materialized View Data Loss|Count|Maximum|Indicates potential data loss in materialized view|Database, MaterializedViewName, Kind| +|MaterializedViewExtentsRebuild|Yes|Materialized View Extents Rebuild|Count|Average|Number of extents rebuild|Database, MaterializedViewName| +|MaterializedViewHealth|Yes|Materialized View Health|Count|Average|The health of the materialized view (1 for healthy, 0 for non-healthy)|Database, MaterializedViewName| +|MaterializedViewRecordsInDelta|Yes|Materialized View Records In Delta|Count|Average|The number of records in the non-materialized part of the view|Database, MaterializedViewName| +|MaterializedViewResult|Yes|Materialized View Result|Count|Average|The result of the materialization process|Database, MaterializedViewName, Result| +|QueryDuration|Yes|Query duration|Milliseconds|Average|Queries' duration in seconds|QueryStatus| +|QueryResult|No|Query Result|Count|Count|Total number of queries.|QueryStatus| +|QueueLength|Yes|Queue Length|Count|Average|Number of pending messages in a component's queue.|ComponentType| +|QueueOldestMessage|Yes|Queue Oldest Message|Count|Average|Time in seconds from when the oldest message in queue was inserted.|ComponentType| +|ReceivedDataSizeBytes|Yes|Received Data Size Bytes|Bytes|Average|Size of data received by data connection. This is the size of the data stream, or of raw data size if provided.|ComponentType, ComponentName| +|StageLatency|Yes|Stage Latency|Seconds|Average|Cumulative time from when a message is discovered until it is received by the reporting component for processing (discovery time is set when message is enqueued for ingestion queue, or when discovered by data connection).|Database, ComponentType| +|SteamingIngestRequestRate|Yes|Streaming Ingest Request Rate|Count|RateRequestsPerSecond|Streaming ingest request rate (requests per second)|No Dimensions| +|StreamingIngestDataRate|Yes|Streaming Ingest Data Rate|Count|Average|Streaming ingest data rate (MB per second)|No Dimensions| +|StreamingIngestDuration|Yes|Streaming Ingest Duration|Milliseconds|Average|Streaming ingest duration in milliseconds|No Dimensions| +|StreamingIngestResults|Yes|Streaming Ingest Result|Count|Count|Streaming ingest result|Result| +|TotalNumberOfConcurrentQueries|Yes|Total number of concurrent queries|Count|Maximum|Total number of concurrent queries|No Dimensions| +|TotalNumberOfExtents|Yes|Total number of extents|Count|Average|Total number of data extents|No Dimensions| +|TotalNumberOfThrottledCommands|Yes|Total number of throttled commands|Count|Total|Total number of throttled commands|CommandType| +|TotalNumberOfThrottledQueries|Yes|Total number of throttled queries|Count|Maximum|Total number of throttled queries|No Dimensions| +|WeakConsistencyLatency|Yes|Weak consistency latency|Seconds|Average|The max latency between the previous metadata sync and the next one (in DB/node scope)|Database, RoleInstance| + + +## Microsoft.Logic/integrationServiceEnvironments + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActionLatency|Yes|Action Latency |Seconds|Average|Latency of completed workflow actions.|No Dimensions| +|ActionsCompleted|Yes|Actions Completed |Count|Total|Number of workflow actions completed.|No Dimensions| +|ActionsFailed|Yes|Actions Failed |Count|Total|Number of workflow actions failed.|No Dimensions| +|ActionsSkipped|Yes|Actions Skipped |Count|Total|Number of workflow actions skipped.|No Dimensions| +|ActionsStarted|Yes|Actions Started |Count|Total|Number of workflow actions started.|No Dimensions| +|ActionsSucceeded|Yes|Actions Succeeded |Count|Total|Number of workflow actions succeeded.|No Dimensions| +|ActionSuccessLatency|Yes|Action Success Latency |Seconds|Average|Latency of succeeded workflow actions.|No Dimensions| +|ActionThrottledEvents|Yes|Action Throttled Events|Count|Total|Number of workflow action throttled events..|No Dimensions| +|IntegrationServiceEnvironmentConnectorMemoryUsage|Yes|Connector Memory Usage for Integration Service Environment|Percent|Average|Connector memory usage for integration service environment.|No Dimensions| +|IntegrationServiceEnvironmentConnectorProcessorUsage|Yes|Connector Processor Usage for Integration Service Environment|Percent|Average|Connector processor usage for integration service environment.|No Dimensions| +|IntegrationServiceEnvironmentWorkflowMemoryUsage|Yes|Workflow Memory Usage for Integration Service Environment|Percent|Average|Workflow memory usage for integration service environment.|No Dimensions| +|IntegrationServiceEnvironmentWorkflowProcessorUsage|Yes|Workflow Processor Usage for Integration Service Environment|Percent|Average|Workflow processor usage for integration service environment.|No Dimensions| +|RunFailurePercentage|Yes|Run Failure Percentage|Percent|Total|Percentage of workflow runs failed.|No Dimensions| +|RunLatency|Yes|Run Latency|Seconds|Average|Latency of completed workflow runs.|No Dimensions| +|RunsCancelled|Yes|Runs Cancelled|Count|Total|Number of workflow runs cancelled.|No Dimensions| +|RunsCompleted|Yes|Runs Completed|Count|Total|Number of workflow runs completed.|No Dimensions| +|RunsFailed|Yes|Runs Failed|Count|Total|Number of workflow runs failed.|No Dimensions| +|RunsStarted|Yes|Runs Started|Count|Total|Number of workflow runs started.|No Dimensions| +|RunsSucceeded|Yes|Runs Succeeded|Count|Total|Number of workflow runs succeeded.|No Dimensions| +|RunStartThrottledEvents|Yes|Run Start Throttled Events|Count|Total|Number of workflow run start throttled events.|No Dimensions| +|RunSuccessLatency|Yes|Run Success Latency|Seconds|Average|Latency of succeeded workflow runs.|No Dimensions| +|RunThrottledEvents|Yes|Run Throttled Events|Count|Total|Number of workflow action or trigger throttled events.|No Dimensions| +|TriggerFireLatency|Yes|Trigger Fire Latency |Seconds|Average|Latency of fired workflow triggers.|No Dimensions| +|TriggerLatency|Yes|Trigger Latency |Seconds|Average|Latency of completed workflow triggers.|No Dimensions| +|TriggersCompleted|Yes|Triggers Completed |Count|Total|Number of workflow triggers completed.|No Dimensions| +|TriggersFailed|Yes|Triggers Failed |Count|Total|Number of workflow triggers failed.|No Dimensions| +|TriggersFired|Yes|Triggers Fired |Count|Total|Number of workflow triggers fired.|No Dimensions| +|TriggersSkipped|Yes|Triggers Skipped|Count|Total|Number of workflow triggers skipped.|No Dimensions| +|TriggersStarted|Yes|Triggers Started |Count|Total|Number of workflow triggers started.|No Dimensions| +|TriggersSucceeded|Yes|Triggers Succeeded |Count|Total|Number of workflow triggers succeeded.|No Dimensions| +|TriggerSuccessLatency|Yes|Trigger Success Latency |Seconds|Average|Latency of succeeded workflow triggers.|No Dimensions| +|TriggerThrottledEvents|Yes|Trigger Throttled Events|Count|Total|Number of workflow trigger throttled events.|No Dimensions| + + +## Microsoft.Logic/workflows + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActionLatency|Yes|Action Latency |Seconds|Average|Latency of completed workflow actions.|No Dimensions| +|ActionsCompleted|Yes|Actions Completed |Count|Total|Number of workflow actions completed.|No Dimensions| +|ActionsFailed|Yes|Actions Failed |Count|Total|Number of workflow actions failed.|No Dimensions| +|ActionsSkipped|Yes|Actions Skipped |Count|Total|Number of workflow actions skipped.|No Dimensions| +|ActionsStarted|Yes|Actions Started |Count|Total|Number of workflow actions started.|No Dimensions| +|ActionsSucceeded|Yes|Actions Succeeded |Count|Total|Number of workflow actions succeeded.|No Dimensions| +|ActionSuccessLatency|Yes|Action Success Latency |Seconds|Average|Latency of succeeded workflow actions.|No Dimensions| +|ActionThrottledEvents|Yes|Action Throttled Events|Count|Total|Number of workflow action throttled events..|No Dimensions| +|BillableActionExecutions|Yes|Billable Action Executions|Count|Total|Number of workflow action executions getting billed.|No Dimensions| +|BillableTriggerExecutions|Yes|Billable Trigger Executions|Count|Total|Number of workflow trigger executions getting billed.|No Dimensions| +|BillingUsageNativeOperation|Yes|Billing Usage for Native Operation Executions|Count|Total|Number of native operation executions getting billed.|No Dimensions| +|BillingUsageStandardConnector|Yes|Billing Usage for Standard Connector Executions|Count|Total|Number of standard connector executions getting billed.|No Dimensions| +|BillingUsageStorageConsumption|Yes|Billing Usage for Storage Consumption Executions|Count|Total|Number of storage consumption executions getting billed.|No Dimensions| +|RunFailurePercentage|Yes|Run Failure Percentage|Percent|Total|Percentage of workflow runs failed.|No Dimensions| +|RunLatency|Yes|Run Latency|Seconds|Average|Latency of completed workflow runs.|No Dimensions| +|RunsCancelled|Yes|Runs Cancelled|Count|Total|Number of workflow runs cancelled.|No Dimensions| +|RunsCompleted|Yes|Runs Completed|Count|Total|Number of workflow runs completed.|No Dimensions| +|RunsFailed|Yes|Runs Failed|Count|Total|Number of workflow runs failed.|No Dimensions| +|RunsStarted|Yes|Runs Started|Count|Total|Number of workflow runs started.|No Dimensions| +|RunsSucceeded|Yes|Runs Succeeded|Count|Total|Number of workflow runs succeeded.|No Dimensions| +|RunStartThrottledEvents|Yes|Run Start Throttled Events|Count|Total|Number of workflow run start throttled events.|No Dimensions| +|RunSuccessLatency|Yes|Run Success Latency|Seconds|Average|Latency of succeeded workflow runs.|No Dimensions| +|RunThrottledEvents|Yes|Run Throttled Events|Count|Total|Number of workflow action or trigger throttled events.|No Dimensions| +|TotalBillableExecutions|Yes|Total Billable Executions|Count|Total|Number of workflow executions getting billed.|No Dimensions| +|TriggerFireLatency|Yes|Trigger Fire Latency |Seconds|Average|Latency of fired workflow triggers.|No Dimensions| +|TriggerLatency|Yes|Trigger Latency |Seconds|Average|Latency of completed workflow triggers.|No Dimensions| +|TriggersCompleted|Yes|Triggers Completed |Count|Total|Number of workflow triggers completed.|No Dimensions| +|TriggersFailed|Yes|Triggers Failed |Count|Total|Number of workflow triggers failed.|No Dimensions| +|TriggersFired|Yes|Triggers Fired |Count|Total|Number of workflow triggers fired.|No Dimensions| +|TriggersSkipped|Yes|Triggers Skipped|Count|Total|Number of workflow triggers skipped.|No Dimensions| +|TriggersStarted|Yes|Triggers Started |Count|Total|Number of workflow triggers started.|No Dimensions| +|TriggersSucceeded|Yes|Triggers Succeeded |Count|Total|Number of workflow triggers succeeded.|No Dimensions| +|TriggerSuccessLatency|Yes|Trigger Success Latency |Seconds|Average|Latency of succeeded workflow triggers.|No Dimensions| +|TriggerThrottledEvents|Yes|Trigger Throttled Events|Count|Total|Number of workflow trigger throttled events.|No Dimensions| + + +## Microsoft.MachineLearningServices/workspaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Active Cores|Yes|Active Cores|Count|Average|Number of active cores|Scenario, ClusterName| +|Active Nodes|Yes|Active Nodes|Count|Average|Number of Acitve nodes. These are the nodes which are actively running a job.|Scenario, ClusterName| +|Cancel Requested Runs|Yes|Cancel Requested Runs|Count|Total|Number of runs where cancel was requested for this workspace. Count is updated when cancellation request has been received for a run.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Cancelled Runs|Yes|Cancelled Runs|Count|Total|Number of runs cancelled for this workspace. Count is updated when a run is successfully cancelled.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Completed Runs|Yes|Completed Runs|Count|Total|Number of runs completed successfully for this workspace. Count is updated when a run has completed and output has been collected.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|CpuCapacityMillicores|Yes|CpuCapacityMillicores|Count|Average|Maximum capacity of a CPU node in millicores. Capacity is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|CpuMemoryCapacityMegabytes|Yes|CpuMemoryCapacityMegabytes|Count|Average|Maximum memory utilization of a CPU node in megabytes. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|CpuMemoryUtilizationMegabytes|Yes|CpuMemoryUtilizationMegabytes|Count|Average|Memory utilization of a CPU node in megabytes. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|CpuMemoryUtilizationPercentage|Yes|CpuMemoryUtilizationPercentage|Count|Average|Memory utilization percentage of a CPU node. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|CpuUtilization|Yes|CpuUtilization|Count|Average|Percentage of utilization on a CPU node. Utilization is reported at one minute intervals.|Scenario, runId, NodeId, ClusterName| +|CpuUtilizationMillicores|Yes|CpuUtilizationMillicores|Count|Average|Utilization of a CPU node in millicores. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|CpuUtilizationPercentage|Yes|CpuUtilizationPercentage|Count|Average|Utilization percentage of a CPU node. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|DiskAvailMegabytes|Yes|DiskAvailMegabytes|Count|Average|Available disk space in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|DiskReadMegabytes|Yes|DiskReadMegabytes|Count|Average|Data read from disk in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|DiskUsedMegabytes|Yes|DiskUsedMegabytes|Count|Average|Used disk space in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|DiskWriteMegabytes|Yes|DiskWriteMegabytes|Count|Average|Data written into disk in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|Errors|Yes|Errors|Count|Total|Number of run errors in this workspace. Count is updated whenever run encounters an error.|Scenario| +|Failed Runs|Yes|Failed Runs|Count|Total|Number of runs failed for this workspace. Count is updated when a run fails.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Finalizing Runs|Yes|Finalizing Runs|Count|Total|Number of runs entered finalizing state for this workspace. Count is updated when a run has completed but output collection still in progress.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|GpuCapacityMilliGPUs|Yes|GpuCapacityMilliGPUs|Count|Average|Maximum capacity of a GPU device in milli-GPUs. Capacity is aggregated in one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| +|GpuEnergyJoules|Yes|GpuEnergyJoules|Count|Total|Interval energy in Joules on a GPU node. Energy is reported at one minute intervals.|Scenario, runId, rootRunId, InstanceId, DeviceId, ComputeName| +|GpuMemoryCapacityMegabytes|Yes|GpuMemoryCapacityMegabytes|Count|Average|Maximum memory capacity of a GPU device in megabytes. Capacity aggregated in at one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| +|GpuMemoryUtilization|Yes|GpuMemoryUtilization|Count|Average|Percentage of memory utilization on a GPU node. Utilization is reported at one minute intervals.|Scenario, runId, NodeId, DeviceId, ClusterName| +|GpuMemoryUtilizationMegabytes|Yes|GpuMemoryUtilizationMegabytes|Count|Average|Memory utilization of a GPU device in megabytes. Utilization aggregated in at one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| +|GpuMemoryUtilizationPercentage|Yes|GpuMemoryUtilizationPercentage|Count|Average|Memory utilization percentage of a GPU device. Utilization aggregated in at one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| +|GpuUtilization|Yes|GpuUtilization|Count|Average|Percentage of utilization on a GPU node. Utilization is reported at one minute intervals.|Scenario, runId, NodeId, DeviceId, ClusterName| +|GpuUtilizationMilliGPUs|Yes|GpuUtilizationMilliGPUs|Count|Average|Utilization of a GPU device in milli-GPUs. Utilization is aggregated in one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| +|GpuUtilizationPercentage|Yes|GpuUtilizationPercentage|Count|Average|Utilization percentage of a GPU device. Utilization is aggregated in one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| +|IBReceiveMegabytes|Yes|IBReceiveMegabytes|Count|Average|Network data received over InfiniBand in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|IBTransmitMegabytes|Yes|IBTransmitMegabytes|Count|Average|Network data sent over InfiniBand in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|Idle Cores|Yes|Idle Cores|Count|Average|Number of idle cores|Scenario, ClusterName| +|Idle Nodes|Yes|Idle Nodes|Count|Average|Number of idle nodes. Idle nodes are the nodes which are not running any jobs but can accept new job if available.|Scenario, ClusterName| +|Leaving Cores|Yes|Leaving Cores|Count|Average|Number of leaving cores|Scenario, ClusterName| +|Leaving Nodes|Yes|Leaving Nodes|Count|Average|Number of leaving nodes. Leaving nodes are the nodes which just finished processing a job and will go to Idle state.|Scenario, ClusterName| +|Model Deploy Failed|Yes|Model Deploy Failed|Count|Total|Number of model deployments that failed in this workspace|Scenario, StatusCode| +|Model Deploy Started|Yes|Model Deploy Started|Count|Total|Number of model deployments started in this workspace|Scenario| +|Model Deploy Succeeded|Yes|Model Deploy Succeeded|Count|Total|Number of model deployments that succeeded in this workspace|Scenario| +|Model Register Failed|Yes|Model Register Failed|Count|Total|Number of model registrations that failed in this workspace|Scenario, StatusCode| +|Model Register Succeeded|Yes|Model Register Succeeded|Count|Total|Number of model registrations that succeeded in this workspace|Scenario| +|NetworkInputMegabytes|Yes|NetworkInputMegabytes|Count|Average|Network data received in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|NetworkOutputMegabytes|Yes|NetworkOutputMegabytes|Count|Average|Network data sent in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| +|Not Responding Runs|Yes|Not Responding Runs|Count|Total|Number of runs not responding for this workspace. Count is updated when a run enters Not Responding state.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Not Started Runs|Yes|Not Started Runs|Count|Total|Number of runs in Not Started state for this workspace. Count is updated when a request is received to create a run but run information has not yet been populated. |Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Preempted Cores|Yes|Preempted Cores|Count|Average|Number of preempted cores|Scenario, ClusterName| +|Preempted Nodes|Yes|Preempted Nodes|Count|Average|Number of preempted nodes. These nodes are the low priority nodes which are taken away from the available node pool.|Scenario, ClusterName| +|Preparing Runs|Yes|Preparing Runs|Count|Total|Number of runs that are preparing for this workspace. Count is updated when a run enters Preparing state while the run environment is being prepared.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Provisioning Runs|Yes|Provisioning Runs|Count|Total|Number of runs that are provisioning for this workspace. Count is updated when a run is waiting on compute target creation or provisioning.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Queued Runs|Yes|Queued Runs|Count|Total|Number of runs that are queued for this workspace. Count is updated when a run is queued in compute target. Can occure when waiting for required compute nodes to be ready.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Quota Utilization Percentage|Yes|Quota Utilization Percentage|Count|Average|Percent of quota utilized|Scenario, ClusterName, VmFamilyName, VmPriority| +|Started Runs|Yes|Started Runs|Count|Total|Number of runs running for this workspace. Count is updated when run starts running on required resources.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|Starting Runs|Yes|Starting Runs|Count|Total|Number of runs started for this workspace. Count is updated after request to create run and run info, such as the Run Id, has been populated|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| +|StorageAPIFailureCount|Yes|StorageAPIFailureCount|Count|Total|Azure Blob Storage API calls failure count.|RunId, InstanceId, ComputeName| +|StorageAPISuccessCount|Yes|StorageAPISuccessCount|Count|Total|Azure Blob Storage API calls success count.|RunId, InstanceId, ComputeName| +|Total Cores|Yes|Total Cores|Count|Average|Number of total cores|Scenario, ClusterName| +|Total Nodes|Yes|Total Nodes|Count|Average|Number of total nodes. This total includes some of Active Nodes, Idle Nodes, Unusable Nodes, Premepted Nodes, Leaving Nodes|Scenario, ClusterName| +|Unusable Cores|Yes|Unusable Cores|Count|Average|Number of unusable cores|Scenario, ClusterName| +|Unusable Nodes|Yes|Unusable Nodes|Count|Average|Number of unusable nodes. Unusable nodes are not functional due to some unresolvable issue. Azure will recycle these nodes.|Scenario, ClusterName| +|Warnings|Yes|Warnings|Count|Total|Number of run warnings in this workspace. Count is updated whenever a run encounters a warning.|Scenario| + + +## Microsoft.Maps/accounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|Availability of the APIs|ApiCategory, ApiName| +|CreatorUsage|No|Creator Usage|Bytes|Average|Azure Maps Creator usage statistics|ServiceName| +|Usage|No|Usage|Count|Count|Count of API calls|ApiCategory, ApiName, ResultType, ResponseCode| + + +## Microsoft.Media/mediaservices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AssetCount|Yes|Asset count|Count|Average|How many assets are already created in current media service account|No Dimensions| +|AssetQuota|Yes|Asset quota|Count|Average|How many assets are allowed for current media service account|No Dimensions| +|AssetQuotaUsedPercentage|Yes|Asset quota used percentage|Percent|Average|Asset used percentage in current media service account|No Dimensions| +|ChannelsAndLiveEventsCount|Yes|Live event count|Count|Average|The total number of live events in the current media services account|No Dimensions| +|ContentKeyPolicyCount|Yes|Content Key Policy count|Count|Average|How many content key policies are already created in current media service account|No Dimensions| +|ContentKeyPolicyQuota|Yes|Content Key Policy quota|Count|Average|How many content key polices are allowed for current media service account|No Dimensions| +|ContentKeyPolicyQuotaUsedPercentage|Yes|Content Key Policy quota used percentage|Percent|Average|Content Key Policy used percentage in current media service account|No Dimensions| +|MaxChannelsAndLiveEventsCount|Yes|Max live event quota|Count|Average|The maximum number of live events allowed in the current media services account|No Dimensions| +|MaxRunningChannelsAndLiveEventsCount|Yes|Max running live event quota|Count|Average|The maximum number of running live events allowed in the current media services account|No Dimensions| +|RunningChannelsAndLiveEventsCount|Yes|Running live event count|Count|Average|The total number of running live events in the current media services account|No Dimensions| +|StreamingPolicyCount|Yes|Streaming Policy count|Count|Average|How many streaming policies are already created in current media service account|No Dimensions| +|StreamingPolicyQuota|Yes|Streaming Policy quota|Count|Average|How many streaming policies are allowed for current media service account|No Dimensions| +|StreamingPolicyQuotaUsedPercentage|Yes|Streaming Policy quota used percentage|Percent|Average|Streaming Policy used percentage in current media service account|No Dimensions| + + +## Microsoft.Media/mediaservices/liveEvents + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|IngestBitrate|Yes|Live Event ingest bitrate|BitsPerSecond|Average|The incoming bitrate ingested for a live event, in bits per second.|TrackName| +|IngestDriftValue|Yes|Live Event ingest drift value|Seconds|Maximum|Drift between the timestamp of the ingested content and the system clock, measured in seconds per minute. A non zero value indicates that the ingested content is arriving slower than system clock time.|TrackName| +|IngestLastTimestamp|Yes|Live Event ingest last timestamp|Milliseconds|Maximum|Last timestamp ingested for a live event.|TrackName| +|LiveOutputLastTimestamp|Yes|Last output timestamp|Milliseconds|Maximum|Timestamp of the last fragment uploaded to storage for a live event output.|TrackName| + + +## Microsoft.Media/mediaservices/streamingEndpoints + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CPU|Yes|CPU usage|Percent|Average|CPU usage for premium streaming endpoints. This data is not available for standard streaming endpoints.|No Dimensions| +|Egress|Yes|Egress|Bytes|Total|The amount of Egress data, in bytes.|OutputFormat| +|EgressBandwidth|No|Egress bandwidth|BitsPerSecond|Average|Egress bandwidth in bits per second.|No Dimensions| +|Requests|Yes|Requests|Count|Total|Requests to a Streaming Endpoint.|OutputFormat, HttpStatusCode, ErrorCode| +|SuccessE2ELatency|Yes|Success end to end Latency|Milliseconds|Average|The average latency for successful requests in milliseconds.|OutputFormat| + + +## Microsoft.Media/videoanalyzers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|IngressBytes|Yes|Ingress Bytes|Bytes|Total|The number of bytes ingressed by the pipeline node.|PipelineKind, PipelineTopology, Pipeline, Node| +|Pipelines|Yes|Pipelines|Count|Total|The number of pipelines of each kind and state|PipelineKind, PipelineTopology, PipelineState| + + +## Microsoft.MixedReality/remoteRenderingAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActiveRenderingSessions|Yes|Active Rendering Sessions|Count|Average|Total number of active rendering sessions|SessionType, SDKVersion| +|AssetsConverted|Yes|Assets Converted|Count|Total|Total number of assets converted|SDKVersion| + + +## Microsoft.MixedReality/spatialAnchorsAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AnchorsCreated|Yes|Anchors Created|Count|Total|Number of Anchors created|DeviceFamily, SDKVersion| +|AnchorsDeleted|Yes|Anchors Deleted|Count|Total|Number of Anchors deleted|DeviceFamily, SDKVersion| +|AnchorsQueried|Yes|Anchors Queried|Count|Total|Number of Spatial Anchors queried|DeviceFamily, SDKVersion| +|AnchorsUpdated|Yes|Anchors Updated|Count|Total|Number of Anchors updated|DeviceFamily, SDKVersion| +|PosesFound|Yes|Poses Found|Count|Total|Number of Poses returned|DeviceFamily, SDKVersion| +|TotalDailyAnchors|Yes|Total Daily Anchors|Count|Average|Total number of Anchors - Daily|DeviceFamily, SDKVersion| + + +## Microsoft.NetApp/netAppAccounts/capacityPools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|VolumePoolAllocatedSize|Yes|Pool Allocated Size|Bytes|Average|Provisioned size of this pool|No Dimensions| +|VolumePoolAllocatedToVolumeThroughput|Yes|Pool allocated throughput|BytesPerSecond|Average|Sum of the throughput of all the volumes belonging to the pool|No Dimensions| +|VolumePoolAllocatedUsed|Yes|Pool Allocated To Volume Size|Bytes|Average|Allocated used size of the pool|No Dimensions| +|VolumePoolProvisionedThroughput|Yes|Provisioned throughput for the pool|BytesPerSecond|Average|Provisioned throughput of this pool|No Dimensions| +|VolumePoolTotalLogicalSize|Yes|Pool Consumed Size|Bytes|Average|Sum of the logical size of all the volumes belonging to the pool|No Dimensions| +|VolumePoolTotalSnapshotSize|Yes|Total Snapshot size for the pool|Bytes|Average|Sum of snapshot size of all volumes in this pool|No Dimensions| + + +## Microsoft.NetApp/netAppAccounts/capacityPools/volumes + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AverageReadLatency|Yes|Average read latency|MilliSeconds|Average|Average read latency in milliseconds per operation|No Dimensions| +|AverageWriteLatency|Yes|Average write latency|MilliSeconds|Average|Average write latency in milliseconds per operation|No Dimensions| +|CbsVolumeBackupActive|Yes|Is Volume Backup suspended|Count|Average|Is the backup policy suspended for the volume? 0 if yes, 1 if no.|No Dimensions| +|CbsVolumeLogicalBackupBytes|Yes|Volume Backup Bytes|Bytes|Average|Total bytes backed up for this Volume.|No Dimensions| +|CbsVolumeOperationComplete|Yes|Is Volume Backup Operation Complete|Count|Average|Did the last volume backup or restore operation complete successfully? 1 if yes, 0 if no.|No Dimensions| +|CbsVolumeOperationTransferredBytes|Yes|Volume Backup Last Transferred Bytes|Bytes|Average|Total bytes transferred for last backup or restore operation.|No Dimensions| +|CbsVolumeProtected|Yes|Is Volume Backup Enabled|Count|Average|Is backup enabled for the volume? 1 if yes, 0 if no.|No Dimensions| +|OtherThroughput|Yes|Other throughput|BytesPerSecond|Average|Other throughput (that is not read or write) in bytes per second|No Dimensions| +|ReadIops|Yes|Read iops|CountPerSecond|Average|Read In/out operations per second|No Dimensions| +|ReadThroughput|Yes|Read throughput|BytesPerSecond|Average|Read throughput in bytes per second|No Dimensions| +|TotalThroughput|Yes|Total throughput|BytesPerSecond|Average|Sum of all throughput in bytes per second|No Dimensions| +|VolumeAllocatedSize|Yes|Volume allocated size|Bytes|Average|The provisioned size of a volume|No Dimensions| +|VolumeConsumedSizePercentage|Yes|Percentage Volume Consumed Size|Percent|Average|The percentage of the volume consumed including snapshots.|No Dimensions| +|VolumeCoolTierDataReadSize|Yes|Volume cool tier data read size|Bytes|Average|Data read in using GET per volume|No Dimensions| +|VolumeCoolTierDataWriteSize|Yes|Volume cool tier data write size|Bytes|Average|Data tiered out using PUT per volume|No Dimensions| +|VolumeCoolTierSize|Yes|Volume cool tier size|Bytes|Average|Volume Footprint for Cool Tier|No Dimensions| +|VolumeLogicalSize|Yes|Volume Consumed Size|Bytes|Average|Logical size of the volume (used bytes)|No Dimensions| +|VolumeSnapshotSize|Yes|Volume snapshot size|Bytes|Average|Size of all snapshots in volume|No Dimensions| +|WriteIops|Yes|Write iops|CountPerSecond|Average|Write In/out operations per second|No Dimensions| +|WriteThroughput|Yes|Write throughput|BytesPerSecond|Average|Write throughput in bytes per second|No Dimensions| +|XregionReplicationHealthy|Yes|Is volume replication status healthy|Count|Average|Condition of the relationship, 1 or 0.|No Dimensions| +|XregionReplicationLagTime|Yes|Volume replication lag time|Seconds|Average|The amount of time in seconds by which the data on the mirror lags behind the source.|No Dimensions| +|XregionReplicationLastTransferDuration|Yes|Volume replication last transfer duration|Seconds|Average|The amount of time in seconds it took for the last transfer to complete.|No Dimensions| +|XregionReplicationLastTransferSize|Yes|Volume replication last transfer size|Bytes|Average|The total number of bytes transferred as part of the last transfer.|No Dimensions| +|XregionReplicationRelationshipProgress|Yes|Volume replication progress|Bytes|Average|Total amount of data transferred for the current transfer operation.|No Dimensions| +|XregionReplicationRelationshipTransferring|Yes|Is volume replication transferring|Count|Average|Whether the status of the Volume Replication is 'transferring'.|No Dimensions| +|XregionReplicationTotalTransferBytes|Yes|Volume replication total transfer|Bytes|Average|Cumulative bytes transferred for the relationship.|No Dimensions| + + +## Microsoft.Network/applicationGateways + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ApplicationGatewayTotalTime|No|Application Gateway Total Time|MilliSeconds|Average|Average time that it takes for a request to be processed and its response to be sent. This is calculated as average of the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes. It's important to note that this usually includes the Application Gateway processing time, time that the request and response packets are traveling over the network and the time the backend server took to respond.|Listener| +|AvgRequestCountPerHealthyHost|No|Requests per minute per Healthy Host|Count|Average|Average request count per minute per healthy backend host in a pool|BackendSettingsPool| +|BackendConnectTime|No|Backend Connect Time|MilliSeconds|Average|Time spent establishing a connection with a backend server|Listener, BackendServer, BackendPool, BackendHttpSetting| +|BackendFirstByteResponseTime|No|Backend First Byte Response Time|MilliSeconds|Average|Time interval between start of establishing a connection to backend server and receiving the first byte of the response header, approximating processing time of backend server|Listener, BackendServer, BackendPool, BackendHttpSetting| +|BackendLastByteResponseTime|No|Backend Last Byte Response Time|MilliSeconds|Average|Time interval between start of establishing a connection to backend server and receiving the last byte of the response body|Listener, BackendServer, BackendPool, BackendHttpSetting| +|BackendResponseStatus|Yes|Backend Response Status|Count|Total|The number of HTTP response codes generated by the backend members. This does not include any response codes generated by the Application Gateway.|BackendServer, BackendPool, BackendHttpSetting, HttpStatusGroup| +|BlockedCount|Yes|Web Application Firewall Blocked Requests Rule Distribution|Count|Total|Web Application Firewall blocked requests rule distribution|RuleGroup, RuleId| +|BlockedReqCount|Yes|Web Application Firewall Blocked Requests Count|Count|Total|Web Application Firewall blocked requests count|No Dimensions| +|BytesReceived|Yes|Bytes Received|Bytes|Total|The total number of bytes received by the Application Gateway from the clients|Listener| +|BytesSent|Yes|Bytes Sent|Bytes|Total|The total number of bytes sent by the Application Gateway to the clients|Listener| +|CapacityUnits|No|Current Capacity Units|Count|Average|Capacity Units consumed|No Dimensions| +|ClientRtt|No|Client RTT|MilliSeconds|Average|Average round trip time between clients and Application Gateway. This metric indicates how long it takes to establish connections and return acknowledgements|Listener| +|ComputeUnits|No|Current Compute Units|Count|Average|Compute Units consumed|No Dimensions| +|CpuUtilization|No|CPU Utilization|Percent|Average|Current CPU utilization of the Application Gateway|No Dimensions| +|CurrentConnections|Yes|Current Connections|Count|Total|Count of current connections established with Application Gateway|No Dimensions| +|EstimatedBilledCapacityUnits|No|Estimated Billed Capacity Units|Count|Average|Estimated capacity units that will be charged|No Dimensions| +|FailedRequests|Yes|Failed Requests|Count|Total|Count of failed requests that Application Gateway has served|BackendSettingsPool| +|FixedBillableCapacityUnits|No|Fixed Billable Capacity Units|Count|Average|Minimum capacity units that will be charged|No Dimensions| +|HealthyHostCount|Yes|Healthy Host Count|Count|Average|Number of healthy backend hosts|BackendSettingsPool| +|MatchedCount|Yes|Web Application Firewall Total Rule Distribution|Count|Total|Web Application Firewall Total Rule Distribution for the incoming traffic|RuleGroup, RuleId| +|NewConnectionsPerSecond|No|New connections per second|CountPerSecond|Average|New connections per second established with Application Gateway|No Dimensions| +|ResponseStatus|Yes|Response Status|Count|Total|Http response status returned by Application Gateway|HttpStatusGroup| +|Throughput|No|Throughput|BytesPerSecond|Average|Number of bytes per second the Application Gateway has served|No Dimensions| +|TlsProtocol|Yes|Client TLS Protocol|Count|Total|The number of TLS and non-TLS requests initiated by the client that established connection with the Application Gateway. To view TLS protocol distribution, filter by the dimension TLS Protocol.|Listener, TlsProtocol| +|TotalRequests|Yes|Total Requests|Count|Total|Count of successful requests that Application Gateway has served|BackendSettingsPool| +|UnhealthyHostCount|Yes|Unhealthy Host Count|Count|Average|Number of unhealthy backend hosts|BackendSettingsPool| + + +## Microsoft.Network/azurefirewalls + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ApplicationRuleHit|Yes|Application rules hit count|Count|Total|Number of times Application rules were hit|Status, Reason, Protocol| +|DataProcessed|Yes|Data processed|Bytes|Total|Total amount of data processed by this firewall|No Dimensions| +|FirewallHealth|Yes|Firewall health state|Percent|Average|Indicates the overall health of this firewall|Status, Reason| +|NetworkRuleHit|Yes|Network rules hit count|Count|Total|Number of times Network rules were hit|Status, Reason, Protocol| +|SNATPortUtilization|Yes|SNAT port utilization|Percent|Average|Percentage of outbound SNAT ports currently in use|Protocol| +|Throughput|No|Throughput|BitsPerSecond|Average|Throughput processed by this firewall|No Dimensions| + + +## microsoft.network/bastionHosts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|pingmesh|No|Bastion Communication Status|Count|Average|Communication status shows 1 if all communication is good and 0 if its bad.|No Dimensions| +|sessions|No|Session Count|Count|Total|Sessions Count for the Bastion. View in sum and per instance.|host| +|total|Yes|Total Memory|Count|Average|Total memory stats.|host| +|usage_user|No|CPU Usage|Count|Average|CPU Usage stats.|cpu, host| +|used|Yes|Memory Usage|Count|Average|Memory Usage stats.|host| + + +## Microsoft.Network/connections + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BitsInPerSecond|Yes|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|No Dimensions| +|BitsOutPerSecond|Yes|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|No Dimensions| + + +## Microsoft.Network/dnsForwardingRulesets + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ForwardingRuleCount|Yes|Forwarding Rule Count|Count|Maximum|This metric indicates the number of forwarding rules present in each DNS forwarding ruleset.|No Dimensions| +|VirtualNetworkLinkCount|Yes|Virtual Network Link Count|Count|Maximum|This metric indicates the number of associated virtual network links to a DNS forwarding ruleset.|No Dimensions| + + +## Microsoft.Network/dnsResolvers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|InboundEndpointCount|No|Inbound Endpoint Count|Count|Maximum|This metric indicates the number of inbound endpoints created for a DNS Resolver.|No Dimensions| +|OutboundEndpointCount|No|Outbound Endpoint Count|Count|Maximum|This metric indicates the number of outbound endpoints created for a DNS Resolver.|No Dimensions| + + +## Microsoft.Network/dnszones + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|QueryVolume|No|Query Volume|Count|Total|Number of queries served for a DNS zone|No Dimensions| +|RecordSetCapacityUtilization|No|Record Set Capacity Utilization|Percent|Maximum|Percent of Record Set capacity utilized by a DNS zone|No Dimensions| +|RecordSetCount|No|Record Set Count|Count|Maximum|Number of Record Sets in a DNS zone|No Dimensions| + + +## Microsoft.Network/expressRouteCircuits + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ArpAvailability|Yes|Arp Availability|Percent|Average|ARP Availability from MSEE towards all peers.|PeeringType, Peer| +|BgpAvailability|Yes|Bgp Availability|Percent|Average|BGP Availability from MSEE towards all peers.|PeeringType, Peer| +|BitsInPerSecond|Yes|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|PeeringType, DeviceRole| +|BitsOutPerSecond|Yes|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|PeeringType, DeviceRole| +|GlobalReachBitsInPerSecond|No|GlobalReachBitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|PeeredCircuitSKey| +|GlobalReachBitsOutPerSecond|No|GlobalReachBitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|PeeredCircuitSKey| +|QosDropBitsInPerSecond|Yes|DroppedInBitsPerSecond|BitsPerSecond|Average|Ingress bits of data dropped per second|No Dimensions| +|QosDropBitsOutPerSecond|Yes|DroppedOutBitsPerSecond|BitsPerSecond|Average|Egress bits of data dropped per second|No Dimensions| + + +## Microsoft.Network/expressRouteCircuits/peerings + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BitsInPerSecond|Yes|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|No Dimensions| +|BitsOutPerSecond|Yes|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|No Dimensions| + + +## Microsoft.Network/expressRouteGateways + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ErGatewayConnectionBitsInPerSecond|No|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|ConnectionName| +|ErGatewayConnectionBitsOutPerSecond|No|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|ConnectionName| +|ExpressRouteGatewayCountOfRoutesAdvertisedToPeer|Yes|Count Of Routes Advertised to Peer|Count|Maximum|Count Of Routes Advertised To Peer by ExpressRouteGateway|roleInstance| +|ExpressRouteGatewayCountOfRoutesLearnedFromPeer|Yes|Count Of Routes Learned from Peer|Count|Maximum|Count Of Routes Learned From Peer by ExpressRouteGateway|roleInstance| +|ExpressRouteGatewayCpuUtilization|Yes|CPU utilization|Percent|Average|CPU Utilization of the ExpressRoute Gateway|roleInstance| +|ExpressRouteGatewayFrequencyOfRoutesChanged|No|Frequency of Routes change|Count|Total|Frequency of Routes change in ExpressRoute Gateway|roleInstance| +|ExpressRouteGatewayNumberOfVmInVnet|No|Number of VMs in the Virtual Network|Count|Maximum|Number of VMs in the Virtual Network|No Dimensions| +|ExpressRouteGatewayPacketsPerSecond|No|Packets per second|CountPerSecond|Average|Packet count of ExpressRoute Gateway|roleInstance| + + +## Microsoft.Network/expressRoutePorts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AdminState|Yes|AdminState|Count|Average|Admin state of the port|Link| +|LineProtocol|Yes|LineProtocol|Count|Average|Line protocol status of the port|Link| +|PortBitsInPerSecond|No|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|Link| +|PortBitsOutPerSecond|No|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|Link| +|RxLightLevel|Yes|RxLightLevel|Count|Average|Rx Light level in dBm|Link, Lane| +|TxLightLevel|Yes|TxLightLevel|Count|Average|Tx light level in dBm|Link, Lane| + + +## Microsoft.Network/frontdoors + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BackendHealthPercentage|Yes|Backend Health Percentage|Percent|Average|The percentage of successful health probes from the HTTP/S proxy to backends|Backend, BackendPool| +|BackendRequestCount|Yes|Backend Request Count|Count|Total|The number of requests sent from the HTTP/S proxy to backends|HttpStatus, HttpStatusGroup, Backend| +|BackendRequestLatency|Yes|Backend Request Latency|MilliSeconds|Average|The time calculated from when the request was sent by the HTTP/S proxy to the backend until the HTTP/S proxy received the last response byte from the backend|Backend| +|BillableResponseSize|Yes|Billable Response Size|Bytes|Total|The number of billable bytes (minimum 2KB per request) sent as responses from HTTP/S proxy to clients.|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| +|RequestCount|Yes|Request Count|Count|Total|The number of client requests served by the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| +|RequestSize|Yes|Request Size|Bytes|Total|The number of bytes sent as requests from clients to the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| +|ResponseSize|Yes|Response Size|Bytes|Total|The number of bytes sent as responses from HTTP/S proxy to clients|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| +|TotalLatency|Yes|Total Latency|MilliSeconds|Average|The time calculated from when the client request was received by the HTTP/S proxy until the client acknowledged the last response byte from the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| +|WebApplicationFirewallRequestCount|Yes|Web Application Firewall Request Count|Count|Total|The number of client requests processed by the Web Application Firewall|PolicyName, RuleName, Action| + + +## Microsoft.Network/loadBalancers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AllocatedSnatPorts|No|Allocated SNAT Ports|Count|Average|Total number of SNAT ports allocated within time period|FrontendIPAddress, BackendIPAddress, ProtocolType, | +|ByteCount|Yes|Byte Count|Bytes|Total|Total number of Bytes transmitted within time period|FrontendIPAddress, FrontendPort, Direction| +|DipAvailability|Yes|Health Probe Status|Count|Average|Average Load Balancer health probe status per time duration|ProtocolType, BackendPort, FrontendIPAddress, FrontendPort, BackendIPAddress| +|PacketCount|Yes|Packet Count|Count|Total|Total number of Packets transmitted within time period|FrontendIPAddress, FrontendPort, Direction| +|SnatConnectionCount|Yes|SNAT Connection Count|Count|Total|Total number of new SNAT connections created within time period|FrontendIPAddress, BackendIPAddress, ConnectionState| +|SYNCount|Yes|SYN Count|Count|Total|Total number of SYN Packets transmitted within time period|FrontendIPAddress, FrontendPort, Direction| +|UsedSnatPorts|No|Used SNAT Ports|Count|Average|Total number of SNAT ports used within time period|FrontendIPAddress, BackendIPAddress, ProtocolType, | +|VipAvailability|Yes|Data Path Availability|Count|Average|Average Load Balancer data path availability per time duration|FrontendIPAddress, FrontendPort| + + +## Microsoft.Network/natGateways + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ByteCount|No|Bytes|Bytes|Total|Total number of Bytes transmitted within time period|Protocol, Direction| +|DatapathAvailability|No|Datapath Availability (Preview)|Count|Average|NAT Gateway Datapath Availability|No Dimensions| +|PacketCount|No|Packets|Count|Total|Total number of Packets transmitted within time period|Protocol, Direction| +|PacketDropCount|No|Dropped Packets|Count|Total|Count of dropped packets|No Dimensions| +|SNATConnectionCount|No|SNAT Connection Count|Count|Total|Total concurrent active connections|Protocol, ConnectionState| +|TotalConnectionCount|No|Total SNAT Connection Count|Count|Total|Total number of active SNAT connections|Protocol| + + +## Microsoft.Network/networkInterfaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BytesReceivedRate|Yes|Bytes Received|Bytes|Total|Number of bytes the Network Interface received|No Dimensions| +|BytesSentRate|Yes|Bytes Sent|Bytes|Total|Number of bytes the Network Interface sent|No Dimensions| +|PacketsReceivedRate|Yes|Packets Received|Count|Total|Number of packets the Network Interface received|No Dimensions| +|PacketsSentRate|Yes|Packets Sent|Count|Total|Number of packets the Network Interface sent|No Dimensions| + + +## Microsoft.Network/networkWatchers/connectionMonitors + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AverageRoundtripMs|Yes|Avg. Round-trip Time (ms) (classic)|MilliSeconds|Average|Average network round-trip time (ms) for connectivity monitoring probes sent between source and destination|No Dimensions| +|ChecksFailedPercent|Yes|Checks Failed Percent|Percent|Average|% of connectivity monitoring checks failed|SourceAddress, SourceName, SourceResourceId, SourceType, Protocol, DestinationAddress, DestinationName, DestinationResourceId, DestinationType, DestinationPort, TestGroupName, TestConfigurationName, SourceIP, DestinationIP, SourceSubnet, DestinationSubnet| +|ProbesFailedPercent|Yes|% Probes Failed (classic)|Percent|Average|% of connectivity monitoring probes failed|No Dimensions| +|RoundTripTimeMs|Yes|Round-Trip Time (ms)|MilliSeconds|Average|Round-trip time in milliseconds for the connectivity monitoring checks|SourceAddress, SourceName, SourceResourceId, SourceType, Protocol, DestinationAddress, DestinationName, DestinationResourceId, DestinationType, DestinationPort, TestGroupName, TestConfigurationName, SourceIP, DestinationIP, SourceSubnet, DestinationSubnet| +|TestResult|Yes|Test Result|Count|Average|Connection monitor test result|SourceAddress, SourceName, SourceResourceId, SourceType, Protocol, DestinationAddress, DestinationName, DestinationResourceId, DestinationType, DestinationPort, TestGroupName, TestConfigurationName, TestResultCriterion, SourceIP, DestinationIP, SourceSubnet, DestinationSubnet| + + +## Microsoft.Network/p2sVpnGateways + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|P2SBandwidth|Yes|Gateway P2S Bandwidth|BytesPerSecond|Average|Average point-to-site bandwidth of a gateway in bytes per second|Instance| +|P2SConnectionCount|Yes|P2S Connection Count|Count|Total|Point-to-site connection count of a gateway|Protocol, Instance| + + +## Microsoft.Network/privateDnsZones + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|QueryVolume|No|Query Volume|Count|Total|Number of queries served for a Private DNS zone|No Dimensions| +|RecordSetCapacityUtilization|No|Record Set Capacity Utilization|Percent|Maximum|Percent of Record Set capacity utilized by a Private DNS zone|No Dimensions| +|RecordSetCount|No|Record Set Count|Count|Maximum|Number of Record Sets in a Private DNS zone|No Dimensions| +|VirtualNetworkLinkCapacityUtilization|No|Virtual Network Link Capacity Utilization|Percent|Maximum|Percent of Virtual Network Link capacity utilized by a Private DNS zone|No Dimensions| +|VirtualNetworkLinkCount|No|Virtual Network Link Count|Count|Maximum|Number of Virtual Networks linked to a Private DNS zone|No Dimensions| +|VirtualNetworkWithRegistrationCapacityUtilization|No|Virtual Network Registration Link Capacity Utilization|Percent|Maximum|Percent of Virtual Network Link with auto-registration capacity utilized by a Private DNS zone|No Dimensions| +|VirtualNetworkWithRegistrationLinkCount|No|Virtual Network Registration Link Count|Count|Maximum|Number of Virtual Networks linked to a Private DNS zone with auto-registration enabled|No Dimensions| + + +## Microsoft.Network/privateEndpoints + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|PEBytesIn|Yes|Bytes In|Count|Total|Total number of Bytes Out|No Dimensions| +|PEBytesOut|Yes|Bytes Out|Count|Total|Total number of Bytes Out|No Dimensions| + + +## Microsoft.Network/privateLinkServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|PLSBytesIn|Yes|Bytes In|Count|Total|Total number of Bytes Out|PrivateLinkServiceId| +|PLSBytesOut|Yes|Bytes Out|Count|Total|Total number of Bytes Out|PrivateLinkServiceId| +|PLSNatPortsUsage|Yes|Nat Ports Usage|Percent|Average|Nat Ports Usage|PrivateLinkServiceId, PrivateLinkServiceIPAddress| + + +## Microsoft.Network/publicIPAddresses + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ByteCount|Yes|Byte Count|Bytes|Total|Total number of Bytes transmitted within time period|Port, Direction| +|BytesDroppedDDoS|Yes|Inbound bytes dropped DDoS|BytesPerSecond|Maximum|Inbound bytes dropped DDoS|No Dimensions| +|BytesForwardedDDoS|Yes|Inbound bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound bytes forwarded DDoS|No Dimensions| +|BytesInDDoS|Yes|Inbound bytes DDoS|BytesPerSecond|Maximum|Inbound bytes DDoS|No Dimensions| +|DDoSTriggerSYNPackets|Yes|Inbound SYN packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound SYN packets to trigger DDoS mitigation|No Dimensions| +|DDoSTriggerTCPPackets|Yes|Inbound TCP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound TCP packets to trigger DDoS mitigation|No Dimensions| +|DDoSTriggerUDPPackets|Yes|Inbound UDP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound UDP packets to trigger DDoS mitigation|No Dimensions| +|IfUnderDDoSAttack|Yes|Under DDoS attack or not|Count|Maximum|Under DDoS attack or not|No Dimensions| +|PacketCount|Yes|Packet Count|Count|Total|Total number of Packets transmitted within time period|Port, Direction| +|PacketsDroppedDDoS|Yes|Inbound packets dropped DDoS|CountPerSecond|Maximum|Inbound packets dropped DDoS|No Dimensions| +|PacketsForwardedDDoS|Yes|Inbound packets forwarded DDoS|CountPerSecond|Maximum|Inbound packets forwarded DDoS|No Dimensions| +|PacketsInDDoS|Yes|Inbound packets DDoS|CountPerSecond|Maximum|Inbound packets DDoS|No Dimensions| +|SynCount|Yes|SYN Count|Count|Total|Total number of SYN Packets transmitted within time period|Port, Direction| +|TCPBytesDroppedDDoS|Yes|Inbound TCP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound TCP bytes dropped DDoS|No Dimensions| +|TCPBytesForwardedDDoS|Yes|Inbound TCP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound TCP bytes forwarded DDoS|No Dimensions| +|TCPBytesInDDoS|Yes|Inbound TCP bytes DDoS|BytesPerSecond|Maximum|Inbound TCP bytes DDoS|No Dimensions| +|TCPPacketsDroppedDDoS|Yes|Inbound TCP packets dropped DDoS|CountPerSecond|Maximum|Inbound TCP packets dropped DDoS|No Dimensions| +|TCPPacketsForwardedDDoS|Yes|Inbound TCP packets forwarded DDoS|CountPerSecond|Maximum|Inbound TCP packets forwarded DDoS|No Dimensions| +|TCPPacketsInDDoS|Yes|Inbound TCP packets DDoS|CountPerSecond|Maximum|Inbound TCP packets DDoS|No Dimensions| +|UDPBytesDroppedDDoS|Yes|Inbound UDP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound UDP bytes dropped DDoS|No Dimensions| +|UDPBytesForwardedDDoS|Yes|Inbound UDP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound UDP bytes forwarded DDoS|No Dimensions| +|UDPBytesInDDoS|Yes|Inbound UDP bytes DDoS|BytesPerSecond|Maximum|Inbound UDP bytes DDoS|No Dimensions| +|UDPPacketsDroppedDDoS|Yes|Inbound UDP packets dropped DDoS|CountPerSecond|Maximum|Inbound UDP packets dropped DDoS|No Dimensions| +|UDPPacketsForwardedDDoS|Yes|Inbound UDP packets forwarded DDoS|CountPerSecond|Maximum|Inbound UDP packets forwarded DDoS|No Dimensions| +|UDPPacketsInDDoS|Yes|Inbound UDP packets DDoS|CountPerSecond|Maximum|Inbound UDP packets DDoS|No Dimensions| +|VipAvailability|Yes|Data Path Availability|Count|Average|Average IP Address availability per time duration|Port| + + +## Microsoft.Network/trafficManagerProfiles + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ProbeAgentCurrentEndpointStateByProfileResourceId|Yes|Endpoint Status by Endpoint|Count|Maximum|1 if an endpoint's probe status is "Enabled", 0 otherwise.|EndpointName| +|QpsByEndpoint|Yes|Queries by Endpoint Returned|Count|Total|Number of times a Traffic Manager endpoint was returned in the given time frame|EndpointName| + + +## Microsoft.Network/virtualHubs + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BgpPeerStatus|No|Bgp Peer Status|Count|Maximum|1 - Connected, 0 - Not connected|routeserviceinstance, bgppeerip, bgppeertype| +|CountOfRoutesAdvertisedToPeer|No|Count Of Routes Advertised To Peer|Count|Maximum|Total number of routes advertised to peer|routeserviceinstance, bgppeerip, bgppeertype| +|CountOfRoutesLearnedFromPeer|No|Count Of Routes Learned From Peer|Count|Maximum|Total number of routes learned from peer|routeserviceinstance, bgppeerip, bgppeertype| +|VirtualHubDataProcessed|No|Data Processed by the Virtual Hub Router|Bytes|Total|Data Processed by the Virtual Hub Router|No Dimensions| + + +## Microsoft.Network/virtualNetworkGateways + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AverageBandwidth|Yes|Gateway S2S Bandwidth|BytesPerSecond|Average|Average site-to-site bandwidth of a gateway in bytes per second|Instance| +|ExpressRouteGatewayCountOfRoutesAdvertisedToPeer|Yes|Count Of Routes Advertised to Peer|Count|Maximum|Count Of Routes Advertised To Peer by ExpressRouteGateway|roleInstance| +|ExpressRouteGatewayCountOfRoutesLearnedFromPeer|Yes|Count Of Routes Learned from Peer|Count|Maximum|Count Of Routes Learned From Peer by ExpressRouteGateway|roleInstance| +|ExpressRouteGatewayCpuUtilization|Yes|CPU utilization|Percent|Average|CPU Utilization of the ExpressRoute Gateway|roleInstance| +|ExpressRouteGatewayFrequencyOfRoutesChanged|No|Frequency of Routes change|Count|Total|Frequency of Routes change in ExpressRoute Gateway|roleInstance| +|ExpressRouteGatewayNumberOfVmInVnet|No|Number of VMs in the Virtual Network|Count|Maximum|Number of VMs in the Virtual Network|No Dimensions| +|ExpressRouteGatewayPacketsPerSecond|No|Packets per second|CountPerSecond|Average|Packet count of ExpressRoute Gateway|roleInstance| +|P2SBandwidth|Yes|Gateway P2S Bandwidth|BytesPerSecond|Average|Average point-to-site bandwidth of a gateway in bytes per second|Instance| +|P2SConnectionCount|Yes|P2S Connection Count|Count|Maximum|Point-to-site connection count of a gateway|Protocol, Instance| +|TunnelAverageBandwidth|Yes|Tunnel Bandwidth|BytesPerSecond|Average|Average bandwidth of a tunnel in bytes per second|ConnectionName, RemoteIP, Instance| +|TunnelEgressBytes|Yes|Tunnel Egress Bytes|Bytes|Total|Outgoing bytes of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelEgressPacketDropTSMismatch|Yes|Tunnel Egress TS Mismatch Packet Drop|Count|Total|Outgoing packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelEgressPackets|Yes|Tunnel Egress Packets|Count|Total|Outgoing packet count of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelIngressBytes|Yes|Tunnel Ingress Bytes|Bytes|Total|Incoming bytes of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelIngressPacketDropTSMismatch|Yes|Tunnel Ingress TS Mismatch Packet Drop|Count|Total|Incoming packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelIngressPackets|Yes|Tunnel Ingress Packets|Count|Total|Incoming packet count of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelNatAllocations|No|Tunnel NAT Allocations|Count|Total|Count of allocations for a NAT rule on a tunnel|NatRule, ConnectionName, RemoteIP, Instance| +|TunnelNatedBytes|No|Tunnel NATed Bytes|Bytes|Total|Number of bytes that were NATed on a tunnel by a NAT rule |NatRule, ConnectionName, RemoteIP, Instance| +|TunnelNatedPackets|No|Tunnel NATed Packets|Count|Total|Number of packets that were NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| +|TunnelNatFlowCount|No|Tunnel NAT Flows|Count|Total|Number of NAT flows on a tunnel by flow type and NAT rule|NatRule, ConnectionName, RemoteIP, FlowType, Instance| +|TunnelNatPacketDrop|No|Tunnel NAT Packet Drops|Count|Total|Number of NATed packets on a tunnel that dropped by drop type and NAT rule|NatRule, ConnectionName, RemoteIP, DropType, Instance| +|TunnelReverseNatedBytes|No|Tunnel Reverse NATed Bytes|Bytes|Total|Number of bytes that were reverse NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| +|TunnelReverseNatedPackets|No|Tunnel Reverse NATed Packets|Count|Total|Number of packets on a tunnel that were reverse NATed by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| + + +## Microsoft.Network/virtualNetworks + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BytesDroppedDDoS|Yes|Inbound bytes dropped DDoS|BytesPerSecond|Maximum|Inbound bytes dropped DDoS|ProtectedIPAddress| +|BytesForwardedDDoS|Yes|Inbound bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound bytes forwarded DDoS|ProtectedIPAddress| +|BytesInDDoS|Yes|Inbound bytes DDoS|BytesPerSecond|Maximum|Inbound bytes DDoS|ProtectedIPAddress| +|DDoSTriggerSYNPackets|Yes|Inbound SYN packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound SYN packets to trigger DDoS mitigation|ProtectedIPAddress| +|DDoSTriggerTCPPackets|Yes|Inbound TCP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound TCP packets to trigger DDoS mitigation|ProtectedIPAddress| +|DDoSTriggerUDPPackets|Yes|Inbound UDP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound UDP packets to trigger DDoS mitigation|ProtectedIPAddress| +|IfUnderDDoSAttack|Yes|Under DDoS attack or not|Count|Maximum|Under DDoS attack or not|ProtectedIPAddress| +|PacketsDroppedDDoS|Yes|Inbound packets dropped DDoS|CountPerSecond|Maximum|Inbound packets dropped DDoS|ProtectedIPAddress| +|PacketsForwardedDDoS|Yes|Inbound packets forwarded DDoS|CountPerSecond|Maximum|Inbound packets forwarded DDoS|ProtectedIPAddress| +|PacketsInDDoS|Yes|Inbound packets DDoS|CountPerSecond|Maximum|Inbound packets DDoS|ProtectedIPAddress| +|PingMeshAverageRoundtripMs|Yes|Round trip time for Pings to a VM|MilliSeconds|Average|Round trip time for Pings sent to a destination VM|SourceCustomerAddress, DestinationCustomerAddress| +|PingMeshProbesFailedPercent|Yes|Failed Pings to a VM|Percent|Average|Percent of number of failed Pings to total sent Pings of a destination VM|SourceCustomerAddress, DestinationCustomerAddress| +|TCPBytesDroppedDDoS|Yes|Inbound TCP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound TCP bytes dropped DDoS|ProtectedIPAddress| +|TCPBytesForwardedDDoS|Yes|Inbound TCP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound TCP bytes forwarded DDoS|ProtectedIPAddress| +|TCPBytesInDDoS|Yes|Inbound TCP bytes DDoS|BytesPerSecond|Maximum|Inbound TCP bytes DDoS|ProtectedIPAddress| +|TCPPacketsDroppedDDoS|Yes|Inbound TCP packets dropped DDoS|CountPerSecond|Maximum|Inbound TCP packets dropped DDoS|ProtectedIPAddress| +|TCPPacketsForwardedDDoS|Yes|Inbound TCP packets forwarded DDoS|CountPerSecond|Maximum|Inbound TCP packets forwarded DDoS|ProtectedIPAddress| +|TCPPacketsInDDoS|Yes|Inbound TCP packets DDoS|CountPerSecond|Maximum|Inbound TCP packets DDoS|ProtectedIPAddress| +|UDPBytesDroppedDDoS|Yes|Inbound UDP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound UDP bytes dropped DDoS|ProtectedIPAddress| +|UDPBytesForwardedDDoS|Yes|Inbound UDP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound UDP bytes forwarded DDoS|ProtectedIPAddress| +|UDPBytesInDDoS|Yes|Inbound UDP bytes DDoS|BytesPerSecond|Maximum|Inbound UDP bytes DDoS|ProtectedIPAddress| +|UDPPacketsDroppedDDoS|Yes|Inbound UDP packets dropped DDoS|CountPerSecond|Maximum|Inbound UDP packets dropped DDoS|ProtectedIPAddress| +|UDPPacketsForwardedDDoS|Yes|Inbound UDP packets forwarded DDoS|CountPerSecond|Maximum|Inbound UDP packets forwarded DDoS|ProtectedIPAddress| +|UDPPacketsInDDoS|Yes|Inbound UDP packets DDoS|CountPerSecond|Maximum|Inbound UDP packets DDoS|ProtectedIPAddress| + + +## Microsoft.Network/virtualRouters + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|PeeringAvailability|Yes|Bgp Availability|Percent|Average|BGP Availability between VirtualRouter and remote peers|Peer| + + +## Microsoft.Network/vpnGateways + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AverageBandwidth|Yes|Gateway S2S Bandwidth|BytesPerSecond|Average|Average site-to-site bandwidth of a gateway in bytes per second|Instance| +|TunnelAverageBandwidth|Yes|Tunnel Bandwidth|BytesPerSecond|Average|Average bandwidth of a tunnel in bytes per second|ConnectionName, RemoteIP, Instance| +|TunnelEgressBytes|Yes|Tunnel Egress Bytes|Bytes|Total|Outgoing bytes of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelEgressPacketDropTSMismatch|Yes|Tunnel Egress TS Mismatch Packet Drop|Count|Total|Outgoing packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelEgressPackets|Yes|Tunnel Egress Packets|Count|Total|Outgoing packet count of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelIngressBytes|Yes|Tunnel Ingress Bytes|Bytes|Total|Incoming bytes of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelIngressPacketDropTSMismatch|Yes|Tunnel Ingress TS Mismatch Packet Drop|Count|Total|Incoming packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelIngressPackets|Yes|Tunnel Ingress Packets|Count|Total|Incoming packet count of a tunnel|ConnectionName, RemoteIP, Instance| +|TunnelNatAllocations|No|Tunnel NAT Allocations|Count|Total|Count of allocations for a NAT rule on a tunnel|NatRule, ConnectionName, RemoteIP, Instance| +|TunnelNatedBytes|No|Tunnel NATed Bytes|Bytes|Total|Number of bytes that were NATed on a tunnel by a NAT rule |NatRule, ConnectionName, RemoteIP, Instance| +|TunnelNatedPackets|No|Tunnel NATed Packets|Count|Total|Number of packets that were NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| +|TunnelNatFlowCount|No|Tunnel NAT Flows|Count|Total|Number of NAT flows on a tunnel by flow type and NAT rule|NatRule, ConnectionName, RemoteIP, FlowType, Instance| +|TunnelNatPacketDrop|No|Tunnel NAT Packet Drops|Count|Total|Number of NATed packets on a tunnel that dropped by drop type and NAT rule|NatRule, ConnectionName, RemoteIP, DropType, Instance| +|TunnelReverseNatedBytes|No|Tunnel Reverse NATed Bytes|Bytes|Total|Number of bytes that were reverse NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| +|TunnelReverseNatedPackets|No|Tunnel Reverse NATed Packets|Count|Total|Number of packets on a tunnel that were reverse NATed by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| + + +## Microsoft.NetworkFunction/azureTrafficCollectors + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|count|Yes|Flow Records|Count|Average|Flow Records Processed by ATC.|RoleInstance| +|usage_active|Yes|CPU Usage|Percent|Average|CPU Usage Percentage.|Hostname| +|used_percent|Yes|Memory Usage|Percent|Average|Memory Usage Percentage.|Hostname| + + +## Microsoft.NotificationHubs/Namespaces/NotificationHubs + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|incoming|Yes|Incoming Messages|Count|Total|The count of all successful send API calls. |No Dimensions| +|incoming.all.failedrequests|Yes|All Incoming Failed Requests|Count|Total|Total incoming failed requests for a notification hub|No Dimensions| +|incoming.all.requests|Yes|All Incoming Requests|Count|Total|Total incoming requests for a notification hub|No Dimensions| +|incoming.scheduled|Yes|Scheduled Push Notifications Sent|Count|Total|Scheduled Push Notifications Sent|No Dimensions| +|incoming.scheduled.cancel|Yes|Scheduled Push Notifications Cancelled|Count|Total|Scheduled Push Notifications Cancelled|No Dimensions| +|installation.all|Yes|Installation Management Operations|Count|Total|Installation Management Operations|No Dimensions| +|installation.delete|Yes|Delete Installation Operations|Count|Total|Delete Installation Operations|No Dimensions| +|installation.get|Yes|Get Installation Operations|Count|Total|Get Installation Operations|No Dimensions| +|installation.patch|Yes|Patch Installation Operations|Count|Total|Patch Installation Operations|No Dimensions| +|installation.upsert|Yes|Create or Update Installation Operations|Count|Total|Create or Update Installation Operations|No Dimensions| +|notificationhub.pushes|Yes|All Outgoing Notifications|Count|Total|All outgoing notifications of the notification hub|No Dimensions| +|outgoing.allpns.badorexpiredchannel|Yes|Bad or Expired Channel Errors|Count|Total|The count of pushes that failed because the channel/token/registrationId in the registration was expired or invalid.|No Dimensions| +|outgoing.allpns.channelerror|Yes|Channel Errors|Count|Total|The count of pushes that failed because the channel was invalid not associated with the correct app throttled or expired.|No Dimensions| +|outgoing.allpns.invalidpayload|Yes|Payload Errors|Count|Total|The count of pushes that failed because the PNS returned a bad payload error.|No Dimensions| +|outgoing.allpns.pnserror|Yes|External Notification System Errors|Count|Total|The count of pushes that failed because there was a problem communicating with the PNS (excludes authentication problems).|No Dimensions| +|outgoing.allpns.success|Yes|Successful notifications|Count|Total|The count of all successful notifications.|No Dimensions| +|outgoing.apns.badchannel|Yes|APNS Bad Channel Error|Count|Total|The count of pushes that failed because the token is invalid (APNS status code: 8).|No Dimensions| +|outgoing.apns.expiredchannel|Yes|APNS Expired Channel Error|Count|Total|The count of token that were invalidated by the APNS feedback channel.|No Dimensions| +|outgoing.apns.invalidcredentials|Yes|APNS Authorization Errors|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| +|outgoing.apns.invalidnotificationsize|Yes|APNS Invalid Notification Size Error|Count|Total|The count of pushes that failed because the payload was too large (APNS status code: 7).|No Dimensions| +|outgoing.apns.pnserror|Yes|APNS Errors|Count|Total|The count of pushes that failed because of errors communicating with APNS.|No Dimensions| +|outgoing.apns.success|Yes|APNS Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| +|outgoing.gcm.authenticationerror|Yes|GCM Authentication Errors|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials the credentials are blocked or the SenderId is not correctly configured in the app (GCM result: MismatchedSenderId).|No Dimensions| +|outgoing.gcm.badchannel|Yes|GCM Bad Channel Error|Count|Total|The count of pushes that failed because the registrationId in the registration was not recognized (GCM result: Invalid Registration).|No Dimensions| +|outgoing.gcm.expiredchannel|Yes|GCM Expired Channel Error|Count|Total|The count of pushes that failed because the registrationId in the registration was expired (GCM result: NotRegistered).|No Dimensions| +|outgoing.gcm.invalidcredentials|Yes|GCM Authorization Errors (Invalid Credentials)|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| +|outgoing.gcm.invalidnotificationformat|Yes|GCM Invalid Notification Format|Count|Total|The count of pushes that failed because the payload was not formatted correctly (GCM result: InvalidDataKey or InvalidTtl).|No Dimensions| +|outgoing.gcm.invalidnotificationsize|Yes|GCM Invalid Notification Size Error|Count|Total|The count of pushes that failed because the payload was too large (GCM result: MessageTooBig).|No Dimensions| +|outgoing.gcm.pnserror|Yes|GCM Errors|Count|Total|The count of pushes that failed because of errors communicating with GCM.|No Dimensions| +|outgoing.gcm.success|Yes|GCM Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| +|outgoing.gcm.throttled|Yes|GCM Throttled Notifications|Count|Total|The count of pushes that failed because GCM throttled this app (GCM status code: 501-599 or result:Unavailable).|No Dimensions| +|outgoing.gcm.wrongchannel|Yes|GCM Wrong Channel Error|Count|Total|The count of pushes that failed because the registrationId in the registration is not associated to the current app (GCM result: InvalidPackageName).|No Dimensions| +|outgoing.mpns.authenticationerror|Yes|MPNS Authentication Errors|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| +|outgoing.mpns.badchannel|Yes|MPNS Bad Channel Error|Count|Total|The count of pushes that failed because the ChannelURI in the registration was not recognized (MPNS status: 404 not found).|No Dimensions| +|outgoing.mpns.channeldisconnected|Yes|MPNS Channel Disconnected|Count|Total|The count of pushes that failed because the ChannelURI in the registration was disconnected (MPNS status: 412 not found).|No Dimensions| +|outgoing.mpns.dropped|Yes|MPNS Dropped Notifications|Count|Total|The count of pushes that were dropped by MPNS (MPNS response header: X-NotificationStatus: QueueFull or Suppressed).|No Dimensions| +|outgoing.mpns.invalidcredentials|Yes|MPNS Invalid Credentials|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| +|outgoing.mpns.invalidnotificationformat|Yes|MPNS Invalid Notification Format|Count|Total|The count of pushes that failed because the payload of the notification was too large.|No Dimensions| +|outgoing.mpns.pnserror|Yes|MPNS Errors|Count|Total|The count of pushes that failed because of errors communicating with MPNS.|No Dimensions| +|outgoing.mpns.success|Yes|MPNS Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| +|outgoing.mpns.throttled|Yes|MPNS Throttled Notifications|Count|Total|The count of pushes that failed because MPNS is throttling this app (WNS MPNS: 406 Not Acceptable).|No Dimensions| +|outgoing.wns.authenticationerror|Yes|WNS Authentication Errors|Count|Total|Notification not delivered because of errors communicating with Windows Live invalid credentials or wrong token.|No Dimensions| +|outgoing.wns.badchannel|Yes|WNS Bad Channel Error|Count|Total|The count of pushes that failed because the ChannelURI in the registration was not recognized (WNS status: 404 not found).|No Dimensions| +|outgoing.wns.channeldisconnected|Yes|WNS Channel Disconnected|Count|Total|The notification was dropped because the ChannelURI in the registration is throttled (WNS response header: X-WNS-DeviceConnectionStatus: disconnected).|No Dimensions| +|outgoing.wns.channelthrottled|Yes|WNS Channel Throttled|Count|Total|The notification was dropped because the ChannelURI in the registration is throttled (WNS response header: X-WNS-NotificationStatus:channelThrottled).|No Dimensions| +|outgoing.wns.dropped|Yes|WNS Dropped Notifications|Count|Total|The notification was dropped because the ChannelURI in the registration is throttled (X-WNS-NotificationStatus: dropped but not X-WNS-DeviceConnectionStatus: disconnected).|No Dimensions| +|outgoing.wns.expiredchannel|Yes|WNS Expired Channel Error|Count|Total|The count of pushes that failed because the ChannelURI is expired (WNS status: 410 Gone).|No Dimensions| +|outgoing.wns.invalidcredentials|Yes|WNS Authorization Errors (Invalid Credentials)|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked. (Windows Live does not recognize the credentials).|No Dimensions| +|outgoing.wns.invalidnotificationformat|Yes|WNS Invalid Notification Format|Count|Total|The format of the notification is invalid (WNS status: 400). Note that WNS does not reject all invalid payloads.|No Dimensions| +|outgoing.wns.invalidnotificationsize|Yes|WNS Invalid Notification Size Error|Count|Total|The notification payload is too large (WNS status: 413).|No Dimensions| +|outgoing.wns.invalidtoken|Yes|WNS Authorization Errors (Invalid Token)|Count|Total|The token provided to WNS is not valid (WNS status: 401 Unauthorized).|No Dimensions| +|outgoing.wns.pnserror|Yes|WNS Errors|Count|Total|Notification not delivered because of errors communicating with WNS.|No Dimensions| +|outgoing.wns.success|Yes|WNS Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| +|outgoing.wns.throttled|Yes|WNS Throttled Notifications|Count|Total|The count of pushes that failed because WNS is throttling this app (WNS status: 406 Not Acceptable).|No Dimensions| +|outgoing.wns.tokenproviderunreachable|Yes|WNS Authorization Errors (Unreachable)|Count|Total|Windows Live is not reachable.|No Dimensions| +|outgoing.wns.wrongtoken|Yes|WNS Authorization Errors (Wrong Token)|Count|Total|The token provided to WNS is valid but for another application (WNS status: 403 Forbidden). This can happen if the ChannelURI in the registration is associated with another app. Check that the client app is associated with the same app whose credentials are in the notification hub.|No Dimensions| +|registration.all|Yes|Registration Operations|Count|Total|The count of all successful registration operations (creations updates queries and deletions). |No Dimensions| +|registration.create|Yes|Registration Create Operations|Count|Total|The count of all successful registration creations.|No Dimensions| +|registration.delete|Yes|Registration Delete Operations|Count|Total|The count of all successful registration deletions.|No Dimensions| +|registration.get|Yes|Registration Read Operations|Count|Total|The count of all successful registration queries.|No Dimensions| +|registration.update|Yes|Registration Update Operations|Count|Total|The count of all successful registration updates.|No Dimensions| +|scheduled.pending|Yes|Pending Scheduled Notifications|Count|Total|Pending Scheduled Notifications|No Dimensions| + + +## Microsoft.OperationalInsights/workspaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Average_% Available Memory|Yes|% Available Memory|Count|Average|Average_% Available Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Available Swap Space|Yes|% Available Swap Space|Count|Average|Average_% Available Swap Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Committed Bytes In Use|Yes|% Committed Bytes In Use|Count|Average|Average_% Committed Bytes In Use|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% DPC Time|Yes|% DPC Time|Count|Average|Average_% DPC Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Free Inodes|Yes|% Free Inodes|Count|Average|Average_% Free Inodes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Free Space|Yes|% Free Space|Count|Average|Average_% Free Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Idle Time|Yes|% Idle Time|Count|Average|Average_% Idle Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Interrupt Time|Yes|% Interrupt Time|Count|Average|Average_% Interrupt Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% IO Wait Time|Yes|% IO Wait Time|Count|Average|Average_% IO Wait Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Nice Time|Yes|% Nice Time|Count|Average|Average_% Nice Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Privileged Time|Yes|% Privileged Time|Count|Average|Average_% Privileged Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Processor Time|Yes|% Processor Time|Count|Average|Average_% Processor Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Used Inodes|Yes|% Used Inodes|Count|Average|Average_% Used Inodes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Used Memory|Yes|% Used Memory|Count|Average|Average_% Used Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Used Space|Yes|% Used Space|Count|Average|Average_% Used Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% Used Swap Space|Yes|% Used Swap Space|Count|Average|Average_% Used Swap Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_% User Time|Yes|% User Time|Count|Average|Average_% User Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Available MBytes|Yes|Available MBytes|Count|Average|Average_Available MBytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Available MBytes Memory|Yes|Available MBytes Memory|Count|Average|Average_Available MBytes Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Available MBytes Swap|Yes|Available MBytes Swap|Count|Average|Average_Available MBytes Swap|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Avg. Disk sec/Read|Yes|Avg. Disk sec/Read|Count|Average|Average_Avg. Disk sec/Read|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Avg. Disk sec/Transfer|Yes|Avg. Disk sec/Transfer|Count|Average|Average_Avg. Disk sec/Transfer|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Avg. Disk sec/Write|Yes|Avg. Disk sec/Write|Count|Average|Average_Avg. Disk sec/Write|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Bytes Received/sec|Yes|Bytes Received/sec|Count|Average|Average_Bytes Received/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Bytes Sent/sec|Yes|Bytes Sent/sec|Count|Average|Average_Bytes Sent/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Bytes Total/sec|Yes|Bytes Total/sec|Count|Average|Average_Bytes Total/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Current Disk Queue Length|Yes|Current Disk Queue Length|Count|Average|Average_Current Disk Queue Length|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Disk Read Bytes/sec|Yes|Disk Read Bytes/sec|Count|Average|Average_Disk Read Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Disk Reads/sec|Yes|Disk Reads/sec|Count|Average|Average_Disk Reads/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Disk Transfers/sec|Yes|Disk Transfers/sec|Count|Average|Average_Disk Transfers/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Disk Write Bytes/sec|Yes|Disk Write Bytes/sec|Count|Average|Average_Disk Write Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Disk Writes/sec|Yes|Disk Writes/sec|Count|Average|Average_Disk Writes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Free Megabytes|Yes|Free Megabytes|Count|Average|Average_Free Megabytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Free Physical Memory|Yes|Free Physical Memory|Count|Average|Average_Free Physical Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Free Space in Paging Files|Yes|Free Space in Paging Files|Count|Average|Average_Free Space in Paging Files|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Free Virtual Memory|Yes|Free Virtual Memory|Count|Average|Average_Free Virtual Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Logical Disk Bytes/sec|Yes|Logical Disk Bytes/sec|Count|Average|Average_Logical Disk Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Page Reads/sec|Yes|Page Reads/sec|Count|Average|Average_Page Reads/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Page Writes/sec|Yes|Page Writes/sec|Count|Average|Average_Page Writes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Pages/sec|Yes|Pages/sec|Count|Average|Average_Pages/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Pct Privileged Time|Yes|Pct Privileged Time|Count|Average|Average_Pct Privileged Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Pct User Time|Yes|Pct User Time|Count|Average|Average_Pct User Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Physical Disk Bytes/sec|Yes|Physical Disk Bytes/sec|Count|Average|Average_Physical Disk Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Processes|Yes|Processes|Count|Average|Average_Processes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Processor Queue Length|Yes|Processor Queue Length|Count|Average|Average_Processor Queue Length|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Size Stored In Paging Files|Yes|Size Stored In Paging Files|Count|Average|Average_Size Stored In Paging Files|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Bytes|Yes|Total Bytes|Count|Average|Average_Total Bytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Bytes Received|Yes|Total Bytes Received|Count|Average|Average_Total Bytes Received|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Bytes Transmitted|Yes|Total Bytes Transmitted|Count|Average|Average_Total Bytes Transmitted|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Collisions|Yes|Total Collisions|Count|Average|Average_Total Collisions|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Packets Received|Yes|Total Packets Received|Count|Average|Average_Total Packets Received|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Packets Transmitted|Yes|Total Packets Transmitted|Count|Average|Average_Total Packets Transmitted|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Rx Errors|Yes|Total Rx Errors|Count|Average|Average_Total Rx Errors|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Total Tx Errors|Yes|Total Tx Errors|Count|Average|Average_Total Tx Errors|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Uptime|Yes|Uptime|Count|Average|Average_Uptime|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Used MBytes Swap Space|Yes|Used MBytes Swap Space|Count|Average|Average_Used MBytes Swap Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Used Memory kBytes|Yes|Used Memory kBytes|Count|Average|Average_Used Memory kBytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Used Memory MBytes|Yes|Used Memory MBytes|Count|Average|Average_Used Memory MBytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Users|Yes|Users|Count|Average|Average_Users|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Average_Virtual Shared Memory|Yes|Virtual Shared Memory|Count|Average|Average_Virtual Shared Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| +|Event|Yes|Event|Count|Average|Event|Source, EventLog, Computer, EventCategory, EventLevel, EventLevelName, EventID| +|Heartbeat|Yes|Heartbeat|Count|Total|Heartbeat|Computer, OSType, Version, SourceComputerId| +|Update|Yes|Update|Count|Average|Update|Computer, Product, Classification, UpdateState, Optional, Approved| + + +## Microsoft.Orbital/contactProfiles + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ContactFailure|Yes|Contact Failure Count|Count|Count|Denotes the number of failed Contacts for a specific Contact Profile|No Dimensions| +|ContactSuccess|Yes|Contact Success Count|Count|Count|Denotes the number of successful Contacts for a specific Contact Profile|No Dimensions| + + +## Microsoft.Orbital/l2Connections + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|InBitsRate|Yes|In Bits Rate|BitsPerSecond|Average|Ingress Bit Rate for the L2 connection|No Dimensions| +|InBroadcastPktCount|Yes|In Broadcast Packet Count|Count|Average|Ingress Broadcast Packet Count for the L2 connection|No Dimensions| +|InBytesPerVLAN|Yes|In Bytes Count Per Vlan|Count|Average|Ingress Subinterface Byte Count for the L2 connection|VLANID| +|InInterfaceBytes|Yes|In Bytes Count|Count|Average|Ingress Bytes Count for the L2 connection|No Dimensions| +|InMulticastPktCount|Yes|In Multicast Packet Count|Count|Average|Ingress Multicast Packet Count for the L2 connection|No Dimensions| +|InPktErrorCount|Yes|In Packet Error Count|Count|Average|Ingress Packet Error Count for the L2 connection|No Dimensions| +|InPktsRate|Yes|In Packets Rate|CountPerSecond|Average|Ingress Packet Rate for the L2 connection|No Dimensions| +|InTotalPktCount|Yes|In Packet Count|Count|Average|Ingress Packet Count for the L2 connection|No Dimensions| +|InUcastPktCount|Yes|In Unicast Packet Count|Count|Average|Ingress Unicast Packet Count for the L2 connection|No Dimensions| +|InUCastPktsPerVLAN|Yes|In Unicast Packet Count Per Vlan|Count|Average|Ingress Subinterface Unicast Packet Count for the L2 connection|VLANID| +|OutBitsRate|Yes|Out Bits Rate|BitsPerSecond|Average|Egress Bit Rate for the L2 connection|No Dimensions| +|OutBroadcastPktCount|Yes|Out Broadcast Packet Count Per Vlan|Count|Average|Egress Broadcast Packet Count for the L2 connection|No Dimensions| +|OutBytesPerVLAN|Yes|Out Bytes Count Per Vlan|Count|Average|Egress Subinterface Byte Count for the L2 connection|VLANID| +|OutInterfaceBytes|Yes|Out Bytes Count|Count|Average|Egress Bytes Count for the L2 connection|No Dimensions| +|OutMulticastPktCount|Yes|Out Multicast Packet Count|Count|Average|Egress Multicast Packet Count for the L2 connection|No Dimensions| +|OutPktErrorCount|Yes|Out Packet Error Count|Count|Average|Egress Packet Error Count for the L2 connection|No Dimensions| +|OutPktsRate|Yes|Out Packets Rate|CountPerSecond|Average|Egress Packet Rate for the L2 connection|No Dimensions| +|OutUcastPktCount|Yes|Out Unicast Packet Count|Count|Average|Egress Unicast Packet Count for the L2 connection|No Dimensions| +|OutUCastPktsPerVLAN|Yes|Out Unicast Packet Count Per Vlan|Count|Average|Egress Subinterface Unicast Packet Count for the L2 connection|VLANID| + + +## Microsoft.Orbital/spacecrafts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ContactFailure|Yes|Contact Failure Count|Count|Count|Denotes the number of failed Contacts for a specific Spacecraft|No Dimensions| +|ContactSuccess|Yes|Contact Success Count|Count|Count|Denotes the number of successful Contacts for a specific Spacecraft|No Dimensions| + + +## Microsoft.Peering/peerings + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|EgressTrafficRate|Yes|Egress Traffic Rate|BitsPerSecond|Average|Egress traffic rate in bits per second|ConnectionId, SessionIp, TrafficClass| +|IngressTrafficRate|Yes|Ingress Traffic Rate|BitsPerSecond|Average|Ingress traffic rate in bits per second|ConnectionId, SessionIp, TrafficClass| +|SessionAvailability|Yes|Session Availability|Count|Average|Availability of the peering session|ConnectionId, SessionIp| + + +## Microsoft.Peering/peeringServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|PrefixLatency|Yes|Prefix Latency|Milliseconds|Average|Median prefix latency|PrefixName| +|RoundTripTime|Yes|Round Trip Time|Milliseconds|Average|Average round trip time|ConnectionMonitorTestName| + + +## Microsoft.PowerBIDedicated/capacities + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|cpu_metric|Yes|CPU (Gen2)|Percent|Average|CPU Utilization. Supported only for Power BI Embedded Generation 2 resources.|No Dimensions| +|overload_metric|Yes|Overload (Gen2)|Count|Average|Resource Overload, 1 if resource is overloaded, otherwise 0. Supported only for Power BI Embedded Generation 2 resources.|No Dimensions| + + +## Microsoft.Purview/accounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ScanBillingUnits|Yes|Scan Billing Units|Count|Total|Indicates the scan billing units.|ResourceId| +|ScanCancelled|Yes|Scan Cancelled|Count|Total|Indicates the number of scans cancelled.|ResourceId| +|ScanCompleted|Yes|Scan Completed|Count|Total|Indicates the number of scans completed successfully.|ResourceId| +|ScanFailed|Yes|Scan Failed|Count|Total|Indicates the number of scans failed.|ResourceId| +|ScanTimeTaken|Yes|Scan time taken|Seconds|Total|Indicates the total scan time in seconds.|ResourceId| + + +## Microsoft.RecoveryServices/Vaults + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BackupHealthEvent|Yes|Backup Health Events (preview)|Count|Count|The count of health events pertaining to backup job health|dataSourceURL, backupInstanceUrl, dataSourceType, healthStatus, backupInstanceName| +|RestoreHealthEvent|Yes|Restore Health Events (preview)|Count|Count|The count of health events pertaining to restore job health|dat + + +## Microsoft.Relay/namespaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActiveConnections|No|ActiveConnections|Count|Total|Total ActiveConnections for Microsoft.Relay.|EntityName| +|ActiveListeners|No|ActiveListeners|Count|Total|Total ActiveListeners for Microsoft.Relay.|EntityName| +|BytesTransferred|Yes|BytesTransferred|Bytes|Total|Total BytesTransferred for Microsoft.Relay.|EntityName| +|ListenerConnections-ClientError|No|ListenerConnections-ClientError|Count|Total|ClientError on ListenerConnections for Microsoft.Relay.|EntityName, | +|ListenerConnections-ServerError|No|ListenerConnections-ServerError|Count|Total|ServerError on ListenerConnections for Microsoft.Relay.|EntityName, | +|ListenerConnections-Success|No|ListenerConnections-Success|Count|Total|Successful ListenerConnections for Microsoft.Relay.|EntityName, | +|ListenerConnections-TotalRequests|No|ListenerConnections-TotalRequests|Count|Total|Total ListenerConnections for Microsoft.Relay.|EntityName| +|ListenerDisconnects|No|ListenerDisconnects|Count|Total|Total ListenerDisconnects for Microsoft.Relay.|EntityName| +|SenderConnections-ClientError|No|SenderConnections-ClientError|Count|Total|ClientError on SenderConnections for Microsoft.Relay.|EntityName, | +|SenderConnections-ServerError|No|SenderConnections-ServerError|Count|Total|ServerError on SenderConnections for Microsoft.Relay.|EntityName, | +|SenderConnections-Success|No|SenderConnections-Success|Count|Total|Successful SenderConnections for Microsoft.Relay.|EntityName, | +|SenderConnections-TotalRequests|No|SenderConnections-TotalRequests|Count|Total|Total SenderConnections requests for Microsoft.Relay.|EntityName| +|SenderDisconnects|No|SenderDisconnects|Count|Total|Total SenderDisconnects for Microsoft.Relay.|EntityName| + + +## microsoft.resources/subscriptions + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Latency|No|Latency|Seconds|Average|Latency data for all requests to Azure Resource Manager|IsCustomerOriginated, Method, Namespace, RequestRegion, ResourceType, StatusCode, StatusCodeClass, Microsoft.SubscriptionId| +|Traffic|No|Traffic|Count|Count|Traffic data for all requests to Azure Resource Manager|IsCustomerOriginated, Method, Namespace, RequestRegion, ResourceType, StatusCode, StatusCodeClass, Microsoft.SubscriptionId| + + +## Microsoft.Search/searchServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|SearchLatency|Yes|Search Latency|Seconds|Average|Average search latency for the search service|No Dimensions| +|SearchQueriesPerSecond|Yes|Search queries per second|CountPerSecond|Average|Search queries per second for the search service|No Dimensions| +|ThrottledSearchQueriesPercentage|Yes|Throttled search queries percentage|Percent|Average|Percentage of search queries that were throttled for the search service|No Dimensions| + + +## microsoft.securitydetonation/chambers + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CapacityUtilization|No|Capacity Utilization|Percent|Maximum|The percentage of the allocated capacity the resource is actively using.|Region| +|CpuUtilization|No|CPU Utilization|Percent|Average|The percentage of the CPU that is being utilized across the resource.|Region| +|CreateSubmissionApiResult|No|CreateSubmission Api Results|Count|Count|The total number of CreateSubmission API requests, with return code.|OperationName, ServiceTypeName, Region, HttpReturnCode| +|PercentFreeDiskSpace|No|Available Disk Space|Percent|Average|The percent amount of available disk space across the resource.|Region| +|SubmissionDuration|No|Submission Duration|MilliSeconds|Maximum|The submission duration (processing time), from creation to completion.|Region| +|SubmissionsCompleted|No|Completed Submissions / Hr|Count|Maximum|The number of completed submissions / Hr.|Region| +|SubmissionsFailed|No|Failed Submissions / Hr|Count|Maximum|The number of failed submissions / Hr.|Region| +|SubmissionsOutstanding|No|Outstanding Submissions|Count|Average|The average number of outstanding submissions that are queued for processing.|Region| +|SubmissionsSucceeded|No|Successful Submissions / Hr|Count|Maximum|The number of successful submissions / Hr.|Region| + + +## Microsoft.ServiceBus/namespaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AbandonMessage|Yes|Abandoned Messages|Count|Total|Abandoned Messages|EntityName| +|ActiveConnections|No|ActiveConnections|Count|Total|Total Active Connections for Microsoft.ServiceBus.|No Dimensions| +|ActiveMessages|No|Count of active messages in a Queue/Topic.|Count|Average|Count of active messages in a Queue/Topic.|EntityName| +|CompleteMessage|Yes|Completed Messages|Count|Total|Completed Messages|EntityName| +|ConnectionsClosed|No|Connections Closed.|Count|Average|Connections Closed for Microsoft.ServiceBus.|EntityName| +|ConnectionsOpened|No|Connections Opened.|Count|Average|Connections Opened for Microsoft.ServiceBus.|EntityName| +|CPUXNS|No|CPU (Deprecated)|Percent|Maximum|Service bus premium namespace CPU usage metric. This metric is depricated. Please use the CPU metric (NamespaceCpuUsage) instead.|No Dimensions| +|DeadletteredMessages|No|Count of dead-lettered messages in a Queue/Topic.|Count|Average|Count of dead-lettered messages in a Queue/Topic.|EntityName| +|IncomingMessages|Yes|Incoming Messages|Count|Total|Incoming Messages for Microsoft.ServiceBus.|EntityName| +|IncomingRequests|Yes|Incoming Requests|Count|Total|Incoming Requests for Microsoft.ServiceBus.|EntityName| +|Messages|No|Count of messages in a Queue/Topic.|Count|Average|Count of messages in a Queue/Topic.|EntityName| +|NamespaceCpuUsage|No|CPU|Percent|Maximum|CPU usage metric for Premium SKU namespaces.|No Dimensions| +|NamespaceMemoryUsage|No|Memory Usage|Percent|Maximum|Memory usage metric for Premium SKU namespaces.|No Dimensions| +|OutgoingMessages|Yes|Outgoing Messages|Count|Total|Outgoing Messages for Microsoft.ServiceBus.|EntityName| +|PendingCheckpointOperationCount|No|Pending Checkpoint Operations Count.|Count|Total|Pending Checkpoint Operations Count.|No Dimensions| +|ScheduledMessages|No|Count of scheduled messages in a Queue/Topic.|Count|Average|Count of scheduled messages in a Queue/Topic.|EntityName| +|ServerErrors|No|Server Errors.|Count|Total|Server Errors for Microsoft.ServiceBus.|EntityName, | +|ServerSendLatency|Yes|Server Send Latency.|Milliseconds|Average|Server Send Latency.|EntityName| +|Size|No|Size|Bytes|Average|Size of an Queue/Topic in Bytes.|EntityName| +|SuccessfulRequests|No|Successful Requests|Count|Total|Total successful requests for a namespace|EntityName, | +|ThrottledRequests|No|Throttled Requests.|Count|Total|Throttled Requests for Microsoft.ServiceBus.|EntityName, MessagingErrorSubCode| +|UserErrors|No|User Errors.|Count|Total|User Errors for Microsoft.ServiceBus.|EntityName, | +|WSXNS|No|Memory Usage (Deprecated)|Percent|Maximum|Service bus premium namespace memory usage metric. This metric is deprecated. Please use the Memory Usage (NamespaceMemoryUsage) metric instead.|No Dimensions| + + +## Microsoft.SignalRService/SignalR + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ConnectionCount|Yes|Connection Count|Count|Maximum|The amount of user connection.|Endpoint| +|ConnectionQuotaUtilization|Yes|Connection Quota Utilization|Percent|Maximum|The percentage of connection connected relative to connection quota.|No Dimensions| +|InboundTraffic|Yes|Inbound Traffic|Bytes|Total|The inbound traffic of service|No Dimensions| +|MessageCount|Yes|Message Count|Count|Total|The total amount of messages.|No Dimensions| +|OutboundTraffic|Yes|Outbound Traffic|Bytes|Total|The outbound traffic of service|No Dimensions| +|SystemErrors|Yes|System Errors|Percent|Maximum|The percentage of system errors|No Dimensions| +|UserErrors|Yes|User Errors|Percent|Maximum|The percentage of user errors|No Dimensions| + + +## Microsoft.SignalRService/WebPubSub + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|InboundTraffic|Yes|Inbound Traffic|Bytes|Total|The inbound traffic of service|No Dimensions| +|OutboundTraffic|Yes|Outbound Traffic|Bytes|Total|The outbound traffic of service|No Dimensions| +|TotalConnectionCount|Yes|Connection Count|Count|Maximum|The amount of user connection.|No Dimensions| + + +## Microsoft.Sql/managedInstances + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|avg_cpu_percent|Yes|Average CPU percentage|Percent|Average|Average CPU percentage|No Dimensions| +|io_bytes_read|Yes|IO bytes read|Bytes|Average|IO bytes read|No Dimensions| +|io_bytes_written|Yes|IO bytes written|Bytes|Average|IO bytes written|No Dimensions| +|io_requests|Yes|IO requests count|Count|Average|IO requests count|No Dimensions| +|reserved_storage_mb|Yes|Storage space reserved|Count|Average|Storage space reserved|No Dimensions| +|storage_space_used_mb|Yes|Storage space used|Count|Average|Storage space used|No Dimensions| +|virtual_core_count|Yes|Virtual core count|Count|Average|Virtual core count|No Dimensions| + + +## Microsoft.Sql/servers/databases + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|active_queries|Yes|Active queries|Count|Total|Active queries across all workload groups. Applies only to data warehouses.|No Dimensions| +|allocated_data_storage|Yes|Data space allocated|Bytes|Average|Allocated data storage. Not applicable to data warehouses.|No Dimensions| +|app_cpu_billed|Yes|App CPU billed|Count|Total|App CPU billed. Applies to serverless databases.|No Dimensions| +|app_cpu_percent|Yes|App CPU percentage|Percent|Average|App CPU percentage. Applies to serverless databases.|No Dimensions| +|app_memory_percent|Yes|App memory percentage|Percent|Average|App memory percentage. Applies to serverless databases.|No Dimensions| +|base_blob_size_bytes|Yes|Data storage size|Bytes|Maximum|Data storage size. Applies to Hyperscale databases.|No Dimensions| +|blocked_by_firewall|Yes|Blocked by Firewall|Count|Total|Blocked by Firewall|No Dimensions| +|cache_hit_percent|Yes|Cache hit percentage|Percent|Maximum|Cache hit percentage. Applies only to data warehouses.|No Dimensions| +|cache_used_percent|Yes|Cache used percentage|Percent|Maximum|Cache used percentage. Applies only to data warehouses.|No Dimensions| +|connection_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| +|connection_successful|Yes|Successful Connections|Count|Total|Successful Connections|No Dimensions| +|cpu_limit|Yes|CPU limit|Count|Average|CPU limit. Applies to vCore-based databases.|No Dimensions| +|cpu_percent|Yes|CPU percentage|Percent|Average|CPU percentage|No Dimensions| +|cpu_used|Yes|CPU used|Count|Average|CPU used. Applies to vCore-based databases.|No Dimensions| +|deadlock|Yes|Deadlocks|Count|Total|Deadlocks. Not applicable to data warehouses.|No Dimensions| +|delta_num_of_bytes_read|Yes|Remote data reads|Bytes|Total|Remote data reads in bytes|No Dimensions| +|delta_num_of_bytes_total|Yes|Total remote bytes read and written|Bytes|Total|Total remote bytes read and written by compute|No Dimensions| +|delta_num_of_bytes_written|Yes|Remote log writes|Bytes|Total|Remote log writes in bytes|No Dimensions| +|diff_backup_size_bytes|Yes|Differential backup storage size|Bytes|Maximum|Cumulative differential backup storage size. Applies to vCore-based databases. Not applicable to Hyperscale databases.|No Dimensions| +|dtu_consumption_percent|Yes|DTU percentage|Percent|Average|DTU Percentage. Applies to DTU-based databases.|No Dimensions| +|dtu_limit|Yes|DTU Limit|Count|Average|DTU Limit. Applies to DTU-based databases.|No Dimensions| +|dtu_used|Yes|DTU used|Count|Average|DTU used. Applies to DTU-based databases.|No Dimensions| +|dwu_consumption_percent|Yes|DWU percentage|Percent|Maximum|DWU percentage. Applies only to data warehouses.|No Dimensions| +|dwu_limit|Yes|DWU limit|Count|Maximum|DWU limit. Applies only to data warehouses.|No Dimensions| +|dwu_used|Yes|DWU used|Count|Maximum|DWU used. Applies only to data warehouses.|No Dimensions| +|full_backup_size_bytes|Yes|Full backup storage size|Bytes|Maximum|Cumulative full backup storage size. Applies to vCore-based databases. Not applicable to Hyperscale databases.|No Dimensions| +|local_tempdb_usage_percent|Yes|Local tempdb percentage|Percent|Average|Local tempdb percentage. Applies only to data warehouses.|No Dimensions| +|log_backup_size_bytes|Yes|Log backup storage size|Bytes|Maximum|Cumulative log backup storage size. Applies to vCore-based and Hyperscale databases.|No Dimensions| +|log_write_percent|Yes|Log IO percentage|Percent|Average|Log IO percentage. Not applicable to data warehouses.|No Dimensions| +|memory_usage_percent|Yes|Memory percentage|Percent|Maximum|Memory percentage. Applies only to data warehouses.|No Dimensions| +|physical_data_read_percent|Yes|Data IO percentage|Percent|Average|Data IO percentage|No Dimensions| +|queued_queries|Yes|Queued queries|Count|Total|Queued queries across all workload groups. Applies only to data warehouses.|No Dimensions| +|sessions_percent|Yes|Sessions percentage|Percent|Average|Sessions percentage. Not applicable to data warehouses.|No Dimensions| +|snapshot_backup_size_bytes|Yes|Data backup storage size|Bytes|Maximum|Cumulative data backup storage size. Applies to Hyperscale databases.|No Dimensions| +|sqlserver_process_core_percent|Yes|SQL Server process core percent|Percent|Maximum|CPU usage as a percentage of the SQL DB process. Not applicable to data warehouses.|No Dimensions| +|sqlserver_process_memory_percent|Yes|SQL Server process memory percent|Percent|Maximum|Memory usage as a percentage of the SQL DB process. Not applicable to data warehouses.|No Dimensions| +|storage|Yes|Data space used|Bytes|Maximum|Data space used. Not applicable to data warehouses.|No Dimensions| +|storage_percent|Yes|Data space used percent|Percent|Maximum|Data space used percent. Not applicable to data warehouses or hyperscale databases.|No Dimensions| +|tempdb_data_size|Yes|Tempdb Data File Size Kilobytes|Count|Maximum|Space used in tempdb data files in kilobytes. Not applicable to data warehouses.|No Dimensions| +|tempdb_log_size|Yes|Tempdb Log File Size Kilobytes|Count|Maximum|Space used in tempdb transaction log file in kilobytes. Not applicable to data warehouses.|No Dimensions| +|tempdb_log_used_percent|Yes|Tempdb Percent Log Used|Percent|Maximum|Space used percentage in tempdb transaction log file. Not applicable to data warehouses.|No Dimensions| +|wlg_active_queries|Yes|Workload group active queries|Count|Total|Active queries within the workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| +|wlg_active_queries_timeouts|Yes|Workload group query timeouts|Count|Total|Queries that have timed out for the workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| +|wlg_allocation_relative_to_system_percent|Yes|Workload group allocation by system percent|Percent|Maximum|Allocated percentage of resources relative to the entire system per workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| +|wlg_allocation_relative_to_wlg_effective_cap_percent|Yes|Workload group allocation by cap resource percent|Percent|Maximum|Allocated percentage of resources relative to the specified cap resources per workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| +|wlg_effective_cap_resource_percent|Yes|Effective cap resource percent|Percent|Maximum|A hard limit on the percentage of resources allowed for the workload group, taking into account Effective Min Resource Percentage allocated for other workload groups. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| +|wlg_effective_min_resource_percent|Yes|Effective min resource percent|Percent|Maximum|Minimum percentage of resources reserved and isolated for the workload group, taking into account the service level minimum. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| +|wlg_queued_queries|Yes|Workload group queued queries|Count|Total|Queued queries within the workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| +|workers_percent|Yes|Workers percentage|Percent|Average|Workers percentage. Not applicable to data warehouses.|No Dimensions| +|xtp_storage_percent|Yes|In-Memory OLTP storage percent|Percent|Average|In-Memory OLTP storage percent. Not applicable to data warehouses.|No Dimensions| + + +## Microsoft.Sql/servers/elasticPools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|allocated_data_storage|Yes|Data space allocated|Bytes|Average|Data space allocated|No Dimensions| +|allocated_data_storage_percent|Yes|Data space allocated percent|Percent|Maximum|Data space allocated percent|No Dimensions| +|app_cpu_billed|Yes|App CPU billed|Count|Total|App CPU billed. Applies to serverless databases.|No Dimensions| +|app_cpu_percent|Yes|App CPU percentage|Percent|Average|App CPU percentage. Applies to serverless databases.|No Dimensions| +|app_memory_percent|Yes|App memory percentage|Percent|Average|App memory percentage. Applies to serverless databases.|No Dimensions| +|cpu_limit|Yes|CPU limit|Count|Average|CPU limit. Applies to vCore-based elastic pools.|No Dimensions| +|cpu_percent|Yes|CPU percentage|Percent|Average|CPU percentage|No Dimensions| +|cpu_used|Yes|CPU used|Count|Average|CPU used. Applies to vCore-based elastic pools.|No Dimensions| +|database_allocated_data_storage|No|Data space allocated|Bytes|Average|Data space allocated|DatabaseResourceId| +|database_cpu_limit|No|CPU limit|Count|Average|CPU limit|DatabaseResourceId| +|database_cpu_percent|No|CPU percentage|Percent|Average|CPU percentage|DatabaseResourceId| +|database_cpu_used|No|CPU used|Count|Average|CPU used|DatabaseResourceId| +|database_dtu_consumption_percent|No|DTU percentage|Percent|Average|DTU percentage|DatabaseResourceId| +|database_eDTU_used|No|eDTU used|Count|Average|eDTU used|DatabaseResourceId| +|database_log_write_percent|No|Log IO percentage|Percent|Average|Log IO percentage|DatabaseResourceId| +|database_physical_data_read_percent|No|Data IO percentage|Percent|Average|Data IO percentage|DatabaseResourceId| +|database_sessions_percent|No|Sessions percentage|Percent|Average|Sessions percentage|DatabaseResourceId| +|database_storage_used|No|Data space used|Bytes|Average|Data space used|DatabaseResourceId| +|database_workers_percent|No|Workers percentage|Percent|Average|Workers percentage|DatabaseResourceId| +|dtu_consumption_percent|Yes|DTU percentage|Percent|Average|DTU Percentage. Applies to DTU-based elastic pools.|No Dimensions| +|eDTU_limit|Yes|eDTU limit|Count|Average|eDTU limit. Applies to DTU-based elastic pools.|No Dimensions| +|eDTU_used|Yes|eDTU used|Count|Average|eDTU used. Applies to DTU-based elastic pools.|No Dimensions| +|log_write_percent|Yes|Log IO percentage|Percent|Average|Log IO percentage|No Dimensions| +|physical_data_read_percent|Yes|Data IO percentage|Percent|Average|Data IO percentage|No Dimensions| +|sessions_percent|Yes|Sessions percentage|Percent|Average|Sessions percentage|No Dimensions| +|sqlserver_process_core_percent|Yes|SQL Server process core percent|Percent|Maximum|CPU usage as a percentage of the SQL DB process. Applies to elastic pools.|No Dimensions| +|sqlserver_process_memory_percent|Yes|SQL Server process memory percent|Percent|Maximum|Memory usage as a percentage of the SQL DB process. Applies to elastic pools.|No Dimensions| +|storage_limit|Yes|Data max size|Bytes|Average|Data max size|No Dimensions| +|storage_percent|Yes|Data space used percent|Percent|Average|Data space used percent|No Dimensions| +|storage_used|Yes|Data space used|Bytes|Average|Data space used|No Dimensions| +|tempdb_data_size|Yes|Tempdb Data File Size Kilobytes|Count|Maximum|Space used in tempdb data files in kilobytes.|No Dimensions| +|tempdb_log_size|Yes|Tempdb Log File Size Kilobytes|Count|Maximum|Space used in tempdb transaction log file in kilobytes.|No Dimensions| +|tempdb_log_used_percent|Yes|Tempdb Percent Log Used|Percent|Maximum|Space used percentage in tempdb transaction log file|No Dimensions| +|workers_percent|Yes|Workers percentage|Percent|Average|Workers percentage|No Dimensions| +|xtp_storage_percent|Yes|In-Memory OLTP storage percent|Percent|Average|In-Memory OLTP storage percent|No Dimensions| + + +## Microsoft.Storage/storageAccounts + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|SuccessE2ELatency|Yes|Success E2E Latency|MilliSeconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|MilliSeconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication, TransactionType| +|UsedCapacity|Yes|Used capacity|Bytes|Average|The amount of storage used by the storage account. For standard storage accounts, it's the sum of capacity used by blob, table, file, and queue. For premium storage accounts and Blob storage accounts, it is the same as BlobCapacity or FileCapacity.|No Dimensions| + + +## Microsoft.Storage/storageAccounts/blobServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|BlobCapacity|No|Blob Capacity|Bytes|Average|The amount of storage used by the storage account's Blob service in bytes.|BlobType, Tier| +|BlobCount|No|Blob Count|Count|Average|The number of blob objects stored in the storage account.|BlobType, Tier| +|BlobProvisionedSize|No|Blob Provisioned Size|Bytes|Average|The amount of storage provisioned in the storage account's Blob service in bytes.|BlobType, Tier| +|ContainerCount|Yes|Blob Container Count|Count|Average|The number of containers in the storage account.|No Dimensions| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|IndexCapacity|No|Index Capacity|Bytes|Average|The amount of storage used by Azure Data Lake Storage Gen2 hierarchical index.|No Dimensions| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| + + +## Microsoft.Storage/storageAccounts/fileServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication, FileShare| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication, FileShare| +|FileCapacity|No|File Capacity|Bytes|Average|The amount of File storage used by the storage account.|FileShare| +|FileCount|No|File Count|Count|Average|The number of files in the storage account.|FileShare| +|FileShareCapacityQuota|No|File Share Capacity Quota|Bytes|Average|The upper limit on the amount of storage that can be used by Azure Files Service in bytes.|FileShare| +|FileShareCount|No|File Share Count|Count|Average|The number of file shares in the storage account.|No Dimensions| +|FileShareProvisionedIOPS|No|File Share Provisioned IOPS|CountPerSecond|Average|The baseline number of provisioned IOPS for the premium file share in the premium files storage account. This number is calculated based on the provisioned size (quota) of the share capacity.|FileShare| +|FileShareSnapshotCount|No|File Share Snapshot Count|Count|Average|The number of snapshots present on the share in storage account's Files Service.|FileShare| +|FileShareSnapshotSize|No|File Share Snapshot Size|Bytes|Average|The amount of storage used by the snapshots in storage account's File service in bytes.|FileShare| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication, FileShare| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication, FileShare| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication, FileShare| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication, FileShare| + + +## Microsoft.Storage/storageAccounts/queueServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|QueueCapacity|Yes|Queue Capacity|Bytes|Average|The amount of Queue storage used by the storage account.|No Dimensions| +|QueueCount|Yes|Queue Count|Count|Average|The number of queues in the storage account.|No Dimensions| +|QueueMessageCount|Yes|Queue Message Count|Count|Average|The number of unexpired queue messages in the storage account.|No Dimensions| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| + + +## Microsoft.Storage/storageAccounts/tableServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| +|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| +|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| +|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| +|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| +|TableCapacity|Yes|Table Capacity|Bytes|Average|The amount of Table storage used by the storage account.|No Dimensions| +|TableCount|Yes|Table Count|Count|Average|The number of tables in the storage account.|No Dimensions| +|TableEntityCount|Yes|Table Entity Count|Count|Average|The number of table entities in the storage account.|No Dimensions| +|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| + + +## Microsoft.StorageCache/caches + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ClientIOPS|Yes|Total Client IOPS|Count|Average|The rate of client file operations processed by the Cache.|No Dimensions| +|ClientLatency|Yes|Average Client Latency|Milliseconds|Average|Average latency of client file operations to the Cache.|No Dimensions| +|ClientLockIOPS|Yes|Client Lock IOPS|CountPerSecond|Average|Client file locking operations per second.|No Dimensions| +|ClientMetadataReadIOPS|Yes|Client Metadata Read IOPS|CountPerSecond|Average|The rate of client file operations sent to the Cache, excluding data reads, that do not modify persistent state.|No Dimensions| +|ClientMetadataWriteIOPS|Yes|Client Metadata Write IOPS|CountPerSecond|Average|The rate of client file operations sent to the Cache, excluding data writes, that modify persistent state.|No Dimensions| +|ClientReadIOPS|Yes|Client Read IOPS|CountPerSecond|Average|Client read operations per second.|No Dimensions| +|ClientReadThroughput|Yes|Average Cache Read Throughput|BytesPerSecond|Average|Client read data transfer rate.|No Dimensions| +|ClientStatus|Yes|Client Status|Count|Total|Client connection information.|ClientSource, CacheAddress, ClientAddress, Protocol, ConnectionType| +|ClientWriteIOPS|Yes|Client Write IOPS|CountPerSecond|Average|Client write operations per second.|No Dimensions| +|ClientWriteThroughput|Yes|Average Cache Write Throughput|BytesPerSecond|Average|Client write data transfer rate.|No Dimensions| +|FileOps|Yes|File Operations|CountPerSecond|Average|Number of file operations per second.|SourceFile, Rank, FileType| +|FileReads|Yes|File Reads|BytesPerSecond|Average|Number of bytes per second read from a file.|SourceFile, Rank, FileType| +|FileUpdates|Yes|File Updates|CountPerSecond|Average|Number of directory updates and metadata operations per second.|SourceFile, Rank, FileType| +|FileWrites|Yes|File Writes|BytesPerSecond|Average|Number of bytes per second written to a file.|SourceFile, Rank, FileType| +|StorageTargetAsyncWriteThroughput|Yes|StorageTarget Asynchronous Write Throughput|BytesPerSecond|Average|The rate the Cache asynchronously writes data to a particular StorageTarget. These are opportunistic writes that do not cause clients to block.|StorageTarget| +|StorageTargetBlocksRecycled|Yes|Storage Target Blocks Recycled|Count|Average|Total number of 16k cache blocks recycled (freed) per Storage Target.|StorageTarget| +|StorageTargetFillThroughput|Yes|StorageTarget Fill Throughput|BytesPerSecond|Average|The rate the Cache reads data from the StorageTarget to handle a cache miss.|StorageTarget| +|StorageTargetFreeReadSpace|Yes|Storage Target Free Read Space|Bytes|Average|Read space available for caching files associated with a storage target.|StorageTarget| +|StorageTargetFreeWriteSpace|Yes|Storage Target Free Write Space|Bytes|Average|Write space available for dirty data associated with a storage target.|StorageTarget| +|StorageTargetHealth|Yes|Storage Target Health|Count|Average|Boolean results of connectivity test between the Cache and Storage Targets.|No Dimensions| +|StorageTargetIOPS|Yes|Total StorageTarget IOPS|Count|Average|The rate of all file operations the Cache sends to a particular StorageTarget.|StorageTarget| +|StorageTargetLatency|Yes|StorageTarget Latency|Milliseconds|Average|The average round trip latency of all the file operations the Cache sends to a partricular StorageTarget.|StorageTarget| +|StorageTargetMetadataReadIOPS|Yes|StorageTarget Metadata Read IOPS|CountPerSecond|Average|The rate of file operations that do not modify persistent state, and excluding the read operation, that the Cache sends to a particular StorageTarget.|StorageTarget| +|StorageTargetMetadataWriteIOPS|Yes|StorageTarget Metadata Write IOPS|CountPerSecond|Average|The rate of file operations that do modify persistent state and excluding the write operation, that the Cache sends to a particular StorageTarget.|StorageTarget| +|StorageTargetReadAheadThroughput|Yes|StorageTarget Read Ahead Throughput|BytesPerSecond|Average|The rate the Cache opportunisticly reads data from the StorageTarget.|StorageTarget| +|StorageTargetReadIOPS|Yes|StorageTarget Read IOPS|CountPerSecond|Average|The rate of file read operations the Cache sends to a particular StorageTarget.|StorageTarget| +|StorageTargetRecycleRate|Yes|Storage Target Recycle Rate|BytesPerSecond|Average|Cache space recycle rate associated with a storage target in the HPC Cache. This is the rate at which existing data is cleared from the cache to make room for new data.|StorageTarget| +|StorageTargetSyncWriteThroughput|Yes|StorageTarget Synchronous Write Throughput|BytesPerSecond|Average|The rate the Cache synchronously writes data to a particular StorageTarget. These are writes that do cause clients to block.|StorageTarget| +|StorageTargetTotalReadThroughput|Yes|StorageTarget Total Read Throughput|BytesPerSecond|Average|The total rate that the Cache reads data from a particular StorageTarget.|StorageTarget| +|StorageTargetTotalWriteThroughput|Yes|StorageTarget Total Write Throughput|BytesPerSecond|Average|The total rate that the Cache writes data to a particular StorageTarget.|StorageTarget| +|StorageTargetUsedReadSpace|Yes|Storage Target Used Read Space|Bytes|Average|Read space used by cached files associated with a storage target.|StorageTarget| +|StorageTargetUsedWriteSpace|Yes|Storage Target Used Write Space|Bytes|Average|Write space used by dirty data associated with a storage target.|StorageTarget| +|StorageTargetWriteIOPS|Yes|StorageTarget Write IOPS|Count|Average|The rate of the file write operations the Cache sends to a particular StorageTarget.|StorageTarget| +|TotalBlocksRecycled|Yes|Total Blocks Recycled|Count|Average|Total number of 16k cache blocks recycled (freed) for the HPC Cache.|No Dimensions| +|TotalFreeReadSpace|Yes|Free Read Space|Bytes|Average|Total space available for caching read files.|No Dimensions| +|TotalFreeWriteSpace|Yes|Free Write Read Space|Bytes|Average|Total write space available to store changed data in the cache.|No Dimensions| +|TotalRecycleRate|Yes|Recycle Rate|BytesPerSecond|Average|Total cache space recycle rate in the HPC Cache. This is the rate at which existing data is cleared from the cache to make room for new data.|No Dimensions| +|TotalUsedReadSpace|Yes|Used Read Space|Bytes|Average|Total read space used by dirty data for the HPC Cache.|No Dimensions| +|TotalUsedWriteSpace|Yes|Used Write Space|Bytes|Average|Total write space used by dirty data for the HPC Cache.|No Dimensions| +|Uptime|Yes|Uptime|Count|Average|Boolean results of connectivity test between the Cache and monitoring system.|No Dimensions| + + +## Microsoft.StorageSync/storageSyncServices + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ServerSyncSessionResult|Yes|Sync Session Result|Count|Average|Metric that logs a value of 1 each time the Server Endpoint successfully completes a Sync Session with the Cloud Endpoint|SyncGroupName, ServerEndpointName, SyncDirection| +|StorageSyncBatchTransferredFileBytes|Yes|Bytes synced|Bytes|Total|Total file size transferred for Sync Sessions|SyncGroupName, ServerEndpointName, SyncDirection| +|StorageSyncComputedCacheHitRate|Yes|Cloud tiering cache hit rate|Percent|Average|Percentage of bytes that were served from the cache|SyncGroupName, ServerName, ServerEndpointName| +|StorageSyncRecallComputedSuccessRate|Yes|Cloud tiering recall success rate|Percent|Average|Percentage of all recalls that were successful|SyncGroupName, ServerName, ServerEndpointName| +|StorageSyncRecalledNetworkBytesByApplication|Yes|Cloud tiering recall size by application|Bytes|Total|Size of data recalled by application|SyncGroupName, ServerName, ApplicationName| +|StorageSyncRecalledTotalNetworkBytes|Yes|Cloud tiering recall size|Bytes|Total|Size of data recalled|SyncGroupName, ServerName, ServerEndpointName| +|StorageSyncRecallThroughputBytesPerSecond|Yes|Cloud tiering recall throughput|BytesPerSecond|Average|Size of data recall throughput|SyncGroupName, ServerName, ServerEndpointName| +|StorageSyncServerHeartbeat|Yes|Server Online Status|Count|Maximum|Metric that logs a value of 1 each time the resigtered server successfully records a heartbeat with the Cloud Endpoint|ServerName| +|StorageSyncSyncSessionAppliedFilesCount|Yes|Files Synced|Count|Total|Count of Files synced|SyncGroupName, ServerEndpointName, SyncDirection| +|StorageSyncSyncSessionPerItemErrorsCount|Yes|Files not syncing|Count|Average|Count of files failed to sync|SyncGroupName, ServerEndpointName, SyncDirection| +|StorageSyncTieringCacheSizeBytes|Yes|Server cache size|Bytes|Average|Size of data cached on the server|SyncGroupName, ServerName, ServerEndpointName| + + +## Microsoft.StreamAnalytics/streamingjobs + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AMLCalloutFailedRequests|Yes|Failed Function Requests|Count|Total|Failed Function Requests|LogicalName, PartitionId, ProcessorInstance, NodeName| +|AMLCalloutInputEvents|Yes|Function Events|Count|Total|Function Events|LogicalName, PartitionId, ProcessorInstance, NodeName| +|AMLCalloutRequests|Yes|Function Requests|Count|Total|Function Requests|LogicalName, PartitionId, ProcessorInstance, NodeName| +|ConversionErrors|Yes|Data Conversion Errors|Count|Total|Data Conversion Errors|LogicalName, PartitionId, ProcessorInstance, NodeName| +|DeserializationError|Yes|Input Deserialization Errors|Count|Total|Input Deserialization Errors|LogicalName, PartitionId, ProcessorInstance, NodeName| +|DroppedOrAdjustedEvents|Yes|Out of order Events|Count|Total|Out of order Events|LogicalName, PartitionId, ProcessorInstance, NodeName| +|EarlyInputEvents|Yes|Early Input Events|Count|Total|Early Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| +|Errors|Yes|Runtime Errors|Count|Total|Runtime Errors|LogicalName, PartitionId, ProcessorInstance, NodeName| +|InputEventBytes|Yes|Input Event Bytes|Bytes|Total|Input Event Bytes|LogicalName, PartitionId, ProcessorInstance, NodeName| +|InputEvents|Yes|Input Events|Count|Total|Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| +|InputEventsSourcesBacklogged|Yes|Backlogged Input Events|Count|Maximum|Backlogged Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| +|InputEventsSourcesPerSecond|Yes|Input Sources Received|Count|Total|Input Sources Received|LogicalName, PartitionId, ProcessorInstance, NodeName| +|LateInputEvents|Yes|Late Input Events|Count|Total|Late Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| +|OutputEvents|Yes|Output Events|Count|Total|Output Events|LogicalName, PartitionId, ProcessorInstance, NodeName| +|OutputWatermarkDelaySeconds|Yes|Watermark Delay|Seconds|Maximum|Watermark Delay|LogicalName, PartitionId, ProcessorInstance, NodeName| +|ProcessCPUUsagePercentage|Yes|CPU % Utilization (Preview)|Percent|Maximum|CPU % Utilization (Preview)|LogicalName, PartitionId, ProcessorInstance, NodeName| +|ResourceUtilization|Yes|SU (Memory) % Utilization|Percent|Maximum|SU (Memory) % Utilization|LogicalName, PartitionId, ProcessorInstance, NodeName| + + +## Microsoft.Synapse/workspaces + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BuiltinSqlPoolDataProcessedBytes|No|Data processed (bytes)|Bytes|Total|Amount of data processed by queries|No Dimensions| +|BuiltinSqlPoolLoginAttempts|No|Login attempts|Count|Total|Count of login attempts that succeeded or failed|Result| +|BuiltinSqlPoolRequestsEnded|No|Requests ended|Count|Total|Count of Requests that succeeded, failed, or were cancelled|Result| +|IntegrationActivityRunsEnded|No|Activity runs ended|Count|Total|Count of integration activities that succeeded, failed, or were cancelled|Result, FailureType, Activity, ActivityType, Pipeline| +|IntegrationPipelineRunsEnded|No|Pipeline runs ended|Count|Total|Count of integration pipeline runs that succeeded, failed, or were cancelled|Result, FailureType, Pipeline| +|IntegrationTriggerRunsEnded|No|Trigger Runs ended|Count|Total|Count of integration triggers that succeeded, failed, or were cancelled|Result, FailureType, Trigger| +|SQLStreamingBackloggedInputEventSources|No|Backlogged input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events sources backlogged.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingConversionErrors|No|Data conversion errors (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of output events that could not be converted to the expected output schema. Error policy can be changed to 'Drop' to drop events that encounter this scenario.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingDeserializationError|No|Input deserialization errors (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events that could not be deserialized.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingEarlyInputEvents|No|Early input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events which application time is considered early compared to arrival time, according to early arrival policy.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingInputEventBytes|No|Input event bytes (preview)|Count|Total|This is a preview metric available in East US, West Europe. Amount of data received by the streaming job, in bytes. This can be used to validate that events are being sent to the input source.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingInputEvents|No|Input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingInputEventsSourcesPerSecond|No|Input sources received (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events sources per second.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingLateInputEvents|No|Late input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events which application time is considered late compared to arrival time, according to late arrival policy.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingOutOfOrderEvents|No|Out of order events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of Event Hub Events (serialized messages) received by the Event Hub Input Adapter, received out of order that were either dropped or given an adjusted timestamp, based on the Event Ordering Policy.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingOutputEvents|No|Output events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of output events.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingOutputWatermarkDelaySeconds|No|Watermark delay (preview)|Count|Maximum|This is a preview metric available in East US, West Europe. Output watermark delay in seconds.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingResourceUtilization|No|Resource % utilization (preview)|Percent|Maximum|This is a preview metric available in East US, West Europe. + Resource utilization expressed as a percentage. High utilization indicates that the job is using close to the maximum allocated resources.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| +|SQLStreamingRuntimeErrors|No|Runtime errors (preview)|Count|Total|This is a preview metric available in East US, West Europe. Total number of errors related to query processing (excluding errors found while ingesting events or outputting results).|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| + + +## Microsoft.Synapse/workspaces/bigDataPools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BigDataPoolAllocatedCores|No|vCores allocated|Count|Maximum|Allocated vCores for an Apache Spark Pool|SubmitterId| +|BigDataPoolAllocatedMemory|No|Memory allocated (GB)|Count|Maximum|Allocated Memory for Apach Spark Pool (GB)|SubmitterId| +|BigDataPoolApplicationsActive|No|Active Apache Spark applications|Count|Maximum|Total Active Apache Spark Pool Applications|JobState| +|BigDataPoolApplicationsEnded|No|Ended Apache Spark applications|Count|Total|Count of Apache Spark pool applications ended|JobType, JobResult| + + +## Microsoft.Synapse/workspaces/kustoPools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BatchBlobCount|Yes|Batch Blob Count|Count|Average|Number of data sources in an aggregated batch for ingestion.|Database| +|BatchDuration|Yes|Batch Duration|Seconds|Average|The duration of the aggregation phase in the ingestion flow.|Database| +|BatchesProcessed|Yes|Batches Processed|Count|Total|Number of batches aggregated for ingestion. Batching Type: whether the batch reached batching time, data size or number of files limit set by batching policy|Database, SealReason| +|BatchSize|Yes|Batch Size|Bytes|Average|Uncompressed expected data size in an aggregated batch for ingestion.|Database| +|BlobsDropped|Yes|Blobs Dropped|Count|Total|Number of blobs permanently rejected by a component.|Database, ComponentType, ComponentName| +|BlobsProcessed|Yes|Blobs Processed|Count|Total|Number of blobs processed by a component.|Database, ComponentType, ComponentName| +|BlobsReceived|Yes|Blobs Received|Count|Total|Number of blobs received from input stream by a component.|Database, ComponentType, ComponentName| +|CacheUtilization|Yes|Cache utilization|Percent|Average|Utilization level in the cluster scope|No Dimensions| +|ContinuousExportMaxLatenessMinutes|Yes|Continuous Export Max Lateness|Count|Maximum|The lateness (in minutes) reported by the continuous export jobs in the cluster|No Dimensions| +|ContinuousExportNumOfRecordsExported|Yes|Continuous export - num of exported records|Count|Total|Number of records exported, fired for every storage artifact written during the export operation|ContinuousExportName, Database| +|ContinuousExportPendingCount|Yes|Continuous Export Pending Count|Count|Maximum|The number of pending continuous export jobs ready for execution|No Dimensions| +|ContinuousExportResult|Yes|Continuous Export Result|Count|Count|Indicates whether Continuous Export succeeded or failed|ContinuousExportName, Result, Database| +|CPU|Yes|CPU|Percent|Average|CPU utilization level|No Dimensions| +|DiscoveryLatency|Yes|Discovery Latency|Seconds|Average|Reported by data connections (if exist). Time in seconds from when a message is enqueued or event is created until it is discovered by data connection. This time is not included in the Azure Data Explorer total ingestion duration.|ComponentType, ComponentName| +|EventsDropped|Yes|Events Dropped|Count|Total|Number of events dropped permanently by data connection. An Ingestion result metric with a failure reason will be sent.|ComponentType, ComponentName| +|EventsProcessed|Yes|Events Processed|Count|Total|Number of events processed by the cluster|ComponentType, ComponentName| +|EventsProcessedForEventHubs|Yes|Events Processed (for Event/IoT Hubs)|Count|Total|Number of events processed by the cluster when ingesting from Event/IoT Hub|EventStatus| +|EventsReceived|Yes|Events Received|Count|Total|Number of events received by data connection.|ComponentType, ComponentName| +|ExportUtilization|Yes|Export Utilization|Percent|Maximum|Export utilization|No Dimensions| +|IngestionLatencyInSeconds|Yes|Ingestion Latency|Seconds|Average|Latency of data ingested, from the time the data was received in the cluster until it's ready for query. The ingestion latency period depends on the ingestion scenario.|No Dimensions| +|IngestionResult|Yes|Ingestion result|Count|Total|Total number of sources that either failed or succeeded to be ingested. Splitting the metric by status, you can get detailed information about the status of the ingestion operations.|IngestionResultDetails, FailureKind| +|IngestionUtilization|Yes|Ingestion utilization|Percent|Average|Ratio of used ingestion slots in the cluster|No Dimensions| +|IngestionVolumeInMB|Yes|Ingestion Volume|Bytes|Total|Overall volume of ingested data to the cluster|Database| +|InstanceCount|Yes|Instance Count|Count|Average|Total instance count|No Dimensions| +|KeepAlive|Yes|Keep alive|Count|Average|Sanity check indicates the cluster responds to queries|No Dimensions| +|MaterializedViewAgeMinutes|Yes|Materialized View Age|Count|Average|The materialized view age in minutes|Database, MaterializedViewName| +|MaterializedViewDataLoss|Yes|Materialized View Data Loss|Count|Maximum|Indicates potential data loss in materialized view|Database, MaterializedViewName, Kind| +|MaterializedViewExtentsRebuild|Yes|Materialized View Extents Rebuild|Count|Average|Number of extents rebuild|Database, MaterializedViewName| +|MaterializedViewHealth|Yes|Materialized View Health|Count|Average|The health of the materialized view (1 for healthy, 0 for non-healthy)|Database, MaterializedViewName| +|MaterializedViewRecordsInDelta|Yes|Materialized View Records In Delta|Count|Average|The number of records in the non-materialized part of the view|Database, MaterializedViewName| +|MaterializedViewResult|Yes|Materialized View Result|Count|Average|The result of the materialization process|Database, MaterializedViewName, Result| +|QueryDuration|Yes|Query duration|Milliseconds|Average|Queries' duration in seconds|QueryStatus| +|QueryResult|No|Query Result|Count|Count|Total number of queries.|QueryStatus| +|QueueLength|Yes|Queue Length|Count|Average|Number of pending messages in a component's queue.|ComponentType| +|QueueOldestMessage|Yes|Queue Oldest Message|Count|Average|Time in seconds from when the oldest message in queue was inserted.|ComponentType| +|ReceivedDataSizeBytes|Yes|Received Data Size Bytes|Bytes|Average|Size of data received by data connection. This is the size of the data stream, or of raw data size if provided.|ComponentType, ComponentName| +|StageLatency|Yes|Stage Latency|Seconds|Average|Cumulative time from when a message is discovered until it is received by the reporting component for processing (discovery time is set when message is enqueued for ingestion queue, or when discovered by data connection).|Database, ComponentType| +|SteamingIngestRequestRate|Yes|Streaming Ingest Request Rate|Count|RateRequestsPerSecond|Streaming ingest request rate (requests per second)|No Dimensions| +|StreamingIngestDataRate|Yes|Streaming Ingest Data Rate|Count|Average|Streaming ingest data rate (MB per second)|No Dimensions| +|StreamingIngestDuration|Yes|Streaming Ingest Duration|Milliseconds|Average|Streaming ingest duration in milliseconds|No Dimensions| +|StreamingIngestResults|Yes|Streaming Ingest Result|Count|Count|Streaming ingest result|Result| +|TotalNumberOfConcurrentQueries|Yes|Total number of concurrent queries|Count|Maximum|Total number of concurrent queries|No Dimensions| +|TotalNumberOfExtents|Yes|Total number of extents|Count|Total|Total number of data extents|No Dimensions| +|TotalNumberOfThrottledCommands|Yes|Total number of throttled commands|Count|Total|Total number of throttled commands|CommandType| +|TotalNumberOfThrottledQueries|Yes|Total number of throttled queries|Count|Maximum|Total number of throttled queries|No Dimensions| + + +## Microsoft.Synapse/workspaces/sqlPools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActiveQueries|No|Active queries|Count|Total|The active queries. Using this metric unfiltered and unsplit displays all active queries running on the system|IsUserDefined| +|AdaptiveCacheHitPercent|No|Adaptive cache hit percentage|Percent|Maximum|Measures how well workloads are utilizing the adaptive cache. Use this metric with the cache hit percentage metric to determine whether to scale for additional capacity or rerun workloads to hydrate the cache|No Dimensions| +|AdaptiveCacheUsedPercent|No|Adaptive cache used percentage|Percent|Maximum|Measures how well workloads are utilizing the adaptive cache. Use this metric with the cache used percentage metric to determine whether to scale for additional capacity or rerun workloads to hydrate the cache|No Dimensions| +|Connections|Yes|Connections|Count|Total|Count of Total logins to the SQL pool|Result| +|ConnectionsBlockedByFirewall|No|Connections blocked by firewall|Count|Total|Count of connections blocked by firewall rules. Revisit access control policies for your SQL pool and monitor these connections if the count is high|No Dimensions| +|CPUPercent|No|CPU used percentage|Percent|Maximum|CPU utilization across all nodes in the SQL pool|No Dimensions| +|DWULimit|No|DWU limit|Count|Maximum|Service level objective of the SQL pool|No Dimensions| +|DWUUsed|No|DWU used|Count|Maximum|Represents a high-level representation of usage across the SQL pool. Measured by DWU limit * DWU percentage|No Dimensions| +|DWUUsedPercent|No|DWU used percentage|Percent|Maximum|Represents a high-level representation of usage across the SQL pool. Measured by taking the maximum between CPU percentage and Data IO percentage|No Dimensions| +|LocalTempDBUsedPercent|No|Local tempdb used percentage|Percent|Maximum|Local tempdb utilization across all compute nodes - values are emitted every five minutes|No Dimensions| +|MemoryUsedPercent|No|Memory used percentage|Percent|Maximum|Memory utilization across all nodes in the SQL pool|No Dimensions| +|QueuedQueries|No|Queued queries|Count|Total|Cumulative count of requests queued after the max concurrency limit was reached|IsUserDefined| +|WLGActiveQueries|No|Workload group active queries|Count|Total|The active queries within the workload group. Using this metric unfiltered and unsplit displays all active queries running on the system|IsUserDefined, WorkloadGroup| +|WLGActiveQueriesTimeouts|No|Workload group query timeouts|Count|Total|Queries for the workload group that have timed out. Query timeouts reported by this metric are only once the query has started executing (it does not include wait time due to locking or resource waits)|IsUserDefined, WorkloadGroup| +|WLGAllocationByEffectiveCapResourcePercent|No|Workload group allocation by max resource percent|Percent|Maximum|Displays the percentage allocation of resources relative to the Effective cap resource percent per workload group. This metric provides the effective utilization of the workload group|IsUserDefined, WorkloadGroup| +|WLGAllocationBySystemPercent|No|Workload group allocation by system percent|Percent|Maximum|The percentage allocation of resources relative to the entire system|IsUserDefined, WorkloadGroup| +|WLGEffectiveCapResourcePercent|No|Effective cap resource percent|Percent|Maximum|The effective cap resource percent for the workload group. If there are other workload groups with min_percentage_resource > 0, the effective_cap_percentage_resource is lowered proportionally|IsUserDefined, WorkloadGroup| +|WLGEffectiveMinResourcePercent|No|Effective min resource percent|Percent|Maximum|The effective min resource percentage setting allowed considering the service level and the workload group settings. The effective min_percentage_resource can be adjusted higher on lower service levels|IsUserDefined, WorkloadGroup| +|WLGQueuedQueries|No|Workload group queued queries|Count|Total|Cumulative count of requests queued after the max concurrency limit was reached|IsUserDefined, WorkloadGroup| + + +## Microsoft.TimeSeriesInsights/environments + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|IngressReceivedBytes|Yes|Ingress Received Bytes|Bytes|Total|Count of bytes read from all event sources|No Dimensions| +|IngressReceivedInvalidMessages|Yes|Ingress Received Invalid Messages|Count|Total|Count of invalid messages read from all Event hub or IoT hub event sources|No Dimensions| +|IngressReceivedMessages|Yes|Ingress Received Messages|Count|Total|Count of messages read from all Event hub or IoT hub event sources|No Dimensions| +|IngressReceivedMessagesCountLag|Yes|Ingress Received Messages Count Lag|Count|Average|Difference between the sequence number of last enqueued message in the event source partition and sequence number of messages being processed in Ingress|No Dimensions| +|IngressReceivedMessagesTimeLag|Yes|Ingress Received Messages Time Lag|Seconds|Maximum|Difference between the time that the message is enqueued in the event source and the time it is processed in Ingress|No Dimensions| +|IngressStoredBytes|Yes|Ingress Stored Bytes|Bytes|Total|Total size of events successfully processed and available for query|No Dimensions| +|IngressStoredEvents|Yes|Ingress Stored Events|Count|Total|Count of flattened events successfully processed and available for query|No Dimensions| +|WarmStorageMaxProperties|Yes|Warm Storage Max Properties|Count|Maximum|Maximum number of properties used allowed by the environment for S1/S2 SKU and maximum number of properties allowed by Warm Store for PAYG SKU|No Dimensions| +|WarmStorageUsedProperties|Yes|Warm Storage Used Properties |Count|Maximum|Number of properties used by the environment for S1/S2 SKU and number of properties used by Warm Store for PAYG SKU|No Dimensions| + + +## Microsoft.TimeSeriesInsights/environments/eventsources + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|IngressReceivedBytes|Yes|Ingress Received Bytes|Bytes|Total|Count of bytes read from the event source|No Dimensions| +|IngressReceivedInvalidMessages|Yes|Ingress Received Invalid Messages|Count|Total|Count of invalid messages read from the event source|No Dimensions| +|IngressReceivedMessages|Yes|Ingress Received Messages|Count|Total|Count of messages read from the event source|No Dimensions| +|IngressReceivedMessagesCountLag|Yes|Ingress Received Messages Count Lag|Count|Average|Difference between the sequence number of last enqueued message in the event source partition and sequence number of messages being processed in Ingress|No Dimensions| +|IngressReceivedMessagesTimeLag|Yes|Ingress Received Messages Time Lag|Seconds|Maximum|Difference between the time that the message is enqueued in the event source and the time it is processed in Ingress|No Dimensions| +|IngressStoredBytes|Yes|Ingress Stored Bytes|Bytes|Total|Total size of events successfully processed and available for query|No Dimensions| +|IngressStoredEvents|Yes|Ingress Stored Events|Count|Total|Count of flattened events successfully processed and available for query|No Dimensions| +|WarmStorageMaxProperties|Yes|Warm Storage Max Properties|Count|Maximum|Maximum number of properties used allowed by the environment for S1/S2 SKU and maximum number of properties allowed by Warm Store for PAYG SKU|No Dimensions| +|WarmStorageUsedProperties|Yes|Warm Storage Used Properties |Count|Maximum|Number of properties used by the environment for S1/S2 SKU and number of properties used by Warm Store for PAYG SKU|No Dimensions| + + +## Microsoft.VMwareCloudSimple/virtualMachines + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Total disk throughput due to read operations over the sample period.|No Dimensions| +|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|The average number of IO read operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| +|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Total disk throughput due to write operations over the sample period.|No Dimensions| +|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|The average number of IO write operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| +|DiskReadBytesPerSecond|Yes|Disk Read Bytes/Sec|BytesPerSecond|Average|Average disk throughput due to read operations over the sample period.|No Dimensions| +|DiskReadLatency|Yes|Disk Read Latency|Milliseconds|Average|Total read latency. The sum of the device and kernel read latencies.|No Dimensions| +|DiskReadOperations|Yes|Disk Read Operations|Count|Total|The number of IO read operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| +|DiskWriteBytesPerSecond|Yes|Disk Write Bytes/Sec|BytesPerSecond|Average|Average disk throughput due to write operations over the sample period.|No Dimensions| +|DiskWriteLatency|Yes|Disk Write Latency|Milliseconds|Average|Total write latency. The sum of the device and kernel write latencies.|No Dimensions| +|DiskWriteOperations|Yes|Disk Write Operations|Count|Total|The number of IO write operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| +|MemoryActive|Yes|Memory Active|Bytes|Average|The amount of memory used by the VM in the past small window of time. This is the "true" number of how much memory the VM currently has need of. Additional, unused memory may be swapped out or ballooned with no impact to the guest's performance.|No Dimensions| +|MemoryGranted|Yes|Memory Granted|Bytes|Average|The amount of memory that was granted to the VM by the host. Memory is not granted to the host until it is touched one time and granted memory may be swapped out or ballooned away if the VMkernel needs the memory.|No Dimensions| +|MemoryUsed|Yes|Memory Used|Bytes|Average|The amount of machine memory that is in use by the VM.|No Dimensions| +|Network In|Yes|Network In|Bytes|Total|Total network throughput for received traffic.|No Dimensions| +|Network Out|Yes|Network Out|Bytes|Total|Total network throughput for transmitted traffic.|No Dimensions| +|NetworkInBytesPerSecond|Yes|Network In Bytes/Sec|BytesPerSecond|Average|Average network throughput for received traffic.|No Dimensions| +|NetworkOutBytesPerSecond|Yes|Network Out Bytes/Sec|BytesPerSecond|Average|Average network throughput for transmitted traffic.|No Dimensions| +|Percentage CPU|Yes|Percentage CPU|Percent|Average|The CPU utilization. This value is reported with 100% representing all processor cores on the system. As an example, a 2-way VM using 50% of a four-core system is completely using two cores.|No Dimensions| +|PercentageCpuReady|Yes|Percentage CPU Ready|Milliseconds|Total|Ready time is the time spend waiting for CPU(s) to become available in the past update interval.|No Dimensions| + + +## Microsoft.Web/connections + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ApiConnectionRequests|Yes|Requests|Count|Total|API Connection Requests|HttpStatusCode, ClientIPAddress| + + +## Microsoft.Web/containerapps + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|Replicas|Yes|Replica Count|Count|Maximum|Number of replicas count of container app|revisionName, deploymentName| +|Requests|Yes|Requests|Count|Total|Requests processed|revisionName, podName, statusCodeCategory, statusCode| +|RestartCount|Yes|Replica Restart Count|Count|Maximum|Restart count of container app replicas|revisionName, podName| +|RxBytes|Yes|Network In Bytes|Bytes|Total|Network received bytes|revisionName, podName| +|TxBytes|Yes|Network Out Bytes|Bytes|Total|Network transmitted bytes|revisionName, podName| +|UsageNanoCores|Yes|CPU Usage Nanocores|NanoCores|Average|CPU consumed by the container app, in nano cores. 1,000,000,000 nano cores = 1 core|revisionName, podName| +|WorkingSetBytes|Yes|Memory Working Set Bytes|Bytes|Average|Container App working set memory used in bytes.|revisionName, podName| + + +## Microsoft.Web/hostingEnvironments + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActiveRequests|Yes|Active Requests (deprecated)|Count|Total|ActiveRequests|Instance| +|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|AverageResponseTime|Instance| +|BytesReceived|Yes|Data In|Bytes|Total|BytesReceived|Instance| +|BytesSent|Yes|Data Out|Bytes|Total|BytesSent|Instance| +|CpuPercentage|Yes|CPU Percentage|Percent|Average|CpuPercentage|Instance| +|DiskQueueLength|Yes|Disk Queue Length|Count|Average|DiskQueueLength|Instance| +|Http101|Yes|Http 101|Count|Total|Http101|Instance| +|Http2xx|Yes|Http 2xx|Count|Total|Http2xx|Instance| +|Http3xx|Yes|Http 3xx|Count|Total|Http3xx|Instance| +|Http401|Yes|Http 401|Count|Total|Http401|Instance| +|Http403|Yes|Http 403|Count|Total|Http403|Instance| +|Http404|Yes|Http 404|Count|Total|Http404|Instance| +|Http406|Yes|Http 406|Count|Total|Http406|Instance| +|Http4xx|Yes|Http 4xx|Count|Total|Http4xx|Instance| +|Http5xx|Yes|Http Server Errors|Count|Total|Http5xx|Instance| +|HttpQueueLength|Yes|Http Queue Length|Count|Average|HttpQueueLength|Instance| +|HttpResponseTime|Yes|Response Time|Seconds|Average|HttpResponseTime|Instance| +|LargeAppServicePlanInstances|Yes|Large App Service Plan Workers|Count|Average|Large App Service Plan Workers|No Dimensions| +|MediumAppServicePlanInstances|Yes|Medium App Service Plan Workers|Count|Average|Medium App Service Plan Workers|No Dimensions| +|MemoryPercentage|Yes|Memory Percentage|Percent|Average|MemoryPercentage|Instance| +|Requests|Yes|Requests|Count|Total|Requests|Instance| +|SmallAppServicePlanInstances|Yes|Small App Service Plan Workers|Count|Average|Small App Service Plan Workers|No Dimensions| +|TotalFrontEnds|Yes|Total Front Ends|Count|Average|Total Front Ends|No Dimensions| + + +## Microsoft.Web/hostingEnvironments/multiRolePools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|ActiveRequests|Yes|Active Requests (deprecated)|Count|Total|Active Requests|Instance| +|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|The average time taken for the front end to serve requests, in seconds.|Instance| +|BytesReceived|Yes|Data In|Bytes|Total|The average incoming bandwidth used across all front ends, in MiB.|Instance| +|BytesSent|Yes|Data Out|Bytes|Total|The average incoming bandwidth used across all front end, in MiB.|Instance| +|CpuPercentage|Yes|CPU Percentage|Percent|Average|The average CPU used across all instances of front end.|Instance| +|DiskQueueLength|Yes|Disk Queue Length|Count|Average|The average number of both read and write requests that were queued on storage. A high disk queue length is an indication of an app that might be slowing down because of excessive disk I/O.|Instance| +|Http101|Yes|Http 101|Count|Total|The count of requests resulting in an HTTP status code 101.|Instance| +|Http2xx|Yes|Http 2xx|Count|Total|The count of requests resulting in an HTTP status code = 200 but < 300.|Instance| +|Http3xx|Yes|Http 3xx|Count|Total|The count of requests resulting in an HTTP status code = 300 but < 400.|Instance| +|Http401|Yes|Http 401|Count|Total|The count of requests resulting in HTTP 401 status code.|Instance| +|Http403|Yes|Http 403|Count|Total|The count of requests resulting in HTTP 403 status code.|Instance| +|Http404|Yes|Http 404|Count|Total|The count of requests resulting in HTTP 404 status code.|Instance| +|Http406|Yes|Http 406|Count|Total|The count of requests resulting in HTTP 406 status code.|Instance| +|Http4xx|Yes|Http 4xx|Count|Total|The count of requests resulting in an HTTP status code = 400 but < 500.|Instance| +|Http5xx|Yes|Http Server Errors|Count|Total|The count of requests resulting in an HTTP status code = 500 but < 600.|Instance| +|HttpQueueLength|Yes|Http Queue Length|Count|Average|The average number of HTTP requests that had to sit on the queue before being fulfilled. A high or increasing HTTP Queue length is a symptom of a plan under heavy load.|Instance| +|HttpResponseTime|Yes|Response Time|Seconds|Average|The time taken for the front end to serve requests, in seconds.|Instance| +|LargeAppServicePlanInstances|Yes|Large App Service Plan Workers|Count|Average|Large App Service Plan Workers|No Dimensions| +|MediumAppServicePlanInstances|Yes|Medium App Service Plan Workers|Count|Average|Medium App Service Plan Workers|No Dimensions| +|MemoryPercentage|Yes|Memory Percentage|Percent|Average|The average memory used across all instances of front end.|Instance| +|Requests|Yes|Requests|Count|Total|The total number of requests regardless of their resulting HTTP status code.|Instance| +|SmallAppServicePlanInstances|Yes|Small App Service Plan Workers|Count|Average|Small App Service Plan Workers|No Dimensions| +|TotalFrontEnds|Yes|Total Front Ends|Count|Average|Total Front Ends|No Dimensions| + + +## Microsoft.Web/hostingEnvironments/workerPools + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|CpuPercentage|Yes|CPU Percentage|Percent|Average|The average CPU used across all instances of the worker pool.|Instance| +|MemoryPercentage|Yes|Memory Percentage|Percent|Average|The average memory used across all instances of the worker pool.|Instance| +|WorkersAvailable|Yes|Available Workers|Count|Average|Available Workers|No Dimensions| +|WorkersTotal|Yes|Total Workers|Count|Average|Total Workers|No Dimensions| +|WorkersUsed|Yes|Used Workers|Count|Average|Used Workers|No Dimensions| + + +## Microsoft.Web/serverfarms + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BytesReceived|Yes|Data In|Bytes|Total|The average incoming bandwidth used across all instances of the plan.|Instance| +|BytesSent|Yes|Data Out|Bytes|Total|The average outgoing bandwidth used across all instances of the plan.|Instance| +|CpuPercentage|Yes|CPU Percentage|Percent|Average|The average CPU used across all instances of the plan.|Instance| +|DiskQueueLength|Yes|Disk Queue Length|Count|Average|The average number of both read and write requests that were queued on storage. A high disk queue length is an indication of an app that might be slowing down because of excessive disk I/O.|Instance| +|HttpQueueLength|Yes|Http Queue Length|Count|Average|The average number of HTTP requests that had to sit on the queue before being fulfilled. A high or increasing HTTP Queue length is a symptom of a plan under heavy load.|Instance| +|MemoryPercentage|Yes|Memory Percentage|Percent|Average|The average memory used across all instances of the plan.|Instance| +|SocketInboundAll|Yes|Socket Count for Inbound Requests|Count|Average|The average number of sockets used for incoming HTTP requests across all the instances of the plan.|Instance| +|SocketLoopback|Yes|Socket Count for Loopback Connections|Count|Average|The average number of sockets used for loopback connections across all the instances of the plan.|Instance| +|SocketOutboundAll|Yes|Socket Count of Outbound Requests|Count|Average|The average number of sockets used for outbound connections across all the instances of the plan irrespective of their TCP states. Having too many outbound connections can cause connectivity errors.|Instance| +|SocketOutboundEstablished|Yes|Established Socket Count for Outbound Requests|Count|Average|The average number of sockets in ESTABLISHED state used for outbound connections across all the instances of the plan.|Instance| +|SocketOutboundTimeWait|Yes|Time Wait Socket Count for Outbound Requests|Count|Average|The average number of sockets in TIME_WAIT state used for outbound connections across all the instances of the plan. High or increasing outbound socket counts in TIME_WAIT state can cause connectivity errors.|Instance| +|TcpCloseWait|Yes|TCP Close Wait|Count|Average|The average number of sockets in CLOSE_WAIT state across all the instances of the plan.|Instance| +|TcpClosing|Yes|TCP Closing|Count|Average|The average number of sockets in CLOSING state across all the instances of the plan.|Instance| +|TcpEstablished|Yes|TCP Established|Count|Average|The average number of sockets in ESTABLISHED state across all the instances of the plan.|Instance| +|TcpFinWait1|Yes|TCP Fin Wait 1|Count|Average|The average number of sockets in FIN_WAIT_1 state across all the instances of the plan.|Instance| +|TcpFinWait2|Yes|TCP Fin Wait 2|Count|Average|The average number of sockets in FIN_WAIT_2 state across all the instances of the plan.|Instance| +|TcpLastAck|Yes|TCP Last Ack|Count|Average|The average number of sockets in LAST_ACK state across all the instances of the plan.|Instance| +|TcpSynReceived|Yes|TCP Syn Received|Count|Average|The average number of sockets in SYN_RCVD state across all the instances of the plan.|Instance| +|TcpSynSent|Yes|TCP Syn Sent|Count|Average|The average number of sockets in SYN_SENT state across all the instances of the plan.|Instance| +|TcpTimeWait|Yes|TCP Time Wait|Count|Average|The average number of sockets in TIME_WAIT state across all the instances of the plan.|Instance| + + +## Microsoft.Web/sites + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AppConnections|Yes|Connections|Count|Average|The number of bound sockets existing in the sandbox (w3wp.exe and its child processes). A bound socket is created by calling bind()/connect() APIs and remains until said socket is closed with CloseHandle()/closesocket().|Instance| +|AverageMemoryWorkingSet|Yes|Average memory working set|Bytes|Average|The average amount of memory used by the app, in megabytes (MiB).|Instance| +|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|The average time taken for the app to serve requests, in seconds.|Instance| +|BytesReceived|Yes|Data In|Bytes|Total|The amount of incoming bandwidth consumed by the app, in MiB.|Instance| +|BytesSent|Yes|Data Out|Bytes|Total|The amount of outgoing bandwidth consumed by the app, in MiB.|Instance| +|CpuTime|Yes|CPU Time|Seconds|Total|The amount of CPU consumed by the app, in seconds. For more information about this metric. Please see - https://aka.ms/website-monitor-cpu-time-vs-cpu-percentage (CPU time vs CPU percentage).|Instance| +|CurrentAssemblies|Yes|Current Assemblies|Count|Average|The current number of Assemblies loaded across all AppDomains in this application.|Instance| +|FileSystemUsage|Yes|File System Usage|Bytes|Average|Percentage of filesystem quota consumed by the app.|No Dimensions| +|FunctionExecutionCount|Yes|Function Execution Count|Count|Total|Function Execution Count|Instance| +|FunctionExecutionUnits|Yes|Function Execution Units|Count|Total|Function Execution Units|Instance| +|Gen0Collections|Yes|Gen 0 Garbage Collections|Count|Total|The number of times the generation 0 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| +|Gen1Collections|Yes|Gen 1 Garbage Collections|Count|Total|The number of times the generation 1 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| +|Gen2Collections|Yes|Gen 2 Garbage Collections|Count|Total|The number of times the generation 2 objects are garbage collected since the start of the app process.|Instance| +|Handles|Yes|Handle Count|Count|Average|The total number of handles currently open by the app process.|Instance| +|HealthCheckStatus|Yes|Health check status|Count|Average|Health check status|Instance| +|Http101|Yes|Http 101|Count|Total|The count of requests resulting in an HTTP status code 101.|Instance| +|Http2xx|Yes|Http 2xx|Count|Total|The count of requests resulting in an HTTP status code = 200 but < 300.|Instance| +|Http3xx|Yes|Http 3xx|Count|Total|The count of requests resulting in an HTTP status code = 300 but < 400.|Instance| +|Http401|Yes|Http 401|Count|Total|The count of requests resulting in HTTP 401 status code.|Instance| +|Http403|Yes|Http 403|Count|Total|The count of requests resulting in HTTP 403 status code.|Instance| +|Http404|Yes|Http 404|Count|Total|The count of requests resulting in HTTP 404 status code.|Instance| +|Http406|Yes|Http 406|Count|Total|The count of requests resulting in HTTP 406 status code.|Instance| +|Http4xx|Yes|Http 4xx|Count|Total|The count of requests resulting in an HTTP status code = 400 but < 500.|Instance| +|Http5xx|Yes|Http Server Errors|Count|Total|The count of requests resulting in an HTTP status code = 500 but < 600.|Instance| +|HttpResponseTime|Yes|Response Time|Seconds|Average|The time taken for the app to serve requests, in seconds.|Instance| +|IoOtherBytesPerSecond|Yes|IO Other Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.|Instance| +|IoOtherOperationsPerSecond|Yes|IO Other Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing I/O operations that aren't read or write operations.|Instance| +|IoReadBytesPerSecond|Yes|IO Read Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is reading bytes from I/O operations.|Instance| +|IoReadOperationsPerSecond|Yes|IO Read Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing read I/O operations.|Instance| +|IoWriteBytesPerSecond|Yes|IO Write Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is writing bytes to I/O operations.|Instance| +|IoWriteOperationsPerSecond|Yes|IO Write Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing write I/O operations.|Instance| +|MemoryWorkingSet|Yes|Memory working set|Bytes|Average|The current amount of memory used by the app, in MiB.|Instance| +|PrivateBytes|Yes|Private Bytes|Bytes|Average|Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.|Instance| +|Requests|Yes|Requests|Count|Total|The total number of requests regardless of their resulting HTTP status code.|Instance| +|RequestsInApplicationQueue|Yes|Requests In Application Queue|Count|Average|The number of requests in the application request queue.|Instance| +|ScmCpuTime|Yes|ScmCpuTime|Seconds|Total|ScmCpuTime|Instance| +|ScmPrivateBytes|Yes|ScmPrivateBytes|Bytes|Average|ScmPrivateBytes|Instance| +|Threads|Yes|Thread Count|Count|Average|The number of threads currently active in the app process.|Instance| +|TotalAppDomains|Yes|Total App Domains|Count|Average|The current number of AppDomains loaded in this application.|Instance| +|TotalAppDomainsUnloaded|Yes|Total App Domains Unloaded|Count|Average|The total number of AppDomains unloaded since the start of the application.|Instance| + + +## Microsoft.Web/sites/slots + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|AppConnections|Yes|Connections|Count|Average|The number of bound sockets existing in the sandbox (w3wp.exe and its child processes). A bound socket is created by calling bind()/connect() APIs and remains until said socket is closed with CloseHandle()/closesocket().|Instance| +|AverageMemoryWorkingSet|Yes|Average memory working set|Bytes|Average|The average amount of memory used by the app, in megabytes (MiB).|Instance| +|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|The average time taken for the app to serve requests, in seconds.|Instance| +|BytesReceived|Yes|Data In|Bytes|Total|The amount of incoming bandwidth consumed by the app, in MiB.|Instance| +|BytesSent|Yes|Data Out|Bytes|Total|The amount of outgoing bandwidth consumed by the app, in MiB.|Instance| +|CpuTime|Yes|CPU Time|Seconds|Total|The amount of CPU consumed by the app, in seconds. For more information about this metric. Please see - https://aka.ms/website-monitor-cpu-time-vs-cpu-percentage (CPU time vs CPU percentage).|Instance| +|CurrentAssemblies|Yes|Current Assemblies|Count|Average|The current number of Assemblies loaded across all AppDomains in this application.|Instance| +|FileSystemUsage|Yes|File System Usage|Bytes|Average|Percentage of filesystem quota consumed by the app.|No Dimensions| +|FunctionExecutionCount|Yes|Function Execution Count|Count|Total|Function Execution Count|Instance| +|FunctionExecutionUnits|Yes|Function Execution Units|Count|Total|Function Execution Units|Instance| +|Gen0Collections|Yes|Gen 0 Garbage Collections|Count|Total|The number of times the generation 0 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| +|Gen1Collections|Yes|Gen 1 Garbage Collections|Count|Total|The number of times the generation 1 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| +|Gen2Collections|Yes|Gen 2 Garbage Collections|Count|Total|The number of times the generation 2 objects are garbage collected since the start of the app process.|Instance| +|Handles|Yes|Handle Count|Count|Average|The total number of handles currently open by the app process.|Instance| +|HealthCheckStatus|Yes|Health check status|Count|Average|Health check status|Instance| +|Http101|Yes|Http 101|Count|Total|The count of requests resulting in an HTTP status code 101.|Instance| +|Http2xx|Yes|Http 2xx|Count|Total|The count of requests resulting in an HTTP status code = 200 but < 300.|Instance| +|Http3xx|Yes|Http 3xx|Count|Total|The count of requests resulting in an HTTP status code = 300 but < 400.|Instance| +|Http401|Yes|Http 401|Count|Total|The count of requests resulting in HTTP 401 status code.|Instance| +|Http403|Yes|Http 403|Count|Total|The count of requests resulting in HTTP 403 status code.|Instance| +|Http404|Yes|Http 404|Count|Total|The count of requests resulting in HTTP 404 status code.|Instance| +|Http406|Yes|Http 406|Count|Total|The count of requests resulting in HTTP 406 status code.|Instance| +|Http4xx|Yes|Http 4xx|Count|Total|The count of requests resulting in an HTTP status code = 400 but < 500.|Instance| +|Http5xx|Yes|Http Server Errors|Count|Total|The count of requests resulting in an HTTP status code = 500 but < 600.|Instance| +|HttpResponseTime|Yes|Response Time|Seconds|Average|The time taken for the app to serve requests, in seconds.|Instance| +|IoOtherBytesPerSecond|Yes|IO Other Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.|Instance| +|IoOtherOperationsPerSecond|Yes|IO Other Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing I/O operations that aren't read or write operations.|Instance| +|IoReadBytesPerSecond|Yes|IO Read Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is reading bytes from I/O operations.|Instance| +|IoReadOperationsPerSecond|Yes|IO Read Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing read I/O operations.|Instance| +|IoWriteBytesPerSecond|Yes|IO Write Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is writing bytes to I/O operations.|Instance| +|IoWriteOperationsPerSecond|Yes|IO Write Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing write I/O operations.|Instance| +|MemoryWorkingSet|Yes|Memory working set|Bytes|Average|The current amount of memory used by the app, in MiB.|Instance| +|PrivateBytes|Yes|Private Bytes|Bytes|Average|Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.|Instance| +|Requests|Yes|Requests|Count|Total|The total number of requests regardless of their resulting HTTP status code.|Instance| +|RequestsInApplicationQueue|Yes|Requests In Application Queue|Count|Average|The number of requests in the application request queue.|Instance| +|ScmCpuTime|Yes|ScmCpuTime|Seconds|Total|ScmCpuTime|Instance| +|ScmPrivateBytes|Yes|ScmPrivateBytes|Bytes|Average|ScmPrivateBytes|Instance| +|Threads|Yes|Thread Count|Count|Average|The number of threads currently active in the app process.|Instance| +|TotalAppDomains|Yes|Total App Domains|Count|Average|The current number of AppDomains loaded in this application.|Instance| +|TotalAppDomainsUnloaded|Yes|Total App Domains Unloaded|Count|Average|The total number of AppDomains unloaded since the start of the application.|Instance| + + +## Microsoft.Web/staticSites + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BytesSent|No|Data Out|Bytes|Total|BytesSent|Instance| +|CdnPercentageOf4XX|No|CdnPercentageOf4XX|Percent|Total|CdnPercentageOf4XX|Instance| +|CdnPercentageOf5XX|No|CdnPercentageOf5XX|Percent|Total|CdnPercentageOf5XX|Instance| +|CdnRequestCount|No|CdnRequestCount|Count|Total|CdnRequestCount|Instance| +|CdnResponseSize|No|CdnResponseSize|Bytes|Total|CdnResponseSize|Instance| +|CdnTotalLatency|No|CdnTotalLatency|MilliSeconds|Total|CdnTotalLatency|Instance| +|FunctionErrors|No|FunctionErrors|Count|Total|FunctionErrors|Instance| +|FunctionHits|No|FunctionHits|Count|Total|FunctionHits|Instance| +|SiteErrors|No|SiteErrors|Count|Total|SiteErrors|Instance| +|SiteHits|No|SiteHits|Count|Total|SiteHits|Instance| + + +## Wandisco.Fusion/migrators + +|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| +|---|---|---|---|---|---|---| +|BytesPerSecond|Yes|Bytes per Second.|BytesPerSecond|Average|Throughput speed of Bytes/second being utilized for a migrator.|No Dimensions| +|DirectoriesCreatedCount|Yes|Directories Created Count|Count|Total|This provides a running view of how many directories have been created as part of a migration.|No Dimensions| +|FileMigrationCount|Yes|Files Migration Count|Count|Total|This provides a running total of how many files have been migrated.|No Dimensions| +|InitialScanDataMigratedInBytes|Yes|Initial Scan Data Migrated in Bytes|Bytes|Total|This provides the view of the total bytes which have been transferred in a new migrator as a result of the initial scan of the On-Premises file system. Any data which is added to the migration after the initial scan migration, is NOT included in this metric.|No Dimensions| +|LiveDataMigratedInBytes|Yes|Live Data Migrated in Bytes|Count|Total|Provides a running total of LiveData which has been changed due to Client activity, since the migration started.|No Dimensions| +|MigratorCPULoad|Yes|Migrator CPU Load|Percent|Average|CPU consumption by the migrator process.|No Dimensions| +|NumberOfExcludedPaths|Yes|Number of Excluded Paths|Count|Total|Provides a running count of the paths which have been excluded from the migration due to Exclusion Rules.|No Dimensions| +|NumberOfFailedPaths|Yes|Number of Failed Paths|Count|Total|A count of which paths have failed to migrate.|No Dimensions| +|SystemCPULoad|Yes|System CPU Load|Percent|Average|Total CPU consumption.|No Dimensions| +|TotalMigratedDataInBytes|Yes|Total Migrated Data in Bytes|Bytes|Total|This provides a view of the successfully migrated Bytes for a given migrator|No Dimensions| +|TotalTransactions|Yes|Total Transactions|Count|Total|This provides a running total of the Data Transactions for which the user could be billed.|No Dimensions| + + +## Next steps + +- [Read about metrics in Azure Monitor](../data-platform.md) +- [Create alerts on metrics](../alerts/alerts-overview.md) +- [Export metrics to storage, Event Hub, or Log Analytics](../essentials/platform-logs-overview.md) From 6025758fdfae9b71b04932b9f5a0c2dc4c74aca1 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 16:00:44 +0200 Subject: [PATCH 063/130] Update to latest --- .../extension/Set-RoleAssignmentsModuleData.ps1 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 index 6e9cda7d5d..3a9f7914c9 100644 --- a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 @@ -1,6 +1,6 @@ function Set-RoleAssignmentsModuleData { - [CmdletBinding()] + [CmdletBinding(SupportsShouldProcess)] param ( [Parameter(Mandatory = $true)] [string] $ProviderNamespace, @@ -83,9 +83,13 @@ function Set-RoleAssignmentsModuleData { # Set content $roleTemplateFilePath = Join-Path $ModuleRootPath '.bicep' 'nested_roleAssignments.bicep' if (-not (Test-Path $roleTemplateFilePath)) { - New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value $fileContent + if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Create')) { + New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value $fileContent + } } else { - Set-Content -Path $roleTemplateFilePath -Value $fileContent + if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Update')) { + Set-Content -Path $roleTemplateFilePath -Value $fileContent + } } } From 1ab5c9780817fb290a01bebf92817c8c6f9ceb6b Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 16:03:35 +0200 Subject: [PATCH 064/130] Fixed typo --- utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 | 8 ++++---- utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 index d2d22d33b4..4f1a3b3b3b 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 @@ -109,10 +109,10 @@ function Invoke-REST2CARML { ########################################### ## Generate initial module structure ## ########################################### - # if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - # # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource - # Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - # } + if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource + Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType + } ############################ ## Set module content ## diff --git a/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 b/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 index 29bdae6edd..2551f8c6ae 100644 --- a/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 @@ -189,7 +189,7 @@ function Set-ModuleFileStructure { $automationFileName = ('ms.{0}.{1}.yml' -f ($ProviderNamespace -split '\.')[-1], $ResourceType).ToLower() $gitHubWorkflowYAMLPath = Join-Path $repoRootPath '.github' 'workflows' $automationFileName $workflowFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'gitHubWorkflowTemplateFile.yml') -Raw - $pipelineFileContent = Set-TokenValuesInArray -Content $pipelineFileContent -Tokens $tokens + $workflowFileContent = Set-TokenValuesInArray -Content $workflowFileContent -Tokens $tokens if (-not (Test-Path $gitHubWorkflowYAMLPath)) { if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { $null = New-Item $gitHubWorkflowYAMLPath -ItemType 'File' -Value $workflowFileContent.TrimEnd() From 9b3017352ca2ffcbe6ad861190879cac90e90190 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 16:11:09 +0200 Subject: [PATCH 065/130] Minor update --- utilities/tools/REST2CARML/Set-Module.ps1 | 2 +- utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 | 4 ++-- .../REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index e6cf830dd3..e847ba4511 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -67,7 +67,7 @@ ## Set Locks data $lockInputObject = @{ - JSONFilePath = $JSONFilePath + JSONKeyPath = $JSONKeyPath ResourceType = $ResourceType ModuleData = $ModuleData } diff --git a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 index 0d326bba18..33905f8fc4 100644 --- a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 @@ -3,7 +3,7 @@ function Set-LockModuleData { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [string] $JSONFilePath, + [string] $JSONKeyPath, [Parameter(Mandatory = $true)] [string] $ResourceType, @@ -20,7 +20,7 @@ function Set-LockModuleData { process { - if (-not (Get-SupportsLock -JSONFilePath $JSONFilePath)) { + if (-not (Get-SupportsLock -JSONKeyPath $JSONKeyPath)) { return } diff --git a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 index 3a9f7914c9..23867a715a 100644 --- a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 @@ -84,11 +84,11 @@ function Set-RoleAssignmentsModuleData { $roleTemplateFilePath = Join-Path $ModuleRootPath '.bicep' 'nested_roleAssignments.bicep' if (-not (Test-Path $roleTemplateFilePath)) { if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Create')) { - New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value $fileContent + $null = New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value $fileContent } } else { if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Update')) { - Set-Content -Path $roleTemplateFilePath -Value $fileContent + $null = Set-Content -Path $roleTemplateFilePath -Value $fileContent } } } From a0214a40d764345c77f4b2c7058c331175f3a5d0 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 16:15:50 +0200 Subject: [PATCH 066/130] Fixed input --- .../REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 index 23867a715a..2b368b1996 100644 --- a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 @@ -84,11 +84,11 @@ function Set-RoleAssignmentsModuleData { $roleTemplateFilePath = Join-Path $ModuleRootPath '.bicep' 'nested_roleAssignments.bicep' if (-not (Test-Path $roleTemplateFilePath)) { if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Create')) { - $null = New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value $fileContent + $null = New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value ($fileContent | Out-String).Trim() } } else { if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Update')) { - $null = Set-Content -Path $roleTemplateFilePath -Value $fileContent + $null = Set-Content -Path $roleTemplateFilePath -Value ($fileContent | Out-String).Trim() } } } From 9e4bfdfe2bd6a27ad19a30a6531a621dfc42c956 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 16:19:48 +0200 Subject: [PATCH 067/130] Minor updates --- utilities/tools/REST2CARML/Set-Module.ps1 | 1 + .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 7 +- .../tools/REST2CARML/temp/diagnosticLogs.md | 1245 +++++++++++++++++ .../REST2CARML/temp/diagnosticMetrics.md | 34 +- 4 files changed, 1264 insertions(+), 23 deletions(-) create mode 100644 utilities/tools/REST2CARML/temp/diagnosticLogs.md diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/Set-Module.ps1 index e847ba4511..55b2048277 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/Set-Module.ps1 @@ -30,6 +30,7 @@ . (Join-Path $PSScriptRoot 'extension' 'Set-RoleAssignmentsModuleData.ps1') . (Join-Path $PSScriptRoot 'extension' 'Set-PrivateEndpointModuleData.ps1') . (Join-Path $PSScriptRoot 'extension' 'Set-LockModuleData.ps1') + . (Join-Path $PSScriptRoot 'Set-ModuleTemplate.ps1') . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index 4a8ff56c55..ec722a7250 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -297,11 +297,6 @@ function Set-ModuleTemplate { $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' - # Load used functions - . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') - . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') - . (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') - . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } process { @@ -309,7 +304,7 @@ function Set-ModuleTemplate { ## Create template parameters section ## ########################################## - $targetScope = Get-TargetScope -JSONKeyPath $JSONKeyPath + $targetScope = Get-TargetScope -JSONKeyPath $JSONFilePath $templateContent = @( "targetScope = '{0}'" -f $targetScope diff --git a/utilities/tools/REST2CARML/temp/diagnosticLogs.md b/utilities/tools/REST2CARML/temp/diagnosticLogs.md new file mode 100644 index 0000000000..e053569faf --- /dev/null +++ b/utilities/tools/REST2CARML/temp/diagnosticLogs.md @@ -0,0 +1,1245 @@ +--- +title: Supported categories for Azure Monitor resource logs +description: Understand the supported services and event schemas for Azure Monitor resource logs. +ms.topic: reference +ms.date: 09/07/2022 +ms.reviewer: lualderm + +--- + +# Supported categories for Azure Monitor resource logs + +> [!NOTE] +> This list is largely auto-generated. Any modification made to this list via GitHub might be written over without warning. Contact the author of this article for details on how to make permanent updates. + +[Azure Monitor resource logs](../essentials/platform-logs-overview.md) are logs emitted by Azure services that describe the operation of those services or resources. All resource logs available through Azure Monitor share a common top-level schema. Each service has the flexibility to emit unique properties for its own events. + +Resource logs were previously known as diagnostic logs. The name was changed in October 2019 as the types of logs gathered by Azure Monitor shifted to include more than just the Azure resource. + +A combination of the resource type (available in the `resourceId` property) and the category uniquely identifies a schema. There's a common schema for all resource logs with service-specific fields then added for different log categories. For more information, see [Common and service-specific schema for Azure resource logs](./resource-logs-schema.md). + +## Costs + +[Azure Monitor Log Analytics](https://azure.microsoft.com/pricing/details/monitor/), [Azure Storage](https://azure.microsoft.com/product-categories/storage/), [Azure Event Hubs](https://azure.microsoft.com/pricing/details/event-hubs/), and partners who integrate directly with Azure Monitor (for example, [Datadog](../../partner-solutions/datadog/overview.md)) have costs associated with ingesting data and storing data. Check the pricing pages linked in the previous sentence to understand the costs for those services. Resource logs are just one type of data that you can send to those locations. + +In addition, there might be costs to export some categories of resource logs to those locations. Logs with possible export costs are listed in the table in the next section. For more information on export pricing, see the **Platform Logs** section on the [Azure Monitor pricing page](https://azure.microsoft.com/pricing/details/monitor/). + +## Supported log categories per resource type + +Following is a list of the types of logs available for each resource type. + +Some categories might be supported only for specific types of resources. See the resource-specific documentation if you feel you're missing a resource. For example, Microsoft.Sql/servers/databases categories aren't available for all types of databases. For more information, see [information on SQL Database diagnostic logging](/azure/azure-sql/database/metrics-diagnostic-telemetry-logging-streaming-export-configure). + +If you think something is missing, you can open a GitHub comment at the bottom of this article. + + +## Microsoft.AAD/domainServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AccountLogon|AccountLogon|No| +|AccountManagement|AccountManagement|No| +|DetailTracking|DetailTracking|No| +|DirectoryServiceAccess|DirectoryServiceAccess|No| +|LogonLogoff|LogonLogoff|No| +|ObjectAccess|ObjectAccess|No| +|PolicyChange|PolicyChange|No| +|PrivilegeUse|PrivilegeUse|No| +|SystemSecurity|SystemSecurity|No| + + +## microsoft.aadiam/tenants + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Signin|Signin|Yes| + + +## Microsoft.AgFoodPlatform/farmBeats + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ApplicationAuditLogs|Application Audit Logs|Yes| +|FarmManagementLogs|Farm Management Logs|Yes| +|FarmOperationLogs|Farm Operation Logs|Yes| +|InsightLogs|Insight Logs|Yes| +|JobProcessedLogs|Job Processed Logs|Yes| +|ModelInferenceLogs|Model Inference Logs|Yes| +|ProviderAuthLogs|Provider Auth Logs|Yes| +|SatelliteLogs|Satellite Logs|Yes| +|SensorManagementLogs|Sensor Management Logs|Yes| +|WeatherLogs|Weather Logs|Yes| + + +## Microsoft.AnalysisServices/servers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Engine|Engine|No| +|Service|Service|No| + + +## Microsoft.ApiManagement/service + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|GatewayLogs|Logs related to ApiManagement Gateway|No| + + +## Microsoft.AppConfiguration/configurationStores + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit|Yes| +|HttpRequest|HTTP Requests|Yes| + + +## Microsoft.AppPlatform/Spring + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ApplicationConsole|Application Console|No| +|BuildLogs|Build Logs|Yes| +|ContainerEventLogs|Container Event Logs|Yes| +|IngressLogs|Ingress Logs|Yes| +|SystemLogs|System Logs|No| + + +## Microsoft.Attestation/attestationProviders + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuditEvent|AuditEvent message log category.|No| +|ERR|Error message log category.|No| +|INF|Informational message log category.|No| +|WRN|Warning message log category.|No| + + +## Microsoft.Automation/automationAccounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DscNodeStatus|Dsc Node Status|No| +|JobLogs|Job Logs|No| +|JobStreams|Job Streams|No| + + +## Microsoft.AutonomousDevelopmentPlatform/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit|Yes| +|Operational|Operational|Yes| +|Request|Request|Yes| + + +## Microsoft.AutonomousDevelopmentPlatform/datapools + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit|Yes| +|Operational|Operational|Yes| +|Request|Request|Yes| + + +## Microsoft.AutonomousDevelopmentPlatform/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit|Yes| +|Operational|Operational|Yes| +|Request|Request|Yes| + + +## microsoft.avs/privateClouds + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|vmwaresyslog|VMware VCenter Syslog|Yes| + + +## Microsoft.Batch/batchAccounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ServiceLog|Service Logs|No| + + +## Microsoft.BatchAI/workspaces +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BaiClusterEvent|BaiClusterEvent|No| +|BaiClusterNodeEvent|BaiClusterNodeEvent|No| +|BaiJobEvent|BaiJobEvent|No| + + +## Microsoft.Blockchain/blockchainMembers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BlockchainApplication|Blockchain Application|No| +|FabricOrderer|Fabric Orderer|No| +|FabricPeer|Fabric Peer|No| +|Proxy|Proxy|No| + + +## Microsoft.Blockchain/cordaMembers +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BlockchainApplication|Blockchain Application|No| + + +## microsoft.botservice/botservices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BotRequest|Requests from the channels to the bot|No| + + +## Microsoft.Cache/redis + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ConnectedClientList|Connected client list|Yes| + + +## Microsoft.Cdn/cdnwebapplicationfirewallpolicies + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|WebApplicationFirewallLogs|Web Appliation Firewall Logs|No| + + +## Microsoft.Cdn/profiles + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AzureCdnAccessLog|Azure Cdn Access Log|No| +|FrontDoorAccessLog|FrontDoor Access Log|Yes| +|FrontDoorHealthProbeLog|FrontDoor Health Probe Log|Yes| +|FrontDoorWebApplicationFirewallLog|FrontDoor WebApplicationFirewall Log|Yes| + + +## Microsoft.Cdn/profiles/endpoints + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|CoreAnalytics|Gets the metrics of the endpoint, e.g., bandwidth, egress, etc.|No| + + +## Microsoft.ClassicNetwork/networksecuritygroups + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Network Security Group Rule Flow Event|Network Security Group Rule Flow Event|No| + + +## Microsoft.CognitiveServices/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit Logs|No| +|RequestResponse|Request and Response Logs|No| +|Trace|Trace Logs|No| + + +## Microsoft.Communication/CommunicationServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuthOperational|Operational Authentication Logs|Yes| +|CallDiagnostics|Call Diagnostics Logs|Yes| +|CallSummary|Call Summary Logs|Yes| +|ChatOperational|Operational Chat Logs|No| +|EmailSendMailOperational|Email Service Send Mail Logs|Yes| +|EmailStatusUpdateOperational|Email Service Delivery Status Update Logs|Yes| +|EmailUserEngagementOperational|Email Service User Engagement Logs|Yes| +|NetworkTraversalDiagnostics|Network Traversal Relay Diagnostic Logs|Yes| +|NetworkTraversalOperational|Operational Network Traversal Logs|Yes| +|SMSOperational|Operational SMS Logs|No| +|Usage|Usage Records|No| + + +## Microsoft.ConnectedCache/CacheNodes + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Events|Events|Yes| + + +## Microsoft.ConnectedVehicle/platformAccounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|MCVP Audit Logs|Yes| +|Logs|MCVP Logs|Yes| + + +## Microsoft.ContainerRegistry/registries + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ContainerRegistryLoginEvents|Login Events|No| +|ContainerRegistryRepositoryEvents|RepositoryEvent logs|No| + + +## Microsoft.ContainerService/managedClusters + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|cloud-controller-manager|Kubernetes Cloud Controller Manager|Yes| +|cluster-autoscaler|Kubernetes Cluster Autoscaler|No| +|guard|Kubernetes Guard|No| +|kube-apiserver|Kubernetes API Server|No| +|kube-audit|Kubernetes Audit|No| +|kube-audit-admin|Kubernetes Audit Admin Logs|No| +|kube-controller-manager|Kubernetes Controller Manager|No| +|kube-scheduler|Kubernetes Scheduler|No| + + +## Microsoft.CustomProviders/resourceproviders + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuditLogs|Audit logs for MiniRP calls|No| + + +## Microsoft.D365CustomerInsights/instances + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit events|No| +|Operational|Operational events|No| + + +## Microsoft.Dashboard/grafana + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|GrafanaLoginEvents|Grafana Login Events|Yes| + + +## Microsoft.Databricks/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|accounts|Databricks Accounts|No| +|clusters|Databricks Clusters|No| +|databrickssql|Databricks DatabricksSQL|Yes| +|dbfs|Databricks File System|No| +|deltaPipelines|Databricks Delta Pipelines|Yes| +|featureStore|Databricks Feature Store|Yes| +|genie|Databricks Genie|Yes| +|globalInitScripts|Databricks Global Init Scripts|Yes| +|iamRole|Databricks IAM Role|Yes| +|instancePools|Instance Pools|No| +|jobs|Databricks Jobs|No| +|mlflowAcledArtifact|Databricks MLFlow Acled Artifact|Yes| +|mlflowExperiment|Databricks MLFlow Experiment|Yes| +|modelRegistry|Databricks Model Registry|Yes| +|notebook|Databricks Notebook|No| +|RemoteHistoryService|Databricks Remote History Service|Yes| +|repos|Databricks Repos|Yes| +|secrets|Databricks Secrets|No| +|sqlanalytics|Databricks SQL Analytics|Yes| +|sqlPermissions|Databricks SQLPermissions|No| +|ssh|Databricks SSH|No| +|unityCatalog|Databricks Unity Catalog|Yes| +|workspace|Databricks Workspace|No| + + +## Microsoft.DataCollaboration/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|CollaborationAudit|Collaboration Audit|Yes| +|Computations|Computations|Yes| +|DataAssets|Data Assets|No| +|Pipelines|Pipelines|No| +|Proposals|Proposals|No| +|Scripts|Scripts|No| + + +## Microsoft.DataFactory/factories + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ActivityRuns|Pipeline activity runs log|No| +|PipelineRuns|Pipeline runs log|No| +|SandboxActivityRuns|Sandbox Activity runs log|Yes| +|SandboxPipelineRuns|Sandbox Pipeline runs log|Yes| +|SSISIntegrationRuntimeLogs|SSIS integration runtime logs|No| +|SSISPackageEventMessageContext|SSIS package event message context|No| +|SSISPackageEventMessages|SSIS package event messages|No| +|SSISPackageExecutableStatistics|SSIS package executable statistics|No| +|SSISPackageExecutionComponentPhases|SSIS package execution component phases|No| +|SSISPackageExecutionDataStatistics|SSIS package exeution data statistics|No| +|TriggerRuns|Trigger runs log|No| + + +## Microsoft.DataLakeAnalytics/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit Logs|No| +|Requests|Request Logs|No| + + +## Microsoft.DataLakeStore/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit Logs|No| +|Requests|Request Logs|No| + + +## Microsoft.DataShare/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ReceivedShareSnapshots|Received Share Snapshots|No| +|SentShareSnapshots|Sent Share Snapshots|No| +|Shares|Shares|No| +|ShareSubscriptions|Share Subscriptions|No| + + +## Microsoft.DBforMariaDB/servers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|MySqlAuditLogs|MariaDB Audit Logs|No| +|MySqlSlowLogs|MariaDB Server Logs|No| + + +## Microsoft.DBforMySQL/flexibleServers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|MySqlAuditLogs|MySQL Audit Logs|No| +|MySqlSlowLogs|MySQL Slow Logs|No| + + +## Microsoft.DBforMySQL/servers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|MySqlAuditLogs|MySQL Audit Logs|No| +|MySqlSlowLogs|MySQL Server Logs|No| + + +## Microsoft.DBforPostgreSQL/flexibleServers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|PostgreSQLLogs|PostgreSQL Server Logs|No| + + +## Microsoft.DBForPostgreSQL/serverGroupsv2 + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|PostgreSQLLogs|PostgreSQL Server Logs|Yes| + + +## Microsoft.DBforPostgreSQL/servers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|PostgreSQLLogs|PostgreSQL Server Logs|No| +|QueryStoreRuntimeStatistics|PostgreSQL Query Store Runtime Statistics|No| +|QueryStoreWaitStatistics|PostgreSQL Query Store Wait Statistics|No| + + +## Microsoft.DBforPostgreSQL/serversv2 + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|PostgreSQLLogs|PostgreSQL Server Logs|No| + + +## Microsoft.DesktopVirtualization/applicationgroups + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Checkpoint|Checkpoint|No| +|Error|Error|No| +|Management|Management|No| + + +## Microsoft.DesktopVirtualization/hostpools + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AgentHealthStatus|AgentHealthStatus|No| +|Checkpoint|Checkpoint|No| +|Connection|Connection|No| +|Error|Error|No| +|HostRegistration|HostRegistration|No| +|Management|Management|No| + + +## Microsoft.DesktopVirtualization/scalingplans + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Autoscale|Autoscale logs|Yes| + + +## Microsoft.DesktopVirtualization/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Checkpoint|Checkpoint|No| +|Error|Error|No| +|Feed|Feed|No| +|Management|Management|No| + + +## Microsoft.Devices/ElasticPools/IotHubTenants + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|C2DCommands|C2D Commands|No| +|C2DTwinOperations|C2D Twin Operations|No| +|Configurations|Configurations|No| +|Connections|Connections|No| +|D2CTwinOperations|D2CTwinOperations|No| +|DeviceIdentityOperations|Device Identity Operations|No| +|DeviceStreams|Device Streams (Preview)|No| +|DeviceTelemetry|Device Telemetry|No| +|DirectMethods|Direct Methods|No| +|DistributedTracing|Distributed Tracing (Preview)|No| +|FileUploadOperations|File Upload Operations|No| +|JobsOperations|Jobs Operations|No| +|Routes|Routes|No| +|TwinQueries|Twin Queries|No| + + +## Microsoft.Devices/IotHubs + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|C2DCommands|C2D Commands|No| +|C2DTwinOperations|C2D Twin Operations|No| +|Configurations|Configurations|No| +|Connections|Connections|No| +|D2CTwinOperations|D2CTwinOperations|No| +|DeviceIdentityOperations|Device Identity Operations|No| +|DeviceStreams|Device Streams (Preview)|No| +|DeviceTelemetry|Device Telemetry|No| +|DirectMethods|Direct Methods|No| +|DistributedTracing|Distributed Tracing (Preview)|No| +|FileUploadOperations|File Upload Operations|No| +|JobsOperations|Jobs Operations|No| +|Routes|Routes|No| +|TwinQueries|Twin Queries|No| + + +## Microsoft.Devices/provisioningServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DeviceOperations|Device Operations|No| +|ServiceOperations|Service Operations|No| + + +## Microsoft.DigitalTwins/digitalTwinsInstances + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DataHistoryOperation|DataHistoryOperation|Yes| +|DigitalTwinsOperation|DigitalTwinsOperation|No| +|EventRoutesOperation|EventRoutesOperation|No| +|ModelsOperation|ModelsOperation|No| +|QueryOperation|QueryOperation|No| +|ResourceProviderOperation|ResourceProviderOperation|Yes| + + +## Microsoft.DocumentDB/cassandraClusters + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|CassandraAudit|CassandraAudit|Yes| +|CassandraLogs|CassandraLogs|Yes| + + +## Microsoft.DocumentDB/databaseAccounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|CassandraRequests|CassandraRequests|No| +|ControlPlaneRequests|ControlPlaneRequests|No| +|DataPlaneRequests|DataPlaneRequests|No| +|GremlinRequests|GremlinRequests|No| +|MongoRequests|MongoRequests|No| +|PartitionKeyRUConsumption|PartitionKeyRUConsumption|No| +|PartitionKeyStatistics|PartitionKeyStatistics|No| +|QueryRuntimeStatistics|QueryRuntimeStatistics|No| +|TableApiRequests|TableApiRequests|Yes| + + +## Microsoft.EventGrid/domains + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DeliveryFailures|Delivery Failure Logs|No| +|PublishFailures|Publish Failure Logs|No| + + +## Microsoft.EventGrid/partnerNamespaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DeliveryFailures|Delivery Failure Logs|No| +|PublishFailures|Publish Failure Logs|No| + + +## Microsoft.EventGrid/partnerTopics + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DeliveryFailures|Delivery Failure Logs|No| + + +## Microsoft.EventGrid/systemTopics + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DeliveryFailures|Delivery Failure Logs|No| + + +## Microsoft.EventGrid/topics + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DeliveryFailures|Delivery Failure Logs|No| +|PublishFailures|Publish Failure Logs|No| + + +## Microsoft.EventHub/namespaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ApplicationMetricsLogs|Application Metrics Logs|Yes| +|ArchiveLogs|Archive Logs|No| +|AutoScaleLogs|Auto Scale Logs|No| +|CustomerManagedKeyUserLogs|Customer Managed Key Logs|No| +|EventHubVNetConnectionEvent|VNet/IP Filtering Connection Logs|No| +|KafkaCoordinatorLogs|Kafka Coordinator Logs|No| +|KafkaUserErrorLogs|Kafka User Error Logs|No| +|OperationalLogs|Operational Logs|No| +|RuntimeAuditLogs|Runtime Audit Logs|Yes| + + +## microsoft.experimentation/experimentWorkspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ExPCompute|ExPCompute|Yes| +|Request|Request|No| + + +## Microsoft.HealthcareApis/services + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuditLogs|Audit logs|No| +|DiagnosticLogs|Diagnostic logs|Yes| + + +## Microsoft.HealthcareApis/workspaces/dicomservices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuditLogs|Audit logs|Yes| + + +## Microsoft.HealthcareApis/workspaces/fhirservices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuditLogs|FHIR Audit logs|Yes| + + +## Microsoft.HealthcareApis/workspaces/iotconnectors + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DiagnosticLogs|Diagnostic logs|Yes| + + +## Microsoft.Insights/AutoscaleSettings + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AutoscaleEvaluations|Autoscale Evaluations|No| +|AutoscaleScaleActions|Autoscale Scale Actions|No| + + +## Microsoft.Insights/Components + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AppAvailabilityResults|Availability results|No| +|AppBrowserTimings|Browser timings|No| +|AppDependencies|Dependencies|No| +|AppEvents|Events|No| +|AppExceptions|Exceptions|No| +|AppMetrics|Metrics|No| +|AppPageViews|Page views|No| +|AppPerformanceCounters|Performance counters|No| +|AppRequests|Requests|No| +|AppSystemEvents|System events|No| +|AppTraces|Traces|No| + + +## Microsoft.KeyVault/managedHSMs + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuditEvent|Audit Logs|No| + + +## Microsoft.KeyVault/vaults + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AuditEvent|Audit Logs|No| + + +## Microsoft.Kusto/Clusters + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Command|Command|No| +|FailedIngestion|Failed ingest operations|No| +|IngestionBatching|Ingestion batching|No| +|Journal|Journal|Yes| +|Query|Query|No| +|SucceededIngestion|Successful ingest operations|No| +|TableDetails|Table details|No| +|TableUsageStatistics|Table usage statistics|No| + + +## microsoft.loadtestservice/loadtests + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|OperationLogs|Azure Load Testing Operations|Yes| + + +## Microsoft.Logic/integrationAccounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|IntegrationAccountTrackingEvents|Integration Account track events|No| + + +## Microsoft.Logic/workflows + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|WorkflowRuntime|Workflow runtime diagnostic events|No| + + +## Microsoft.MachineLearningServices/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AmlComputeClusterEvent|AmlComputeClusterEvent|No| +|AmlComputeCpuGpuUtilization|AmlComputeCpuGpuUtilization|No| +|AmlComputeJobEvent|AmlComputeJobEvent|No| +|AmlRunStatusChangedEvent|AmlRunStatusChangedEvent|No| + + +## Microsoft.Media/mediaservices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|KeyDeliveryRequests|Key Delivery Requests|No| + + +## Microsoft.Media/videoanalyzers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit Logs|Yes| +|Diagnostics|Diagnostics Logs|Yes| +|Operational|Operational Logs|Yes| + + +## Microsoft.Network/applicationGateways + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ApplicationGatewayAccessLog|Application Gateway Access Log|No| +|ApplicationGatewayFirewallLog|Application Gateway Firewall Log|No| +|ApplicationGatewayPerformanceLog|Application Gateway Performance Log|No| + + +## Microsoft.Network/azurefirewalls + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AzureFirewallApplicationRule|Azure Firewall Application Rule|No| +|AzureFirewallDnsProxy|Azure Firewall DNS Proxy|No| +|AzureFirewallNetworkRule|Azure Firewall Network Rule|No| + + +## Microsoft.Network/bastionHosts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BastionAuditLogs|Bastion Audit Logs|No| + + +## Microsoft.Network/expressRouteCircuits + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|PeeringRouteLog|Peering Route Table Logs|No| + + +## Microsoft.Network/frontdoors + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|FrontdoorAccessLog|Frontdoor Access Log|No| +|FrontdoorWebApplicationFirewallLog|Frontdoor Web Application Firewall Log|No| + + +## Microsoft.Network/loadBalancers + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|LoadBalancerAlertEvent|Load Balancer Alert Events|No| +|LoadBalancerProbeHealthStatus|Load Balancer Probe Health Status|No| + + +## Microsoft.Network/networksecuritygroups + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|NetworkSecurityGroupEvent|Network Security Group Event|No| +|NetworkSecurityGroupFlowEvent|Network Security Group Rule Flow Event|No| +|NetworkSecurityGroupRuleCounter|Network Security Group Rule Counter|No| + + +## Microsoft.Network/networkSecurityPerimeters + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|NspIntraPerimeterInboundAllowed|Inbound access allowed within same perimeter.|Yes| +|NspIntraPerimeterOutboundAllowed|Outbound attempted to same perimeter.|Yes| +|NspPrivateInboundAllowed|Private endpoint traffic allowed.|Yes| +|NspPublicInboundPerimeterRulesAllowed|Public inbound access allowed by NSP access rules.|Yes| +|NspPublicInboundPerimeterRulesDenied|Public inbound access denied by NSP access rules.|Yes| +|NspPublicInboundResourceRulesAllowed|Public inbound access allowed by PaaS resource rules.|Yes| +|NspPublicInboundResourceRulesDenied|Public inbound access denied by PaaS resource rules.|Yes| +|NspPublicOutboundPerimeterRulesAllowed|Public outbound access allowed by NSP access rules.|Yes| +|NspPublicOutboundPerimeterRulesDenied|Public outbound access denied by NSP access rules.|Yes| +|NspPublicOutboundResourceRulesAllowed|Public outbound access allowed by PaaS resource rules.|Yes| +|NspPublicOutboundResourceRulesDenied|Public outbound access denied by PaaS resource rules|Yes| + + +## Microsoft.Network/p2sVpnGateways + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|GatewayDiagnosticLog|Gateway Diagnostic Logs|No| +|IKEDiagnosticLog|IKE Diagnostic Logs|No| +|P2SDiagnosticLog|P2S Diagnostic Logs|No| + + +## Microsoft.Network/publicIPAddresses + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DDoSMitigationFlowLogs|Flow logs of DDoS mitigation decisions|No| +|DDoSMitigationReports|Reports of DDoS mitigations|No| +|DDoSProtectionNotifications|DDoS protection notifications|No| + + +## Microsoft.Network/trafficManagerProfiles + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ProbeHealthStatusEvents|Traffic Manager Probe Health Results Event|No| + + +## Microsoft.Network/virtualNetworkGateways + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|GatewayDiagnosticLog|Gateway Diagnostic Logs|No| +|IKEDiagnosticLog|IKE Diagnostic Logs|No| +|P2SDiagnosticLog|P2S Diagnostic Logs|No| +|RouteDiagnosticLog|Route Diagnostic Logs|No| +|TunnelDiagnosticLog|Tunnel Diagnostic Logs|No| + + +## Microsoft.Network/virtualNetworks + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|VMProtectionAlerts|VM protection alerts|No| + + +## Microsoft.Network/vpnGateways + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|GatewayDiagnosticLog|Gateway Diagnostic Logs|No| +|IKEDiagnosticLog|IKE Diagnostic Logs|No| +|RouteDiagnosticLog|Route Diagnostic Logs|No| +|TunnelDiagnosticLog|Tunnel Diagnostic Logs|No| + + +## Microsoft.NetworkFunction/azureTrafficCollectors + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ExpressRouteCircuitIpfix|Express Route Circuit IPFIX Flow Records|Yes| + + +## Microsoft.NotificationHubs/namespaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|OperationalLogs|Operational Logs|No| + + +## MICROSOFT.OPENENERGYPLATFORM/ENERGYSERVICES + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AirFlowTaskLogs|Air Flow Task Logs|Yes| +|ElasticOperatorLogs|Elastic Operator Logs|Yes| +|ElasticsearchLogs|Elasticsearch Logs|Yes| + + +## Microsoft.OpenLogisticsPlatform/Workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|SupplyChainEntityOperations|Supply Chain Entity Operations|Yes| +|SupplyChainEventLogs|Supply Chain Event logs|Yes| + + +## Microsoft.OperationalInsights/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit Logs|No| + + +## Microsoft.PowerBI/tenants + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Engine|Engine|No| + + +## Microsoft.PowerBI/tenants/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Engine|Engine|No| + + +## Microsoft.PowerBIDedicated/capacities + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Engine|Engine|No| + + +## Microsoft.Purview/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ScanStatusLogEvent|ScanStatus|No| + + +## Microsoft.RecoveryServices/Vaults + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AddonAzureBackupAlerts|Addon Azure Backup Alert Data|No| +|AddonAzureBackupJobs|Addon Azure Backup Job Data|No| +|AddonAzureBackupPolicy|Addon Azure Backup Policy Data|No| +|AddonAzureBackupProtectedInstance|Addon Azure Backup Protected Instance Data|No| +|AddonAzureBackupStorage|Addon Azure Backup Storage Data|No| +|AzureBackupReport|Azure Backup Reporting Data|No| +|AzureSiteRecoveryEvents|Azure Site Recovery Events|No| +|AzureSiteRecoveryJobs|Azure Site Recovery Jobs|No| +|AzureSiteRecoveryProtectedDiskDataChurn|Azure Site Recovery Protected Disk Data Churn|No| +|AzureSiteRecoveryRecoveryPoints|Azure Site Recovery Recovery Points|No| +|AzureSiteRecoveryReplicatedItems|Azure Site Recovery Replicated Items|No| +|AzureSiteRecoveryReplicationDataUploadRate|Azure Site Recovery Replication Data Upload Rate|No| +|AzureSiteRecoveryReplicationStats|Azure Site Recovery Replication Stats|No| +|CoreAzureBackup|Core Azure Backup Data|No| + + +## Microsoft.Relay/namespaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|HybridConnectionsEvent|HybridConnections Events|No| + + +## Microsoft.Search/searchServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|OperationLogs|Operation Logs|No| + + +## Microsoft.Security/antiMalwareSettings + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|ScanResults|AntimalwareScanResults|Yes| + + +## microsoft.securityinsights/settings + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DataConnectors|Data Collection - Connectors|Yes| + + +## Microsoft.ServiceBus/namespaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|OperationalLogs|Operational Logs|No| +|VNetAndIPFilteringLogs|VNet/IP Filtering Connection Logs|No| + + +## Microsoft.SignalRService/SignalR + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AllLogs|Azure SignalR Service Logs.|No| + + +## Microsoft.SignalRService/WebPubSub + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AllLogs|Azure Web PubSub Service Logs.|Yes| + + +## microsoft.singularity/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Execution|Execution Logs|Yes| + + +## Microsoft.Sql/managedInstances + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DevOpsOperationsAudit|Devops operations Audit Logs|No| +|ResourceUsageStats|Resource Usage Statistics|No| +|SQLSecurityAuditEvents|SQL Security Audit Event|No| + + +## Microsoft.Sql/managedInstances/databases + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Errors|Errors|No| +|QueryStoreRuntimeStatistics|Query Store Runtime Statistics|No| +|QueryStoreWaitStatistics|Query Store Wait Statistics|No| +|SQLInsights|SQL Insights|No| + + +## Microsoft.Sql/servers/databases + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AutomaticTuning|Automatic tuning|No| +|Blocks|Blocks|No| +|DatabaseWaitStatistics|Database Wait Statistics|No| +|Deadlocks|Deadlocks|No| +|DevOpsOperationsAudit|Devops operations Audit Logs|No| +|DmsWorkers|Dms Workers|No| +|Errors|Errors|No| +|ExecRequests|Exec Requests|No| +|QueryStoreRuntimeStatistics|Query Store Runtime Statistics|No| +|QueryStoreWaitStatistics|Query Store Wait Statistics|No| +|RequestSteps|Request Steps|No| +|SQLInsights|SQL Insights|No| +|SqlRequests|Sql Requests|No| +|SQLSecurityAuditEvents|SQL Security Audit Event|No| +|Timeouts|Timeouts|No| +|Waits|Waits|No| + + +## Microsoft.Storage/storageAccounts/blobServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|StorageDelete|StorageDelete|Yes| +|StorageRead|StorageRead|Yes| +|StorageWrite|StorageWrite|Yes| + + +## Microsoft.Storage/storageAccounts/fileServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|StorageDelete|StorageDelete|Yes| +|StorageRead|StorageRead|Yes| +|StorageWrite|StorageWrite|Yes| + + +## Microsoft.Storage/storageAccounts/queueServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|StorageDelete|StorageDelete|Yes| +|StorageRead|StorageRead|Yes| +|StorageWrite|StorageWrite|Yes| + + +## Microsoft.Storage/storageAccounts/tableServices + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|StorageDelete|StorageDelete|Yes| +|StorageRead|StorageRead|Yes| +|StorageWrite|StorageWrite|Yes| + + +## Microsoft.StorageCache/caches + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AscCacheOperationEvent|HPC Cache operation event|Yes| +|AscUpgradeEvent|HPC Cache upgrade event|Yes| +|AscWarningEvent|HPC Cache warning|Yes| + + +## Microsoft.StreamAnalytics/streamingjobs + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Authoring|Authoring|No| +|Execution|Execution|No| + + +## Microsoft.Synapse/workspaces + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BuiltinSqlReqsEnded|Built-in Sql Pool Requests Ended|No| +|GatewayApiRequests|Synapse Gateway Api Requests|No| +|IntegrationActivityRuns|Integration Activity Runs|Yes| +|IntegrationPipelineRuns|Integration Pipeline Runs|Yes| +|IntegrationTriggerRuns|Integration Trigger Runs|Yes| +|SQLSecurityAuditEvents|SQL Security Audit Event|No| +|SynapseRbacOperations|Synapse RBAC Operations|No| + + +## Microsoft.Synapse/workspaces/bigDataPools + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BigDataPoolAppsEnded|Big Data Pool Applications Ended|No| + + +## Microsoft.Synapse/workspaces/kustoPools + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Command|Command|Yes| +|FailedIngestion|Failed ingest operations|Yes| +|IngestionBatching|Ingestion batching|Yes| +|Query|Query|Yes| +|SucceededIngestion|Successful ingest operations|Yes| +|TableDetails|Table details|Yes| +|TableUsageStatistics|Table usage statistics|Yes| + + +## Microsoft.Synapse/workspaces/sqlPools + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|DmsWorkers|Dms Workers|No| +|ExecRequests|Exec Requests|No| +|RequestSteps|Request Steps|No| +|SqlRequests|Sql Requests|No| +|SQLSecurityAuditEvents|Sql Security Audit Event|No| +|Waits|Waits|No| + + +## Microsoft.TimeSeriesInsights/environments + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Ingress|Ingress|No| +|Management|Management|No| + + +## Microsoft.TimeSeriesInsights/environments/eventsources + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Ingress|Ingress|No| +|Management|Management|No| + + +## microsoft.videoindexer/accounts + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|Audit|Audit|Yes| + + +## microsoft.web/hostingenvironments + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AppServiceEnvironmentPlatformLogs|App Service Environment Platform Logs|No| + + +## microsoft.web/sites + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AppServiceAntivirusScanAuditLogs|Report Antivirus Audit Logs|No| +|AppServiceAppLogs|App Service Application Logs|No| +|AppServiceAuditLogs|Access Audit Logs|No| +|AppServiceConsoleLogs|App Service Console Logs|No| +|AppServiceFileAuditLogs|Site Content Change Audit Logs|No| +|AppServiceHTTPLogs|HTTP logs|No| +|AppServiceIPSecAuditLogs|IPSecurity Audit logs|No| +|AppServicePlatformLogs|App Service Platform logs|No| +|FunctionAppLogs|Function Application Logs|No| + + +## microsoft.web/sites/slots + +|Category|Category Display Name|Costs To Export| +|---|---|---| +|AppServiceAntivirusScanAuditLogs|Report Antivirus Audit Logs|No| +|AppServiceAppLogs|App Service Application Logs|No| +|AppServiceAuditLogs|Access Audit Logs|No| +|AppServiceConsoleLogs|App Service Console Logs|No| +|AppServiceFileAuditLogs|Site Content Change Audit Logs|No| +|AppServiceHTTPLogs|HTTP logs|No| +|AppServiceIPSecAuditLogs|IPSecurity Audit Logs|No| +|AppServicePlatformLogs|App Service Platform logs|No| +|FunctionAppLogs|Function Application Logs|No| + + +## Next Steps + +* [Learn more about resource logs](../essentials/platform-logs-overview.md) +* [Stream resource resource logs to **Event Hubs**](./resource-logs.md#send-to-azure-event-hubs) +* [Change resource log diagnostic settings using the Azure Monitor REST API](/rest/api/monitor/diagnosticsettings) +* [Analyze logs from Azure storage with Log Analytics](./resource-logs.md#send-to-log-analytics-workspace) diff --git a/utilities/tools/REST2CARML/temp/diagnosticMetrics.md b/utilities/tools/REST2CARML/temp/diagnosticMetrics.md index 155f547cbd..2883396341 100644 --- a/utilities/tools/REST2CARML/temp/diagnosticMetrics.md +++ b/utilities/tools/REST2CARML/temp/diagnosticMetrics.md @@ -16,40 +16,40 @@ ms.reviewer: priyamishra Date list was last updated: 2021-10-05. -Azure Monitor provides several ways to interact with metrics, including charting them in the Azure portal, accessing them through the REST API, or querying them by using PowerShell or the Azure CLI. +Azure Monitor provides several ways to interact with metrics, including charting them in the Azure portal, accessing them through the REST API, or querying them by using PowerShell or the Azure CLI. This article is a complete list of all platform (that is, automatically collected) metrics currently available with the consolidated metric pipeline in Azure Monitor. Metrics changed or added after the date at the top of this article might not yet appear in the list. To query for and access the list of metrics programmatically, use the [2018-01-01 api-version](/rest/api/monitor/metricdefinitions). Other metrics not in this list might be available in the portal or through legacy APIs. -The metrics are organized by resource provider and resource type. For a list of services and the resource providers and types that belong to them, see [Resource providers for Azure services](../../azure-resource-manager/management/azure-services-resource-providers.md). +The metrics are organized by resource provider and resource type. For a list of services and the resource providers and types that belong to them, see [Resource providers for Azure services](../../azure-resource-manager/management/azure-services-resource-providers.md). ## Exporting platform metrics to other locations You can export the platform metrics from the Azure monitor pipeline to other locations in one of two ways: - Use the [metrics REST API](/rest/api/monitor/metrics/list). -- Use [diagnostic settings](../essentials/diagnostic-settings.md) to route platform metrics to: +- Use [diagnostic settings](../essentials/diagnostic-settings.md) to route platform metrics to: - Azure Storage. - Azure Monitor Logs (and thus Log Analytics). - - Event hubs, which is how you get them to non-Microsoft systems. + - Event hubs, which is how you get them to non-Microsoft systems. -Using diagnostic settings is the easiest way to route the metrics, but there are some limitations: +Using diagnostic settings is the easiest way to route the metrics, but there are some limitations: -- **Exportability**. All metrics are exportable through the REST API, but some can't be exported through diagnostic settings because of intricacies in the Azure Monitor back end. The column "Exportable via Diagnostic Settings" in the following tables lists which metrics can be exported in this way. +- **Exportability**. All metrics are exportable through the REST API, but some can't be exported through diagnostic settings because of intricacies in the Azure Monitor back end. The column "Exportable via Diagnostic Settings" in the following tables lists which metrics can be exported in this way. -- **Multi-dimensional metrics**. Sending multi-dimensional metrics to other locations via diagnostic settings is not currently supported. Metrics with dimensions are exported as flattened single-dimensional metrics, aggregated across dimension values. +- **Multi-dimensional metrics**. Sending multi-dimensional metrics to other locations via diagnostic settings is not currently supported. Metrics with dimensions are exported as flattened single-dimensional metrics, aggregated across dimension values. For example, the *Incoming Messages* metric on an event hub can be explored and charted on a per-queue level. But when the metric is exported via diagnostic settings, it will be represented as all incoming messages across all queues in the event hub. ## Guest OS and host OS metrics -Metrics for the guest operating system (guest OS) that runs in Azure Virtual Machines, Service Fabric, and Cloud Services are *not* listed here. Guest OS metrics must be collected through one or more agents that run on or as part of the guest operating system. Guest OS metrics include performance counters that track guest CPU percentage or memory usage, both of which are frequently used for autoscaling or alerting. +Metrics for the guest operating system (guest OS) that runs in Azure Virtual Machines, Service Fabric, and Cloud Services are *not* listed here. Guest OS metrics must be collected through one or more agents that run on or as part of the guest operating system. Guest OS metrics include performance counters that track guest CPU percentage or memory usage, both of which are frequently used for autoscaling or alerting. -Host OS metrics *are* available and listed in the tables. Host OS metrics relate to the Hyper-V session that's hosting your guest OS session. +Host OS metrics *are* available and listed in the tables. Host OS metrics relate to the Hyper-V session that's hosting your guest OS session. > [!TIP] -> A best practice is to use and configure the Azure Monitor agent to send guest OS performance metrics into the same Azure Monitor metric database where platform metrics are stored. The agent routes guest OS metrics through the [custom metrics](../essentials/metrics-custom-overview.md) API. You can then chart, alert, and otherwise use guest OS metrics like platform metrics. +> A best practice is to use and configure the Azure Monitor agent to send guest OS performance metrics into the same Azure Monitor metric database where platform metrics are stored. The agent routes guest OS metrics through the [custom metrics](../essentials/metrics-custom-overview.md) API. You can then chart, alert, and otherwise use guest OS metrics like platform metrics. > -> Alternatively or in addition, you can send the guest OS metrics to Azure Monitor Logs by using the same agent. There you can query on those metrics in combination with non-metric data by using Log Analytics. +> Alternatively or in addition, you can send the guest OS metrics to Azure Monitor Logs by using the same agent. There you can query on those metrics in combination with non-metric data by using Log Analytics. The Azure Monitor agent replaces the Azure Diagnostics extension and Log Analytics agent, which were previously used for guest OS routing. For important additional information, see [Overview of Azure Monitor agents](../agents/agents-overview.md). @@ -327,13 +327,13 @@ This latest update adds a new column and reorders the metrics to be alphabetical |WaitingForStartTaskNodeCount|No|Waiting For Start Task Node Count|Count|Total|Number of nodes waiting for the Start Task to complete|No Dimensions| -## Microsoft.BatchAI/workspaces +## Microsoft.BatchAI/workspaces -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BaiClusterEvent|BaiClusterEvent|No| -|BaiClusterNodeEvent|BaiClusterNodeEvent|No| -|BaiJobEvent|BaiJobEvent|No| +|Category|Category Display Name|Costs To Export| +|---|---|---| +|BaiClusterEvent|BaiClusterEvent|No| +|BaiClusterNodeEvent|BaiClusterNodeEvent|No| +|BaiJobEvent|BaiJobEvent|No| ## microsoft.bing/accounts From 9d9309b16515a4e2f0ed6342f561508b6270d6ae Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 18:11:45 +0200 Subject: [PATCH 068/130] Further updates to parameters & variables --- .../tools/REST2CARML/Resolve-ModuleData.ps1 | 4 +- .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 115 +++++++++++++----- .../extension/Set-DiagnosticModuleData.ps1 | 49 ++++---- .../extension/Set-LockModuleData.ps1 | 12 +- .../Set-PrivateEndpointModuleData.ps1 | 38 +++--- .../Set-RoleAssignmentsModuleData.ps1 | 22 ++-- 6 files changed, 150 insertions(+), 90 deletions(-) diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 index 1e2f12739b..7b29491e0d 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 @@ -49,12 +49,12 @@ function Set-OptionalParameter { # Min if ($SourceParameterObject.Keys -contains 'minimum') { - $TargetObject['minimum'] = $SourceParameterObject.minimum + $TargetObject['minValue'] = $SourceParameterObject.minimum } # Max if ($SourceParameterObject.Keys -contains 'maximum') { - $TargetObject['maximum'] = $SourceParameterObject.maximum + $TargetObject['maxValue'] = $SourceParameterObject.maximum } # Default value diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index ec722a7250..63692030e0 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -19,46 +19,102 @@ function Get-ModuleParameter { [object] $ParameterData ) - $result = '' + $result = @() - # description line (optional) + # description (optional) + # ---------------------- if ($ParameterData.description) { - $description = $ParameterData.description.Replace("'", '"') - $descriptionLine = "@description('" + $description + "')" + $result += '@description({0}. {1})' -f (($ParameterData.required) ? 'Required' : 'Optional'), $ParameterData.description } - # todo: # secure (optional) + # ----------------- + if ($ParameterData.secure) { + $result += '@secure' + } + # allowed (optional) + # ------------------ + if ($ParameterData.allowedValues) { + $result += '@allowed([' + switch ($ParameterData.type) { + 'boolean' { + $result += $ParameterData.allowedValues | ForEach-Object { " '{0}'" -f $_.ToLower() } + break + } + 'string' { + $result += $ParameterData.allowedValues | ForEach-Object { " '$_'" } + break + } + default { + $result += $ParameterData.allowedValues | ForEach-Object { " $_" } + } + } + $result += '])' + } + # minValue (optional) + # ------------------- + if ($ParameterData.minValue) { + $result += '@minValue({0})' -f $ParameterData.minValue + } + # maxValue (optional) + # ------------------- + if ($ParameterData.maxValue) { + $result += '@maxValue({0})' -f $ParameterData.maxValue + } + # minLength (optional) + # -------------------- + if ($ParameterData.minLength) { + $result += '@minLength({0})' -f $ParameterData.minLength + } + # maxLength (optional) - # other? + # -------------------- + if ($ParameterData.maxLength) { + $result += '@maxLength({0})' -f $ParameterData.maxLength + } - # param line (mandatory) + # param line (mandatory) with (optional) default value + # ---------------------------------------------------- switch ($ParameterData.type) { - 'boolean' { $parameterType = 'bool'; break } - 'integer' { $parameterType = 'int'; break } - Default { $parameterType = $ParameterData.type } + 'boolean' { + $parameterType = 'bool' + break + } + 'integer' { + $parameterType = 'int' + break + } + Default { + $parameterType = $ParameterData.type + } } - $paramLine = 'param ' + $ParameterData.name + ' ' + $parameterType + $paramLine = 'param {0} {1}' -f $ParameterData.name, $parameterType if ($ParameterData.default) { switch ($ParameterData.type) { 'boolean' { - $defaultValue = $ParameterData.default.ToString().ToLower() ; break + $defaultValue = $ParameterData.default.ToString().ToLower() # boolean 'True' must be lower-cased + break + } + 'string' { + $defaultValue = "'{0}'" -f $ParameterData.default + break + } + default { + $defaultValue = $ParameterData.default } - 'string' { $defaultValue = "'" + $ParameterData.default + "'"; break } - Default { $defaultValue = $ParameterData.default } } - $paramLine += ' = ' + $defaultValue + $paramLine += " = $defaultValue" } - # to do: default value depending on type: quotes/no quotes, boolean, arrays (multiline) etc... + $result += $paramLine + + $result += '' - # building and returning the final parameter entry - $result = $descriptionLine + [System.Environment]::NewLine + $paramLine + [System.Environment]::NewLine + [System.Environment]::NewLine return $result } @@ -259,10 +315,10 @@ function Get-TargetScope { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [string] $JSONFilePath + [string] $JSONKeyPath ) - switch ($JSONFilePath) { + switch ($JSONKeyPath) { { $PSItem -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*' } { return 'resourceGroup' } { $PSItem -like '/subscriptions/{subscriptionId}/*' } { return 'subscription' } { $PSItem -like 'providers/Microsoft.Management/managementGroups/*' } { return 'managementGroup' } @@ -304,7 +360,7 @@ function Set-ModuleTemplate { ## Create template parameters section ## ########################################## - $targetScope = Get-TargetScope -JSONKeyPath $JSONFilePath + $targetScope = Get-TargetScope -JSONKeyPath $JSONKeyPath $templateContent = @( "targetScope = '{0}'" -f $targetScope @@ -315,13 +371,12 @@ function Set-ModuleTemplate { '' ) - # # Parameters header comment - # $templateContent += Get-SectionDivider -SectionName 'Parameters' - - # TODO : Add extension parameters if applicable - - # Add parameters - foreach ($parameter in $ModuleData) { + # Add primary (service) parameters + foreach ($parameter in $ModuleData.parameters) { + $templateContent += Get-ModuleParameter -ParameterData $parameter + } + # Add additional (extension) parameters + foreach ($parameter in $ModuleData.additionalParameters) { $templateContent += Get-ModuleParameter -ParameterData $parameter } @@ -329,7 +384,9 @@ function Set-ModuleTemplate { ## Create template variables section ## ######################################### - # TODO : Add variables if applicable + foreach ($variable in $ModuleData.variables) { + $templateContent += $variable + } ########################################### ## Create template deployments section ## diff --git a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 index a6950fb1b3..1dbb21e4b5 100644 --- a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 @@ -19,6 +19,7 @@ } process { + $resourceTypeSingular = $ResourceType[-1] -eq 's' ? $ResourceType.Substring(0, $ResourceType.Length - 1) : $ResourceType $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType if (-not $diagnosticOptions) { @@ -67,15 +68,13 @@ $diagnosticResource = @( - "resource $($ResourceType)_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" - ' name: diagnosticSettingsName' - ' properties: {' - ' storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null' - ' workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null' - ' eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null' - ' eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null' - ' metrics: diagnosticsMetrics' - ' logs: diagnosticsLogs' + "resource $($resourceTypeSingular)_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" + ' name: diagnosticSettingsName' + ' properties: {' + ' storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null' + ' workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null' + ' eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null' + ' eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null' ) # Metric-specific @@ -97,17 +96,18 @@ ) $ModuleData.variables += @( 'var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: {' - ' category: metric' - ' timeGrain: null' + ' category: metric' + ' timeGrain: null' + ' enabled: true' + ' retentionPolicy: {' ' enabled: true' - ' retentionPolicy: {' - ' enabled: true' - ' days: diagnosticLogsRetentionInDays' - ' }' + ' days: diagnosticLogsRetentionInDays' + ' }' '}]' + '' ) - $diagnosticResource += ' metrics: diagnosticsMetrics' + $diagnosticResource += ' metrics: diagnosticsMetrics' } # Log-specific @@ -124,21 +124,22 @@ ) $ModuleData.variables += @( 'var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: {' - ' category: category' + ' category: category' + ' enabled: true' + ' retentionPolicy: {' ' enabled: true' - ' retentionPolicy: {' - ' enabled: true' - ' days: diagnosticLogsRetentionInDays' - ' }' + ' days: diagnosticLogsRetentionInDays' + ' }' '}]' + '' ) - $diagnosticResource += ' logs: diagnosticsLogs' + $diagnosticResource += ' logs: diagnosticsLogs' } $diagnosticResource += @( - ' }' - ' scope: server' + ' }' + " scope: {$resourceTypeSingular}" '}' ) diff --git a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 index 33905f8fc4..7ee5a5e52e 100644 --- a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 @@ -41,12 +41,12 @@ function Set-LockModuleData { $ModuleData.resources += @( "resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) {" - " name: '`${$ResourceType.name}-`${lock}-lock'" - ' properties: {' - ' level: any(lock)' - " notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.'" - ' }' - ' scope: {0}' -f $ResourceType + " name: '`${$ResourceType.name}-`${lock}-lock'" + ' properties: {' + ' level: any(lock)' + " notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.'" + ' }' + ' scope: {0}' -f $ResourceType '}' ) } diff --git a/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 index cd0e311b10..0c9937a211 100644 --- a/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 @@ -20,6 +20,8 @@ process { + $resourceTypeSingular = $ResourceType[-1] -eq 's' ? $ResourceType.Substring(0, $ResourceType.Length - 1) : $ResourceType + if (-not (Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath)) { return } @@ -35,24 +37,24 @@ ) $ModuleData.resources += @( - "module {0}_privateEndpoints '../../Microsoft.Network/privateEndpoints/deploy.bicep' = [for (privateEndpoint,index) in privateEndpoints: {" -f $ResourceType - " name: '`${uniqueString(deployment().name, location)}-$ResourceType-PrivateEndpoint-`${index}'" - ' params: {' - ' groupIds: [' - ' privateEndpoint.service' - ' ]' - " name: contains(privateEndpoint,'name') ? privateEndpoint.name : 'pe-`${last(split($ResourceType.id, '/'))}-`${privateEndpoint.service}-`${index}'" - ' serviceResourceId: {0}.id' -f $ResourceType - ' subnetResourceId: privateEndpoint.subnetResourceId' - ' enableDefaultTelemetry: enableReferencedModulesTelemetry' - " location: reference(split(privateEndpoint.subnetResourceId,'/subnets/')[0], '2020-06-01', 'Full').location" - " lock: contains(privateEndpoint,'lock') ? privateEndpoint.lock : lock" - " privateDnsZoneGroup: contains(privateEndpoint,'privateDnsZoneGroup') ? privateEndpoint.privateDnsZoneGroup : {}" - " roleAssignments: contains(privateEndpoint,'roleAssignments') ? privateEndpoint.roleAssignments : []" - " tags: contains(privateEndpoint,'tags') ? privateEndpoint.tags : {}" - " manualPrivateLinkServiceConnections: contains(privateEndpoint,'manualPrivateLinkServiceConnections') ? privateEndpoint.manualPrivateLinkServiceConnections : []" - " customDnsConfigs: contains(privateEndpoint,'customDnsConfigs') ? privateEndpoint.customDnsConfigs : []" - ' }' + "module {0}_privateEndpoints '../../Microsoft.Network/privateEndpoints/deploy.bicep' = [for (privateEndpoint,index) in privateEndpoints: {" -f $resourceTypeSingular + " name: '`${uniqueString(deployment().name, location)}-$resourceTypeSingular-PrivateEndpoint-`${index}'" + ' params: {' + ' groupIds: [' + ' privateEndpoint.service' + ' ]' + " name: contains(privateEndpoint,'name') ? privateEndpoint.name : 'pe-`${last(split($resourceTypeSingular.id, '/'))}-`${privateEndpoint.service}-`${index}'" + ' serviceResourceId: {0}.id' -f $resourceTypeSingular + ' subnetResourceId: privateEndpoint.subnetResourceId' + ' enableDefaultTelemetry: enableReferencedModulesTelemetry' + " location: reference(split(privateEndpoint.subnetResourceId,'/subnets/')[0], '2020-06-01', 'Full').location" + " lock: contains(privateEndpoint,'lock') ? privateEndpoint.lock : lock" + " privateDnsZoneGroup: contains(privateEndpoint,'privateDnsZoneGroup') ? privateEndpoint.privateDnsZoneGroup : {}" + " roleAssignments: contains(privateEndpoint,'roleAssignments') ? privateEndpoint.roleAssignments : []" + " tags: contains(privateEndpoint,'tags') ? privateEndpoint.tags : {}" + " manualPrivateLinkServiceConnections: contains(privateEndpoint,'manualPrivateLinkServiceConnections') ? privateEndpoint.manualPrivateLinkServiceConnections : []" + " customDnsConfigs: contains(privateEndpoint,'customDnsConfigs') ? privateEndpoint.customDnsConfigs : []" + ' }' '}]' ) } diff --git a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 index 2b368b1996..21848b668f 100644 --- a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 @@ -53,17 +53,17 @@ function Set-RoleAssignmentsModuleData { ) $ModuleData.resources += @( - "module $($ResourceType)_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: {" - " name: '`${uniqueString(deployment().name, location)}-$($tokens.resourceTypeSingular)-Rbac-`${index}'" - ' params: {' - " description: contains(roleAssignment,'description') ? roleAssignment.description : ''" - ' principalIds: roleAssignment.principalIds' - " principalType: contains(roleAssignment,'principalType') ? roleAssignment.principalType : ''" - ' roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName' - " condition: contains(roleAssignment,'condition') ? roleAssignment.condition : ''" - " delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : ''" - " resourceId: $($tokens.resourceTypeSingular).id" - ' }' + "module $($tokens.resourceTypeSingular)_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: {" + " name: '`${uniqueString(deployment().name, location)}-$($tokens.resourceTypeSingular)-Rbac-`${index}'" + ' params: {' + " description: contains(roleAssignment,'description') ? roleAssignment.description : ''" + ' principalIds: roleAssignment.principalIds' + " principalType: contains(roleAssignment,'principalType') ? roleAssignment.principalType : ''" + ' roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName' + " condition: contains(roleAssignment,'condition') ? roleAssignment.condition : ''" + " delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : ''" + " resourceId: $($tokens.resourceTypeSingular).id" + ' }' '}]' ) From 8c1f76a69c7c53ff75a0b759e4f087fa67d45169 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 19:30:08 +0200 Subject: [PATCH 069/130] Finished draft of Set-ModuleTemplate + numerous other improvements --- .../modulePipelines/ms.avs.privateclouds.yml | 40 ++ .github/workflows/ms.avs.privateclouds.yml | 145 +++++++ .../.bicep/nested_roleAssignments.bicep | 68 +++ .../privateClouds/.test/common/deploy.bicep | 0 .../privateClouds/.test/min/deploy.bicep | 0 .../Microsoft.AVS/privateClouds/deploy.bicep | 223 ++++++++++ modules/Microsoft.AVS/privateClouds/readme.md | 181 ++++++++ .../Microsoft.AVS/privateClouds/version.json | 4 + .../sharedScripts/Get-ModuleTestFileList.ps1 | 3 +- .../Get-ResourceTypeSingularName.ps1 | 28 ++ .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 410 ++++++------------ .../extension/Set-DiagnosticModuleData.ps1 | 13 +- .../extension/Set-LockModuleData.ps1 | 8 +- .../Set-PrivateEndpointModuleData.ps1 | 4 +- .../Set-RoleAssignmentsModuleData.ps1 | 12 +- .../tools/REST2CARML/src/telemetry.bicep | 11 + 16 files changed, 858 insertions(+), 292 deletions(-) create mode 100644 .azuredevops/modulePipelines/ms.avs.privateclouds.yml create mode 100644 .github/workflows/ms.avs.privateclouds.yml create mode 100644 modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/.test/common/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/.test/min/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/readme.md create mode 100644 modules/Microsoft.AVS/privateClouds/version.json create mode 100644 utilities/tools/REST2CARML/Get-ResourceTypeSingularName.ps1 create mode 100644 utilities/tools/REST2CARML/src/telemetry.bicep diff --git a/.azuredevops/modulePipelines/ms.avs.privateclouds.yml b/.azuredevops/modulePipelines/ms.avs.privateclouds.yml new file mode 100644 index 0000000000..9e3bec03f2 --- /dev/null +++ b/.azuredevops/modulePipelines/ms.avs.privateclouds.yml @@ -0,0 +1,40 @@ +name: 'AVS - PrivateClouds' + +parameters: + - name: removeDeployment + displayName: Remove deployed module + type: boolean + default: true + - name: prerelease + displayName: Publish prerelease module + type: boolean + default: false + +pr: none + +trigger: + batch: true + branches: + include: + - main + paths: + include: + - '/.azuredevops/modulePipelines/ms.avs.privateclouds.yml' + - '/.azuredevops/pipelineTemplates/*.yml' + - '/modules/Microsoft.AVS/privateClouds/*' + - '/utilities/pipelines/*' + exclude: + - '/utilities/pipelines/dependencies/*' + - '/**/*.md' + +variables: + - template: '../../settings.yml' + - group: 'PLATFORM_VARIABLES' + - name: modulePath + value: '/modules/Microsoft.AVS/privateClouds' + +stages: + - template: /.azuredevops/pipelineTemplates/stages.module.yml + parameters: + removeDeployment: '${{ parameters.removeDeployment }}' + prerelease: '${{ parameters.prerelease }}' diff --git a/.github/workflows/ms.avs.privateclouds.yml b/.github/workflows/ms.avs.privateclouds.yml new file mode 100644 index 0000000000..15e86296b0 --- /dev/null +++ b/.github/workflows/ms.avs.privateclouds.yml @@ -0,0 +1,145 @@ +name: 'AVS: PrivateClouds' + +on: + workflow_dispatch: + inputs: + removeDeployment: + type: boolean + description: 'Remove deployed module' + required: false + default: true + prerelease: + type: boolean + description: 'Publish prerelease module' + required: false + default: false + push: + branches: + - main + paths: + - '.github/actions/templates/**' + - '.github/workflows/ms.avs.privateclouds.yml' + - 'modules/Microsoft.AVS/privateClouds/**' + - 'utilities/pipelines/**' + - '!utilities/pipelines/dependencies/**' + - '!*/**/readme.md' + +env: + variablesPath: 'settings.yml' + modulePath: 'modules/Microsoft.AVS/privateClouds' + workflowPath: '.github/workflows/ms.avs.privateclouds.yml' + AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }} + ARM_SUBSCRIPTION_ID: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + ARM_MGMTGROUP_ID: '${{ secrets.ARM_MGMTGROUP_ID }}' + ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' + TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' + +jobs: + ########################### + # Initialize pipeline # + ########################### + job_initialize_pipeline: + runs-on: ubuntu-20.04 + name: 'Initialize pipeline' + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: 'Set input parameters to output variables' + id: get-workflow-param + uses: ./.github/actions/templates/getWorkflowInput + with: + workflowPath: '${{ env.workflowPath}}' + - name: 'Get parameter file paths' + id: get-module-test-file-paths + uses: ./.github/actions/templates/getModuleTestFiles + with: + modulePath: '${{ env.modulePath }}' + outputs: + removeDeployment: ${{ steps.get-workflow-param.outputs.removeDeployment }} + moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} + + ######################### + # Static validation # + ######################### + job_module_pester_validation: + runs-on: ubuntu-20.04 + name: 'Static validation' + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Run tests' + uses: ./.github/actions/templates/validateModulePester + with: + modulePath: '${{ env.modulePath }}' + moduleTestFilePath: '${{ env.moduleTestFilePath }}' + + ############################# + # Deployment validation # + ############################# + job_module_deploy_validation: + runs-on: ubuntu-20.04 + name: 'Deployment validation' + needs: + - job_initialize_pipeline + - job_module_pester_validation + strategy: + fail-fast: false + matrix: + moduleTestFilePaths: ${{ fromJSON(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Using test file [${{ matrix.moduleTestFilePaths }}]' + uses: ./.github/actions/templates/validateModuleDeployment + with: + templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' + location: '${{ env.location }}' + resourceGroupName: '${{ env.resourceGroupName }}' + subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' + managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' + removeDeployment: '${{ needs.job_initialize_pipeline.outputs.removeDeployment }}' + + ################## + # Publishing # + ################## + job_publish_module: + name: 'Publishing' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event.inputs.prerelease == 'true' + runs-on: ubuntu-20.04 + needs: + - job_module_deploy_validation + steps: + - name: 'Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set environment variables + uses: ./.github/actions/templates/setEnvironmentVariables + with: + variablesPath: ${{ env.variablesPath }} + - name: 'Publishing' + uses: ./.github/actions/templates/publishModule + with: + templateFilePath: '${{ env.modulePath }}/deploy.bicep' + templateSpecsRGName: '${{ env.templateSpecsRGName }}' + templateSpecsRGLocation: '${{ env.templateSpecsRGLocation }}' + templateSpecsDescription: '${{ env.templateSpecsDescription }}' + templateSpecsDoPublish: '${{ env.templateSpecsDoPublish }}' + bicepRegistryName: '${{ env.bicepRegistryName }}' + bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' + bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' + bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' diff --git a/modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep new file mode 100644 index 0000000000..33195bef44 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep @@ -0,0 +1,68 @@ +@sys.description('Required. The IDs of the principals to assign the role to.') +param principalIds array + +@sys.description('Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead.') +param roleDefinitionIdOrName string + +@sys.description('Required. The resource ID of the resource to apply the role assignment to.') +param resourceId string + +@sys.description('Optional. The principal type of the assigned principal ID.') +@allowed([ + 'ServicePrincipal' + 'Group' + 'User' + 'ForeignGroup' + 'Device' + '' +]) +param principalType string = '' + +@sys.description('Optional. The description of the role assignment.') +param description string = '' + +@sys.description('Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase "foo_storage_container"') +param condition string = '' + +@sys.description('Optional. Version of the condition.') +@allowed([ + '2.0' +]) +param conditionVersion string = '2.0' + +@sys.description('Optional. Id of the delegated managed identity resource.') +param delegatedManagedIdentityResourceId string = '' + +var builtInRoleNames = { + 'Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') + 'Log Analytics Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293') + 'Log Analytics Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893') + 'Managed Application Contributor Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e') + 'Managed Application Operator Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae') + 'Managed Applications Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44') + 'Monitoring Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa') + 'Monitoring Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05') + 'Owner': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') + 'Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7') + 'Resource Policy Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608') + 'Role Based Access Control Administrator (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f58310d9-a9f6-439a-9e8d-f62e7b41a168') + 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2021-12-01' existing = { + name: last(split(resourceId, '/')) +} + +resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { + name: guid(privateCloud.id, principalId, roleDefinitionIdOrName) + properties: { + description: description + roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName + principalId: principalId + principalType: !empty(principalType) ? any(principalType) : null + condition: !empty(condition) ? condition : null + conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null + delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null + } + scope: privateCloud +}] diff --git a/modules/Microsoft.AVS/privateClouds/.test/common/deploy.bicep b/modules/Microsoft.AVS/privateClouds/.test/common/deploy.bicep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.AVS/privateClouds/.test/min/deploy.bicep b/modules/Microsoft.AVS/privateClouds/.test/min/deploy.bicep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep new file mode 100644 index 0000000000..40ab7bcc21 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -0,0 +1,223 @@ +targetScope = 'resourceGroup' + +// ============== // +// Parameters // +// ============== // + +@description('Optional. The identity of the private cloud, if configured.') +param identity object + +@description('Optional. Location for all Resources.') +param location string = resourceGroup().location + +@description('Required. Name of the private cloud') +param name string + +@description('Required. The private cloud SKU') +param sku object + +@description('Optional. Resource tags') +param tags object + +@description('Optional. Properties describing how the cloud is distributed across availability zones') +param availability object + +@description('Optional. An ExpressRoute Circuit') +param circuit object + +@description('Optional. Customer managed key encryption, can be enabled or disabled') +param encryption object + +@description('Optional. vCenter Single Sign On Identity Sources') +param identitySources array + +@description('Optional. Connectivity to internet is enabled or disabled') +@allowed([ + 'Enabled' + 'Disabled' +]) +param internet string = 'Disabled' + +@description('Optional. The default cluster used for management') +param managementCluster object + +@description('Optional. The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22') +param networkBlock string + +@description('Optional. Optionally, set the NSX-T Manager password when the private cloud is created') +@secure() +param nsxtPassword string + +@description('Optional. A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud') +param secondaryCircuit object + +@description('Optional. Optionally, set the vCenter admin password when the private cloud is created') +@secure() +param vcenterPassword string + +@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +param diagnosticLogsRetentionInDays int = 365 + +@description('Optional. Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') +param diagnosticStorageAccountId string + +@description('Optional. Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') +param diagnosticWorkspaceId string + +@description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') +param diagnosticEventHubAuthorizationRuleId string + +@description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') +param diagnosticEventHubName string + +@description('Optional. The name of metrics that will be streamed.') +@allowed([ + 'AllMetrics' +]) +param diagnosticMetricsToEnable array = [ + 'AllMetrics' +] + +@description('Optional. The name of logs that will be streamed.') +@allowed([ + 'CapacityLatest' + 'DiskUsedPercentage' + 'EffectiveCpuAverage' + 'EffectiveMemAverage' + 'OverheadAverage' + 'TotalMbAverage' + 'UsageAverage' + 'UsedLatest' +]) +param diagnosticLogCategoriesToEnable array = [ + 'CapacityLatest' + 'DiskUsedPercentage' + 'EffectiveCpuAverage' + 'EffectiveMemAverage' + 'OverheadAverage' + 'TotalMbAverage' + 'UsageAverage' + 'UsedLatest' +] + +@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') +param roleAssignments array + +@description('Optional. Specify the type of lock.') +@allowed([ + 'CanNotDelete' + 'ReadOnly' +]) +param lock string + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: { + category: metric + timeGrain: null + enabled: true + retentionPolicy: { + enabled: true + days: diagnosticLogsRetentionInDays + } +}] + +var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: { + category: category + enabled: true + retentionPolicy: { + enabled: true + days: diagnosticLogsRetentionInDays + } +}] + +@description('Optional. The name of the diagnostic setting, if deployed.') +param diagnosticSettingsName string = '${name}-diagnosticSettings' +var enableReferencedModulesTelemetry = false + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2021-12-01' = { + identity: identity + location: location + name: name + sku: sku + tags: tags + properties: { + availability: availability + circuit: circuit + encryption: encryption + identitySources: identitySources + internet: internet + managementCluster: managementCluster + networkBlock: networkBlock + nsxtPassword: nsxtPassword + secondaryCircuit: secondaryCircuit + vcenterPassword: vcenterPassword + } +} + +resource privateCloud_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) { + name: diagnosticSettingsName + properties: { + storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null + workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null + eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null + eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null + metrics: diagnosticsMetrics + logs: diagnosticsLogs + } + scope: privateCloud +} + +module privateCloud_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: { + name: '${uniqueString(deployment().name, location)}-privateCloud-Rbac-${index}' + params: { + description: contains(roleAssignment,'description') ? roleAssignment.description : '' + principalIds: roleAssignment.principalIds + principalType: contains(roleAssignment,'principalType') ? roleAssignment.principalType : '' + roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName + condition: contains(roleAssignment,'condition') ? roleAssignment.condition : '' + delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : '' + resourceId: privateCloud.id + } +}] + +resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) { + name: '${privateCloud.name}-${lock}-lock' + properties: { + level: any(lock) + notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.' + } + scope: privateCloud +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the privateCloud.') +output name string = privateCloud.name + +@description('The resource ID of the privateCloud.') +output resourceId string = privateCloud.id + +@description('The name of the resource group the privateCloud was created in.') +output resourceGroupName string = resourceGroup().name + diff --git a/modules/Microsoft.AVS/privateClouds/readme.md b/modules/Microsoft.AVS/privateClouds/readme.md new file mode 100644 index 0000000000..51d26ff306 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/readme.md @@ -0,0 +1,181 @@ +# AVS PrivateClouds `[Microsoft.AVS/privateClouds]` + +This module deploys AVS PrivateClouds. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) +- [Deployment examples](#Deployment-examples) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.Authorization/locks` | [2017-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2017-04-01/locks) | +| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | +| `Microsoft.AVS/privateClouds` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/2021-12-01/privateClouds) | +| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | + +## Parameters + +**Required parameters** +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | Name of the private cloud | +| `sku` | object | The private cloud SKU | + +**Optional parameters** +| Parameter Name | Type | Default Value | Allowed Values | Description | +| :-- | :-- | :-- | :-- | :-- | +| `availability` | object | | | Properties describing how the cloud is distributed across availability zones | +| `circuit` | object | | | An ExpressRoute Circuit | +| `diagnosticEventHubAuthorizationRuleId` | string | | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | +| `diagnosticEventHubName` | string | | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. | +| `diagnosticLogCategoriesToEnable` | array | `[CapacityLatest, DiskUsedPercentage, EffectiveCpuAverage, EffectiveMemAverage, OverheadAverage, TotalMbAverage, UsageAverage, UsedLatest]` | `[CapacityLatest, DiskUsedPercentage, EffectiveCpuAverage, EffectiveMemAverage, OverheadAverage, TotalMbAverage, UsageAverage, UsedLatest]` | The name of logs that will be streamed. | +| `diagnosticLogsRetentionInDays` | int | `365` | | Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely. | +| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. | +| `diagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the diagnostic setting, if deployed. | +| `diagnosticStorageAccountId` | string | | | Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. | +| `diagnosticWorkspaceId` | string | | | Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. | +| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `encryption` | object | | | Customer managed key encryption, can be enabled or disabled | +| `identity` | object | | | The identity of the private cloud, if configured. | +| `identitySources` | array | | | vCenter Single Sign On Identity Sources | +| `internet` | string | `'Disabled'` | `[Disabled, Enabled]` | Connectivity to internet is enabled or disabled | +| `location` | string | `[resourceGroup().location]` | | Location for all Resources. | +| `lock` | string | | `[CanNotDelete, ReadOnly]` | Specify the type of lock. | +| `managementCluster` | object | | | The default cluster used for management | +| `networkBlock` | string | | | The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 | +| `nsxtPassword` | secureString | | | Optionally, set the NSX-T Manager password when the private cloud is created | +| `roleAssignments` | array | | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | +| `secondaryCircuit` | object | | | A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud | +| `tags` | object | | | Resource tags | +| `vcenterPassword` | secureString | | | Optionally, set the vCenter admin password when the private cloud is created | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +### Parameter Usage: `roleAssignments` + +Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure. + +
+ +Parameter JSON format + +```json +"roleAssignments": { + "value": [ + { + "roleDefinitionIdOrName": "Reader", + "description": "Reader Role Assignment", + "principalIds": [ + "12345678-1234-1234-1234-123456789012", // object 1 + "78945612-1234-1234-1234-123456789012" // object 2 + ] + }, + { + "roleDefinitionIdOrName": "/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11", + "principalIds": [ + "12345678-1234-1234-1234-123456789012" // object 1 + ], + "principalType": "ServicePrincipal" + } + ] +} +``` + +
+ +
+ +Bicep format + +```bicep +roleAssignments: [ + { + roleDefinitionIdOrName: 'Reader' + description: 'Reader Role Assignment' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + '78945612-1234-1234-1234-123456789012' // object 2 + ] + } + { + roleDefinitionIdOrName: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11' + principalIds: [ + '12345678-1234-1234-1234-123456789012' // object 1 + ] + principalType: 'ServicePrincipal' + } +] +``` + +
+

+ +### Parameter Usage: `tags` + +Tag names and tag values can be provided as needed. A tag can be left without a value. + +

+ +Parameter JSON format + +```json +"tags": { + "value": { + "Environment": "Non-Prod", + "Contact": "test.user@testcompany.com", + "PurchaseOrder": "1234", + "CostCenter": "7890", + "ServiceName": "DeploymentValidation", + "Role": "DeploymentValidation" + } +} +``` + +
+ +
+ +Bicep format + +```bicep +tags: { + Environment: 'Non-Prod' + Contact: 'test.user@testcompany.com' + PurchaseOrder: '1234' + CostCenter: '7890' + ServiceName: 'DeploymentValidation' + Role: 'DeploymentValidation' +} +``` + +
+

+ +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the privateCloud. | +| `resourceGroupName` | string | The name of the resource group the privateCloud was created in. | +| `resourceId` | string | The resource ID of the privateCloud. | + +## Cross-referenced modules + +_None_ + +## Deployment examples + +The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. + >**Note**: The name of each example is based on the name of the file from which it is taken. + + >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. diff --git a/modules/Microsoft.AVS/privateClouds/version.json b/modules/Microsoft.AVS/privateClouds/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/utilities/pipelines/sharedScripts/Get-ModuleTestFileList.ps1 b/utilities/pipelines/sharedScripts/Get-ModuleTestFileList.ps1 index 80db612fcc..b788e9aee4 100644 --- a/utilities/pipelines/sharedScripts/Get-ModuleTestFileList.ps1 +++ b/utilities/pipelines/sharedScripts/Get-ModuleTestFileList.ps1 @@ -45,7 +45,8 @@ function Get-ModuleTestFileList { } if (-not $deploymentTests) { - throw "No deployment test files found for module [$ModulePath]" + Write-Warning "No deployment test files found for module [$ModulePath]" + return @() } $deploymentTests = $deploymentTests | ForEach-Object { diff --git a/utilities/tools/REST2CARML/Get-ResourceTypeSingularName.ps1 b/utilities/tools/REST2CARML/Get-ResourceTypeSingularName.ps1 new file mode 100644 index 0000000000..39dd7af84e --- /dev/null +++ b/utilities/tools/REST2CARML/Get-ResourceTypeSingularName.ps1 @@ -0,0 +1,28 @@ +<# +.SYNOPSIS +Get the singular version of the given resource type + +.DESCRIPTION +Get the singular version of the given resource type + +.PARAMETER ResourceType +The resource type to convert to singular (if applicable) + +.EXAMPLE +Get-ResourceTypeSingularName -ResourceType 'vaults' + +Returns 'vault' +#> +function Get-ResourceTypeSingularName { + + param ( + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + if ($ResourceType -like '*ii') { return $ResourceType -replace 'ii$', 'us' } + if ($ResourceType -like '*ies') { return $ResourceType -replace 'ies$', 'y' } + if ($ResourceType -like '*s') { return $ResourceType -replace 's$', '' } + + return $ResourceType +} diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 index 63692030e0..c616659c1f 100644 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 @@ -1,18 +1,4 @@ -function Get-SectionDivider { - param ( - [Parameter(Mandatory = $true)] - [string] $SectionName - ) - $outerMarginLength = 2 - $spacesOuterLines = 1 - $additionalSpacesMiddleLine = 2 - - $outerDividerLine = $('/' * $outerMarginLength) + $(' ' * $spacesOuterLines) + $('=' * $additionalSpacesMiddleLine) + $('=' * $SectionName.Length) + $('=' * $additionalSpacesMiddleLine) + $(' ' * $spacesOuterLines) + $('/' * $outerMarginLength) - $middleDividerLine = $('/' * $outerMarginLength) + $(' ' * $spacesOuterLines) + $(' ' * $additionalSpacesMiddleLine) + $SectionName + $(' ' * $additionalSpacesMiddleLine) + $(' ' * $spacesOuterLines) + $('/' * $outerMarginLength) - - return ('{0}{2}{1}{2}{0}{2}{2}' -f $outerDividerLine, $middleDividerLine, [System.Environment]::NewLine) -} - +#region helperFunctions function Get-ModuleParameter { param ( [Parameter(Mandatory = $true)] @@ -24,30 +10,30 @@ function Get-ModuleParameter { # description (optional) # ---------------------- if ($ParameterData.description) { - $result += '@description({0}. {1})' -f (($ParameterData.required) ? 'Required' : 'Optional'), $ParameterData.description + $result += "@description('{0}. {1}')" -f (($ParameterData.required) ? 'Required' : 'Optional'), $ParameterData.description } # secure (optional) # ----------------- if ($ParameterData.secure) { - $result += '@secure' + $result += '@secure()' } # allowed (optional) # ------------------ if ($ParameterData.allowedValues) { $result += '@allowed([' - switch ($ParameterData.type) { - 'boolean' { - $result += $ParameterData.allowedValues | ForEach-Object { " '{0}'" -f $_.ToLower() } - break - } - 'string' { - $result += $ParameterData.allowedValues | ForEach-Object { " '$_'" } - break - } - default { - $result += $ParameterData.allowedValues | ForEach-Object { " $_" } + + $result += $ParameterData.allowedValues | ForEach-Object { + if ($ParameterData.type -eq 'boolean') { + # Any boolean type (e.g., True) + " '{0}'" -f $_.ToLower() + } elseif ($_ -match '\w') { + # Any string value (e.g., 'Enabled') + " '$_'" + } elseif ($_ -match '\d') { + # Any number value (e.g., 3) + " $_" } } $result += '])' @@ -95,221 +81,55 @@ function Get-ModuleParameter { $paramLine = 'param {0} {1}' -f $ParameterData.name, $parameterType if ($ParameterData.default) { - switch ($ParameterData.type) { - 'boolean' { - $defaultValue = $ParameterData.default.ToString().ToLower() # boolean 'True' must be lower-cased - break - } - 'string' { - $defaultValue = "'{0}'" -f $ParameterData.default - break - } - default { - $defaultValue = $ParameterData.default - } - } - - $paramLine += " = $defaultValue" - } - $result += $paramLine - - $result += '' - - return $result -} - -function Get-ModuleOutputName { - param ( - [Parameter(Mandatory = $true)] - [string] $ResourceType - ) - - $result = '' - - $resourceSingularName = Get-ResourceTypeSingularName -ResourceType $ResourceType - $description = "@description('The name of the {0}')" -f $resourceSingularName - $outputLine = 'output name string = {0}.name' -f $resourceSingularName - - - # building and returning the final parameter entry - $result = $description + [System.Environment]::NewLine + $outputLine + [System.Environment]::NewLine + [System.Environment]::NewLine - return $result -} - -function Get-ModuleOutputId { - param ( - [Parameter(Mandatory = $true)] - [string] $ResourceType - ) - - $result = '' - - $resourceSingularName = Get-ResourceTypeSingularName -ResourceType $ResourceType - $description = "@description('The resource ID of the {0}')" -f $resourceSingularName - $outputLine = 'output resourceId string = {0}.id' -f $resourceSingularName - - - # building and returning the final parameter entry - $result = $description + [System.Environment]::NewLine + $outputLine + [System.Environment]::NewLine + [System.Environment]::NewLine - return $result -} - -function Get-ModuleOutputRg { - param ( - [Parameter(Mandatory = $true)] - [string] $ResourceType - ) - - $result = '' - - - # @description('The resource group of the deployed resource.') - # output resourceGroupName string = resourceGroup().name - - $resourceSingularName = Get-ResourceTypeSingularName -ResourceType $ResourceType - $description = "@description('The name of the resource group the {0} was created in.')" -f $resourceSingularName - $outputLine = 'output resourceGroupName string = resourceGroup().name' - - # building and returning the final parameter entry - $result = $description + [System.Environment]::NewLine + $outputLine + [System.Environment]::NewLine + [System.Environment]::NewLine - return $result -} -function Get-ApiVersion { - param ( - [Parameter(Mandatory = $true)] - [string] $JSONFilePath - ) - - return Split-Path -Path (Split-Path -Path $JSONFilePath -Parent) -Leaf -} - -function Get-ResourceTypeSingularName { - param ( - [Parameter(Mandatory = $true)] - [string] $ResourceType - ) - - if ($ResourceType -like '*ii') { return $ResourceType -replace 'ii$', 'us' } - if ($ResourceType -like '*ies') { return $ResourceType -replace 'ies$', 'y' } - if ($ResourceType -like '*s') { return $ResourceType -replace 's$', '' } - - return $ResourceType -} - -function Get-DeploymentResourceFirstLine { - param ( - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, - - [Parameter(Mandatory = $true)] - [string] $JSONFilePath - ) - - # resource keyVault 'Microsoft.KeyVault/vaults@2021-11-01-preview' = { - - $result = '' - $apiversion = Get-ApiVersion -JSONFilePath $JSONFilePath - $resouceName = Get-ResourceTypeSingularName -ResourceType $ResourceType - $result += ("resource {0} '{1}/{2}@{3}' = " -f $resouceName, $ProviderNamespace, $ResourceType, $apiversion) - $result += '{' + [System.Environment]::NewLine - - return $result -} - -function Get-DeploymentResourceParametersNewLevel { - param ( - [Parameter(Mandatory = $true)] - [string] $levelParentName, - - [Parameter(Mandatory = $true)] - [int] $levelParentLevel, - - [Parameter(Mandatory = $true)] - [ValidateSet( - 'Begin', - 'End' - )] - [string] $BeginOrEnd - ) - - # properties: { - # } - - $result = '' - if ($BeginOrEnd -eq 'Begin') { - $result += Get-IntentSpaces -level $levelParentLevel - $result += $levelParentName + ': {' - $result += [System.Environment]::NewLine + if ($ParameterData.default -like '*()*') { + # Handle functions + $result += "$paramLine = {0}" -f ($ParameterData.default -replace '"', '') + } else { + switch ($ParameterData.type) { + 'bool' { + $result += "$paramLine = {0}" -f $ParameterData.default.ToString().ToLower() # boolean 'True' must be lower-cased + break + } + 'string' { + $result += "$paramLine = '{0}'" -f $ParameterData.default + break + } + 'array' { + $result += "$paramLine = [" + $result += $ParameterData.default | ForEach-Object { + if ($ParameterData.type -eq 'boolean') { + # Any boolean type (e.g., True) + " '{0}'" -f $_.ToLower() + } elseif ($_ -match '\w') { + # Any string value (e.g., 'Enabled') + " '$_'" + } elseif ($_ -match '\d') { + # Any number value (e.g., 3) + " $_" + } + } + $result += ']' + break + } + 'int' { + $result += "$paramLine = {0}" -f $ParameterData.default + } + default { + throw ('Unhandled parameter type [{0}]' -f $ParameterData.type) + } + } + } } else { - $result += Get-IntentSpaces -level $levelParentLevel - $result += '}' + [System.Environment]::NewLine - } - return $result -} - -function Get-DeploymentResourceSignleParameter { - param ( - [Parameter(Mandatory = $true)] - [object] $ParameterData - ) - - # tags: tags - # properties: { - # enabledForDeployment: enableVaultForDeployment - # } - - $result = '' - $result += Get-IntentSpaces -level $ParameterData.level - $result += $ParameterData.name + ': ' + $ParameterData.name - $result += [System.Environment]::NewLine - - return $result -} - -function Get-DeploymentResourceParameters { - param ( - [Parameter(Mandatory = $true)] - [array] $ModuleData - ) - - # tags: tags - # properties: { - # enabledForDeployment: enableVaultForDeployment - # } - - $result = '' - - foreach ($moduleParameter in $ModuleData | Where-Object { $_.level -eq 0 } ) { - $result += Get-DeploymentResourceSignleParameter -ParameterData $moduleParameter + $result += $paramLine } - $result += Get-DeploymentResourceParametersNewLevel -levelParentName 'properties' -levelParentLevel 0 -BeginOrEnd Begin - foreach ($moduleParameter in $ModuleData | Where-Object { $_.level -eq 1 } ) { - $result += Get-DeploymentResourceSignleParameter -ParameterData $moduleParameter - } - $result += Get-DeploymentResourceParametersNewLevel -levelParentName 'properties' -levelParentLevel 0 -BeginOrEnd End + $result += '' return $result } -function Get-DeploymentResourceLastLine { - return '}' + [System.Environment]::NewLine + [System.Environment]::NewLine -} - -function Get-IntentSpaces { - param ( - [Parameter(Mandatory = $false)] - [int] $level = 0 - ) - - return ' ' * 2 * $($level + 1) -} - function Get-TargetScope { [CmdletBinding()] @@ -327,6 +147,7 @@ function Get-TargetScope { throw 'Unable to detect target scope' } } +#endregion function Set-ModuleTemplate { @@ -353,12 +174,18 @@ function Set-ModuleTemplate { $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' + + # Load used functions + . (Join-Path $PSScriptRoot 'Get-ResourceTypeSingularName.ps1') } process { - ########################################## - ## Create template parameters section ## - ########################################## + + $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + + ################## + ## PARAMETERS ## + ################## $targetScope = Get-TargetScope -JSONKeyPath $JSONKeyPath @@ -379,19 +206,33 @@ function Set-ModuleTemplate { foreach ($parameter in $ModuleData.additionalParameters) { $templateContent += Get-ModuleParameter -ParameterData $parameter } + # Add telemetry parameter + $templateContent += Get-ModuleParameter -ParameterData @{ + level = 0 + name = 'enableDefaultTelemetry' + type = 'bool' + default = $true + description = 'Enable telemetry via the Customer Usage Attribution ID (GUID).' + required = $false + } - ######################################### - ## Create template variables section ## - ######################################### + ################# + ## VARIABLES ## + ################# foreach ($variable in $ModuleData.variables) { $templateContent += $variable } + # Add telemetry variable + # TODO: Should only be added if module has children) + $templateContent += @( + 'var enableReferencedModulesTelemetry = false' + '' + ) - ########################################### - ## Create template deployments section ## - ########################################### - + ################### + ## DEPLOYMENTS ## + ################### $templateContent += @( '' @@ -401,22 +242,33 @@ function Set-ModuleTemplate { '' ) - # TODO: Add telemetry - - # # Deployments header comment - # $templateContent += Get-SectionDivider -SectionName 'Deployments' + # Telemetry + $templateContent += Get-Content -Path (Join-Path 'src' 'telemetry.bicep') + $templateContent += '' # Deployment resource declaration line - $templateContent += Get-DeploymentResourceFirstLine -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType -JSONFilePath $JSONFilePath + $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf + $templateContent += "resource $resourceTypeSingular '$ProviderNamespace/$ResourceType@$serviceAPIVersion' = {" - # Add deployment parameters section + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 })) { + $templateContent += ' {0}: {0}' -f $parameter.name + } - $templateContent += Get-DeploymentResourceParameters -ModuleData $ModuleData - # Deployment resource finising line - # to do - $templateContent += Get-DeploymentResourceLastLine + $templateContent += ' properties: {' + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 })) { + $templateContent += ' {0}: {0}' -f $parameter.name + } + + $templateContent += @( + ' }' + '}' + '' + ) + + + # Other collected resources + $templateContent += $ModuleData.resources - # TODO: Add exension resources if applicable # TODO: Add children if applicable ####################################### @@ -424,37 +276,33 @@ function Set-ModuleTemplate { ####################################### # Output header comment - $templateContent += Get-SectionDivider -SectionName 'Outputs' - - $templateContent += Get-ModuleOutputId -ResourceType $ResourceType - - $templateContent += Get-ModuleOutputRg -ResourceType $ResourceType + $templateContent += @( + '// =========== //' + '// Outputs //' + '// =========== //' + '' + "@description('The name of the $resourceTypeSingular.')" + "output name string = $resourceTypeSingular.name" + '' + "@description('The resource ID of the $resourceTypeSingular.')" + "output resourceId string = $resourceTypeSingular.id" + '' + ) - $templateContent += Get-ModuleOutputName -ResourceType $ResourceType + if ($targetScope -eq 'resourceGroup') { + $templateContent += @( + "@description('The name of the resource group the $resourceTypeSingular was created in.')" + 'output resourceGroupName string = resourceGroup().name' + '' + ) + } - return $templateContent # will be replaced with writing the template file + # Update file + # ----------- + Set-Content -Path $templatePath -Value $templateContent.TrimEnd() } end { Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) } - } - -# . (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') - -# $jsonFilePath = 'C:\Users\shrivastavar\Hackathon\ResourceModules\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\keyvault\resource-manager\Microsoft.KeyVault\stable\2022-07-01\keyvault.json' -# $jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -# $providerNamespace = 'Microsoft.KeyVault' -# $resourceType = 'vaults' - -# # $jsonFilePath = 'C:\Users\shrivastavar\Hackathon\ResourceModules\utilities\tools\REST2CARML\temp\azure-rest-api-specs\specification\storage\resource-manager\Microsoft.Storage\stable\2022-05-01\storage.json' -# # $jsonKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -# # $providerNamespace = 'Microsoft.Storage' -# # $resourceType = 'storageAccounts' - -# $resolvedModuleData = Resolve-ModuleData -jsonFilePath $jsonFilePath -jsonKeyPath $jsonKeyPath -# $resolvedModuleData | ConvertTo-Json | Out-String | Out-File -FilePath (Join-Path $PSScriptRoot 'ModuleData.json') - -# $templateContent = Set-ModuleTemplate -ProviderNamespace $providerNamespace -ResourceType $resourceType -ModuleData $resolvedModuleData -JSONFilePath $jsonFilePath -JSONKeyPath $jsonKeyPath -# $templateContent | Out-File -FilePath (Join-Path $PSScriptRoot 'deploy.bicep') diff --git a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 index 1dbb21e4b5..e45f07d8ee 100644 --- a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 @@ -16,10 +16,11 @@ Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) # Load used functions . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') + . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { - $resourceTypeSingular = $ResourceType[-1] -eq 's' ? $ResourceType.Substring(0, $ResourceType.Length - 1) : $ResourceType + $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType if (-not $diagnosticOptions) { @@ -66,7 +67,6 @@ } ) - $diagnosticResource = @( "resource $($resourceTypeSingular)_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" ' name: diagnosticSettingsName' @@ -139,11 +139,18 @@ $diagnosticResource += @( ' }' - " scope: {$resourceTypeSingular}" + " scope: $resourceTypeSingular" '}' + '' ) $ModuleData.resources += $diagnosticResource + + # Other variables + $ModuleData.variables += @( + "@description('Optional. The name of the diagnostic setting, if deployed.')" + "param diagnosticSettingsName string = '`${name}-diagnosticSettings'" + ) } end { diff --git a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 index 7ee5a5e52e..6c042d5168 100644 --- a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 @@ -16,10 +16,13 @@ function Set-LockModuleData { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) # Load used functions . (Join-Path $PSScriptRoot 'Get-SupportsLock.ps1') + . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { + $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + if (-not (Get-SupportsLock -JSONKeyPath $JSONKeyPath)) { return } @@ -41,13 +44,14 @@ function Set-LockModuleData { $ModuleData.resources += @( "resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) {" - " name: '`${$ResourceType.name}-`${lock}-lock'" + " name: '`${$resourceTypeSingular.name}-`${lock}-lock'" ' properties: {' ' level: any(lock)' " notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.'" ' }' - ' scope: {0}' -f $ResourceType + ' scope: {0}' -f $resourceTypeSingular '}' + '' ) } diff --git a/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 index 0c9937a211..0e8192e3e5 100644 --- a/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 @@ -16,11 +16,12 @@ Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) # Load used functions . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') + . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { - $resourceTypeSingular = $ResourceType[-1] -eq 's' ? $ResourceType.Substring(0, $ResourceType.Length - 1) : $ResourceType + $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType if (-not (Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath)) { return @@ -56,6 +57,7 @@ " customDnsConfigs: contains(privateEndpoint,'customDnsConfigs') ? privateEndpoint.customDnsConfigs : []" ' }' '}]' + '' ) } diff --git a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 index 21848b668f..02783ce04d 100644 --- a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 @@ -23,15 +23,18 @@ function Set-RoleAssignmentsModuleData { # Load used functions . (Join-Path $PSScriptRoot 'Get-RoleAssignmentsList.ps1') . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Set-TokenValuesInArray.ps1') + . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { + $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + # Tokens to replace in files $tokens = @{ providerNamespace = $ProviderNamespace resourceType = $ResourceType - resourceTypeSingular = $ResourceType[-1] -eq 's' ? $ResourceType.Substring(0, $ResourceType.Length - 1) : $ResourceType + resourceTypeSingular = $resourceTypeSingular apiVersion = $ServiceApiVersion } @@ -53,8 +56,8 @@ function Set-RoleAssignmentsModuleData { ) $ModuleData.resources += @( - "module $($tokens.resourceTypeSingular)_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: {" - " name: '`${uniqueString(deployment().name, location)}-$($tokens.resourceTypeSingular)-Rbac-`${index}'" + "module $($resourceTypeSingular)_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: {" + " name: '`${uniqueString(deployment().name, location)}-$resourceTypeSingular-Rbac-`${index}'" ' params: {' " description: contains(roleAssignment,'description') ? roleAssignment.description : ''" ' principalIds: roleAssignment.principalIds' @@ -62,9 +65,10 @@ function Set-RoleAssignmentsModuleData { ' roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName' " condition: contains(roleAssignment,'condition') ? roleAssignment.condition : ''" " delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : ''" - " resourceId: $($tokens.resourceTypeSingular).id" + " resourceId: $resourceTypeSingular.id" ' }' '}]' + '' ) $fileContent = @() diff --git a/utilities/tools/REST2CARML/src/telemetry.bicep b/utilities/tools/REST2CARML/src/telemetry.bicep new file mode 100644 index 0000000000..effe1a3788 --- /dev/null +++ b/utilities/tools/REST2CARML/src/telemetry.bicep @@ -0,0 +1,11 @@ +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} From 5c2f43145cfc60c66a8645ba5c1ba895f610c12b Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 23:15:47 +0200 Subject: [PATCH 070/130] Refactored REST2CARML to PS-Module --- utilities/tools/REST2CARML/ModuleConfig.psd1 | 13 + utilities/tools/REST2CARML/REST2CARML.psd1 | 131 ++++++++ utilities/tools/REST2CARML/REST2CARML.psm1 | 29 ++ .../tools/REST2CARML/Set-ModuleTemplate.ps1 | 308 ------------------ .../extension/Get-DiagnosticOptionsList.ps1 | 9 +- .../extension/Get-RoleAssignmentsList.ps1 | 0 .../extension/Get-SupportsLock.ps1 | 0 .../extension/Get-SupportsPrivateEndpoint.ps1 | 1 - .../extension/Set-DiagnosticModuleData.ps1 | 3 - .../extension/Set-LockModuleData.ps1 | 3 - .../Set-PrivateEndpointModuleData.ps1 | 3 - .../Set-RoleAssignmentsModuleData.ps1 | 6 +- .../module/Get-FormattedModuleParameter.ps1 | 132 ++++++++ .../{ => private/module}/Set-Module.ps1 | 12 +- .../module}/Set-ModuleFileStructure.ps1 | 103 +----- .../private/module/Set-ModuleTemplate.ps1 | 153 +++++++++ .../shared}/Get-ResourceTypeSingularName.ps1 | 1 + .../private/shared/Get-TargetScope.ps1 | 17 + .../shared}/Set-TokenValuesInArray.ps1 | 5 +- .../REST2CARML/private/specs/Get-FileList.ps1 | 46 +++ .../private/specs/Get-FolderList.ps1 | 35 ++ .../specs/Get-ParametersFromRoot.ps1} | 157 +-------- .../specs}/Get-ServiceSpecPathData.ps1 | 79 +---- .../Get-ServiceSpecPathDataChildRes.ps1 | 1 + .../private/specs/Resolve-ModuleData.ps1 | 76 +++++ .../private/specs/Set-OptionalParameter.ps1 | 75 +++++ .../{ => public}/Invoke-REST2CARML.ps1 | 27 +- 27 files changed, 746 insertions(+), 679 deletions(-) create mode 100644 utilities/tools/REST2CARML/ModuleConfig.psd1 create mode 100644 utilities/tools/REST2CARML/REST2CARML.psd1 create mode 100644 utilities/tools/REST2CARML/REST2CARML.psm1 delete mode 100644 utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 rename utilities/tools/REST2CARML/{ => private}/extension/Get-DiagnosticOptionsList.ps1 (88%) rename utilities/tools/REST2CARML/{ => private}/extension/Get-RoleAssignmentsList.ps1 (100%) rename utilities/tools/REST2CARML/{ => private}/extension/Get-SupportsLock.ps1 (100%) rename utilities/tools/REST2CARML/{ => private}/extension/Get-SupportsPrivateEndpoint.ps1 (99%) rename utilities/tools/REST2CARML/{ => private}/extension/Set-DiagnosticModuleData.ps1 (97%) rename utilities/tools/REST2CARML/{ => private}/extension/Set-LockModuleData.ps1 (89%) rename utilities/tools/REST2CARML/{ => private}/extension/Set-PrivateEndpointModuleData.ps1 (93%) rename utilities/tools/REST2CARML/{ => private}/extension/Set-RoleAssignmentsModuleData.ps1 (91%) create mode 100644 utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 rename utilities/tools/REST2CARML/{ => private/module}/Set-Module.ps1 (80%) rename utilities/tools/REST2CARML/{ => private/module}/Set-ModuleFileStructure.ps1 (60%) create mode 100644 utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 rename utilities/tools/REST2CARML/{ => private/shared}/Get-ResourceTypeSingularName.ps1 (96%) create mode 100644 utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 rename utilities/tools/REST2CARML/{ => private/shared}/Set-TokenValuesInArray.ps1 (95%) create mode 100644 utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 create mode 100644 utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 rename utilities/tools/REST2CARML/{Resolve-ModuleData.ps1 => private/specs/Get-ParametersFromRoot.ps1} (55%) rename utilities/tools/REST2CARML/{ => private/specs}/Get-ServiceSpecPathData.ps1 (73%) rename utilities/tools/REST2CARML/{ => private/specs}/Get-ServiceSpecPathDataChildRes.ps1 (99%) create mode 100644 utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 create mode 100644 utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 rename utilities/tools/REST2CARML/{ => public}/Invoke-REST2CARML.ps1 (82%) diff --git a/utilities/tools/REST2CARML/ModuleConfig.psd1 b/utilities/tools/REST2CARML/ModuleConfig.psd1 new file mode 100644 index 0000000000..5ce1d2178c --- /dev/null +++ b/utilities/tools/REST2CARML/ModuleConfig.psd1 @@ -0,0 +1,13 @@ +@{ + #region general + #endregion + + #region specs + url_CloneRESTAPISpecRepository = 'https://github.com/Azure/azure-rest-api-specs.git' + #endregion + + #region monitor docs + url_MonitoringDocsRepositoryMetricsRaw = 'https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/main/articles/azure-monitor/essentials/metrics-supported.md' + url_MonitoringDocsRepositoryLogsRaw = 'https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/main/articles/azure-monitor/essentials/resource-logs-categories.md' + #endregion +} diff --git a/utilities/tools/REST2CARML/REST2CARML.psd1 b/utilities/tools/REST2CARML/REST2CARML.psd1 new file mode 100644 index 0000000000..1ff3c7493c --- /dev/null +++ b/utilities/tools/REST2CARML/REST2CARML.psd1 @@ -0,0 +1,131 @@ +# +# Module manifest for module 'AzHdo' +# +# Generated by: ServicesCode +# +# Generated on: 11/12/2020 +# + +@{ + + # Script module or binary module file associated with this manifest. + RootModule = 'REST2CARML.psm1' + + # Version number of this module. + ModuleVersion = '0.1.0' + + # Supported PSEditions + # CompatiblePSEditions = @() + + # ID used to uniquely identify this module + GUID = '807456f1-947d-43af-9b4d-49d13f593130' + + # Author of this module + Author = 'CARML' + + # Company or vendor of this module + CompanyName = 'Microsoft' + + # Copyright statement for this module + Copyright = '(c) ServicesCode. All rights reserved.' + + # Description of the functionality provided by this module + Description = 'Automatically generate new CARML modules using the Azure API & docs.' + + # Minimum version of the PowerShell engine required by this module + # PowerShellVersion = '' + + # Name of the PowerShell host required by this module + # PowerShellHostName = '' + + # Minimum version of the PowerShell host required by this module + # PowerShellHostVersion = '' + + # Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. + # DotNetFrameworkVersion = '' + + # Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. + # ClrVersion = '' + + # Processor architecture (None, X86, Amd64) required by this module + # ProcessorArchitecture = '' + + # Modules that must be imported into the global environment prior to importing this module + # RequiredModules = @() + + # Assemblies that must be loaded prior to importing this module + # RequiredAssemblies = @() + + # Script files (.ps1) that are run in the caller's environment prior to importing this module. + # ScriptsToProcess = @() + + # Type files (.ps1xml) to be loaded when importing this module + # TypesToProcess = @() + + # Format files (.ps1xml) to be loaded when importing this module + # FormatsToProcess = @() + + # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess + # NestedModules = @() + + # Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. + FunctionsToExport = @() + + # Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. + CmdletsToExport = @() + + # Variables to export from this module + VariablesToExport = '*' + + # Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. + AliasesToExport = @() + + # DSC resources to export from this module + # DscResourcesToExport = @() + + # List of all modules packaged with this module + # ModuleList = @() + + # List of all files packaged with this module + # FileList = @() + + # Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. + PrivateData = @{ + + PSData = @{ + + # Tags applied to this module. These help with module discovery in online galleries. + Tags = @('CARML') + + # A URL to the license for this module. + # LicenseUri = '' + + # A URL to the main website for this project. + ProjectUri = 'https://aka.ms/CARML' + + # A URL to an icon representing this module. + # IconUri = '' + + # ReleaseNotes of this module + # ReleaseNotes = '' + + # Prerelease string of this module + # Prerelease = '' + + # Flag to indicate whether the module requires explicit user acceptance for install/update/save + # RequireLicenseAcceptance = $false + + # External dependent modules of this module + # ExternalModuleDependencies = @() + + } # End of PSData hashtable + + } # End of PrivateData hashtable + + # HelpInfo URI of this module + # HelpInfoURI = '' + + # Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. + DefaultCommandPrefix = 'Carml' + +} diff --git a/utilities/tools/REST2CARML/REST2CARML.psm1 b/utilities/tools/REST2CARML/REST2CARML.psm1 new file mode 100644 index 0000000000..bdcf7e8335 --- /dev/null +++ b/utilities/tools/REST2CARML/REST2CARML.psm1 @@ -0,0 +1,29 @@ +[cmdletbinding()] +param() + +# Load central config file; Config File can be referenced within module scope by $script:CONFIG +Write-Verbose 'Load Config' +$moduleConfigPath = Join-Path $PSScriptRoot 'ModuleConfig.psd1' +$script:CONFIG = Import-PowerShellDataFile -Path (Resolve-Path ($moduleConfigPath)) + +$script:repoRoot = (Get-Item $PSScriptRoot).Parent.Parent.Parent +$script:moduleRoot = $PSScriptRoot +$script:src = Join-Path $PSScriptRoot 'src' +$script:temp = Join-Path $PSScriptRoot 'temp' + + +Write-Verbose 'Import everything in sub folders public & private' +$functionFolders = @('public', 'private') +foreach ($folder in $functionFolders) { + $folderPath = Join-Path -Path $PSScriptRoot -ChildPath $folder + If (Test-Path -Path $folderPath) { + Write-Verbose "Importing from $folder" + $functions = Get-ChildItem -Path $folderPath -Filter '*.ps1' -Recurse + foreach ($function in $functions) { + Write-Verbose (' Importing [{0}]' -f $function.BaseName) + . $function.FullName + } + } +} +$publicFunctions = (Get-ChildItem -Path "$PSScriptRoot\public" -Filter '*.ps1').BaseName +Export-ModuleMember -Function $publicFunctions diff --git a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 deleted file mode 100644 index c616659c1f..0000000000 --- a/utilities/tools/REST2CARML/Set-ModuleTemplate.ps1 +++ /dev/null @@ -1,308 +0,0 @@ -#region helperFunctions -function Get-ModuleParameter { - param ( - [Parameter(Mandatory = $true)] - [object] $ParameterData - ) - - $result = @() - - # description (optional) - # ---------------------- - if ($ParameterData.description) { - $result += "@description('{0}. {1}')" -f (($ParameterData.required) ? 'Required' : 'Optional'), $ParameterData.description - } - - # secure (optional) - # ----------------- - if ($ParameterData.secure) { - $result += '@secure()' - } - - # allowed (optional) - # ------------------ - if ($ParameterData.allowedValues) { - $result += '@allowed([' - - $result += $ParameterData.allowedValues | ForEach-Object { - if ($ParameterData.type -eq 'boolean') { - # Any boolean type (e.g., True) - " '{0}'" -f $_.ToLower() - } elseif ($_ -match '\w') { - # Any string value (e.g., 'Enabled') - " '$_'" - } elseif ($_ -match '\d') { - # Any number value (e.g., 3) - " $_" - } - } - $result += '])' - } - - # minValue (optional) - # ------------------- - if ($ParameterData.minValue) { - $result += '@minValue({0})' -f $ParameterData.minValue - } - - # maxValue (optional) - # ------------------- - if ($ParameterData.maxValue) { - $result += '@maxValue({0})' -f $ParameterData.maxValue - } - - # minLength (optional) - # -------------------- - if ($ParameterData.minLength) { - $result += '@minLength({0})' -f $ParameterData.minLength - } - - # maxLength (optional) - # -------------------- - if ($ParameterData.maxLength) { - $result += '@maxLength({0})' -f $ParameterData.maxLength - } - - # param line (mandatory) with (optional) default value - # ---------------------------------------------------- - switch ($ParameterData.type) { - 'boolean' { - $parameterType = 'bool' - break - } - 'integer' { - $parameterType = 'int' - break - } - Default { - $parameterType = $ParameterData.type - } - } - $paramLine = 'param {0} {1}' -f $ParameterData.name, $parameterType - - if ($ParameterData.default) { - - - if ($ParameterData.default -like '*()*') { - # Handle functions - $result += "$paramLine = {0}" -f ($ParameterData.default -replace '"', '') - } else { - switch ($ParameterData.type) { - 'bool' { - $result += "$paramLine = {0}" -f $ParameterData.default.ToString().ToLower() # boolean 'True' must be lower-cased - break - } - 'string' { - $result += "$paramLine = '{0}'" -f $ParameterData.default - break - } - 'array' { - $result += "$paramLine = [" - $result += $ParameterData.default | ForEach-Object { - if ($ParameterData.type -eq 'boolean') { - # Any boolean type (e.g., True) - " '{0}'" -f $_.ToLower() - } elseif ($_ -match '\w') { - # Any string value (e.g., 'Enabled') - " '$_'" - } elseif ($_ -match '\d') { - # Any number value (e.g., 3) - " $_" - } - } - $result += ']' - break - } - 'int' { - $result += "$paramLine = {0}" -f $ParameterData.default - } - default { - throw ('Unhandled parameter type [{0}]' -f $ParameterData.type) - } - } - } - } else { - $result += $paramLine - } - - $result += '' - - return $result -} - -function Get-TargetScope { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $JSONKeyPath - ) - - switch ($JSONKeyPath) { - { $PSItem -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*' } { return 'resourceGroup' } - { $PSItem -like '/subscriptions/{subscriptionId}/*' } { return 'subscription' } - { $PSItem -like 'providers/Microsoft.Management/managementGroups/*' } { return 'managementGroup' } - } - Default { - throw 'Unable to detect target scope' - } -} -#endregion - -function Set-ModuleTemplate { - - [CmdletBinding(SupportsShouldProcess)] - param ( - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, - - [Parameter(Mandatory = $true)] - [array] $ModuleData, - - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - - [Parameter(Mandatory = $true)] - [string] $JSONKeyPath - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - - $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent - $templatePath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' - - # Load used functions - . (Join-Path $PSScriptRoot 'Get-ResourceTypeSingularName.ps1') - } - - process { - - $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType - - ################## - ## PARAMETERS ## - ################## - - $targetScope = Get-TargetScope -JSONKeyPath $JSONKeyPath - - $templateContent = @( - "targetScope = '{0}'" -f $targetScope - '' - '// ============== //' - '// Parameters //' - '// ============== //' - '' - ) - - # Add primary (service) parameters - foreach ($parameter in $ModuleData.parameters) { - $templateContent += Get-ModuleParameter -ParameterData $parameter - } - # Add additional (extension) parameters - foreach ($parameter in $ModuleData.additionalParameters) { - $templateContent += Get-ModuleParameter -ParameterData $parameter - } - # Add telemetry parameter - $templateContent += Get-ModuleParameter -ParameterData @{ - level = 0 - name = 'enableDefaultTelemetry' - type = 'bool' - default = $true - description = 'Enable telemetry via the Customer Usage Attribution ID (GUID).' - required = $false - } - - ################# - ## VARIABLES ## - ################# - - foreach ($variable in $ModuleData.variables) { - $templateContent += $variable - } - # Add telemetry variable - # TODO: Should only be added if module has children) - $templateContent += @( - 'var enableReferencedModulesTelemetry = false' - '' - ) - - ################### - ## DEPLOYMENTS ## - ################### - - $templateContent += @( - '' - '// =============== //' - '// Deployments //' - '// =============== //' - '' - ) - - # Telemetry - $templateContent += Get-Content -Path (Join-Path 'src' 'telemetry.bicep') - $templateContent += '' - - # Deployment resource declaration line - $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf - $templateContent += "resource $resourceTypeSingular '$ProviderNamespace/$ResourceType@$serviceAPIVersion' = {" - - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 })) { - $templateContent += ' {0}: {0}' -f $parameter.name - } - - $templateContent += ' properties: {' - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 })) { - $templateContent += ' {0}: {0}' -f $parameter.name - } - - $templateContent += @( - ' }' - '}' - '' - ) - - - # Other collected resources - $templateContent += $ModuleData.resources - - # TODO: Add children if applicable - - ####################################### - ## Create template outputs section ## - ####################################### - - # Output header comment - $templateContent += @( - '// =========== //' - '// Outputs //' - '// =========== //' - '' - "@description('The name of the $resourceTypeSingular.')" - "output name string = $resourceTypeSingular.name" - '' - "@description('The resource ID of the $resourceTypeSingular.')" - "output resourceId string = $resourceTypeSingular.id" - '' - ) - - if ($targetScope -eq 'resourceGroup') { - $templateContent += @( - "@description('The name of the resource group the $resourceTypeSingular was created in.')" - 'output resourceGroupName string = resourceGroup().name' - '' - ) - } - - # Update file - # ----------- - Set-Content -Path $templatePath -Value $templateContent.TrimEnd() - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} diff --git a/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 b/utilities/tools/REST2CARML/private/extension/Get-DiagnosticOptionsList.ps1 similarity index 88% rename from utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 rename to utilities/tools/REST2CARML/private/extension/Get-DiagnosticOptionsList.ps1 index dc78b01463..ce866a0f6d 100644 --- a/utilities/tools/REST2CARML/extension/Get-DiagnosticOptionsList.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Get-DiagnosticOptionsList.ps1 @@ -30,9 +30,8 @@ function Get-DiagnosticOptionsList { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $urlRoot = 'https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/main/articles/azure-monitor/essentials' - $diagnosticMetricsPath = Join-Path (Split-Path $PSScriptRoot) 'temp' 'diagnosticMetrics.md' - $diagnosticLogsPath = Join-Path (Split-Path $PSScriptRoot) 'temp' 'diagnosticLogs.md' + $diagnosticMetricsPath = Join-Path $script:temp 'diagnosticMetrics.md' + $diagnosticLogsPath = Join-Path $script:temp 'diagnosticLogs.md' } process { @@ -43,7 +42,7 @@ function Get-DiagnosticOptionsList { $foundMetrics = @() if (-not (Test-Path $diagnosticMetricsPath)) { Write-Verbose 'Fetching diagnostic metrics data. This may take a moment...' -Verbose - Invoke-WebRequest -Uri "$urlRoot/metrics-supported.md" -OutFile $diagnosticMetricsPath + Invoke-WebRequest -Uri $script:Config.url_MonitoringDocsRepositoryMetricsRaw -OutFile $diagnosticMetricsPath } $metricsMarkdown = Get-Content $diagnosticMetricsPath @@ -79,7 +78,7 @@ function Get-DiagnosticOptionsList { $foundLogs = @() if (-not (Test-Path $diagnosticLogsPath)) { Write-Verbose 'Fetching diagnostic logs data. This may take a moment...' -Verbose - Invoke-WebRequest -Uri "$urlRoot/resource-logs-categories.md" -OutFile $diagnosticLogsPath + Invoke-WebRequest -Uri $script:Config.url_MonitoringDocsRepositoryLogsRaw -OutFile $diagnosticLogsPath } $logsMarkdown = Get-Content $diagnosticMetricsPath diff --git a/utilities/tools/REST2CARML/extension/Get-RoleAssignmentsList.ps1 b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 similarity index 100% rename from utilities/tools/REST2CARML/extension/Get-RoleAssignmentsList.ps1 rename to utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 diff --git a/utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 b/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 similarity index 100% rename from utilities/tools/REST2CARML/extension/Get-SupportsLock.ps1 rename to utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 diff --git a/utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 b/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 similarity index 99% rename from utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 rename to utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 index 27ba9dbd0b..c9e339d0b2 100644 --- a/utilities/tools/REST2CARML/extension/Get-SupportsPrivateEndpoint.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 @@ -27,7 +27,6 @@ function Get-SupportsPrivateEndpoint { } process { - $specContent = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable $relevantPaths = $specContent.paths.Keys | Where-Object { diff --git a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 similarity index 97% rename from utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 rename to utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index e45f07d8ee..b338c6c214 100644 --- a/utilities/tools/REST2CARML/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -14,9 +14,6 @@ begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - # Load used functions - . (Join-Path $PSScriptRoot 'Get-DiagnosticOptionsList.ps1') - . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { diff --git a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 similarity index 89% rename from utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 rename to utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index 6c042d5168..2f07dfe63f 100644 --- a/utilities/tools/REST2CARML/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -14,9 +14,6 @@ function Set-LockModuleData { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - # Load used functions - . (Join-Path $PSScriptRoot 'Get-SupportsLock.ps1') - . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { diff --git a/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 similarity index 93% rename from utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 rename to utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 index 0e8192e3e5..fcdf68c20d 100644 --- a/utilities/tools/REST2CARML/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 @@ -14,9 +14,6 @@ begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - # Load used functions - . (Join-Path $PSScriptRoot 'Get-SupportsPrivateEndpoint.ps1') - . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { diff --git a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 similarity index 91% rename from utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 rename to utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 02783ce04d..1066d6dcce 100644 --- a/utilities/tools/REST2CARML/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -20,10 +20,6 @@ function Set-RoleAssignmentsModuleData { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - # Load used functions - . (Join-Path $PSScriptRoot 'Get-RoleAssignmentsList.ps1') - . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Set-TokenValuesInArray.ps1') - . (Join-Path (Split-Path $PSScriptRoot -Parent) 'Get-ResourceTypeSingularName.ps1') } process { @@ -72,7 +68,7 @@ function Set-RoleAssignmentsModuleData { ) $fileContent = @() - $rawContent = Get-Content -Path (Join-Path (Split-Path $PSScriptRoot -Parent) 'src' 'nested_roleAssignments.bicep') -Raw + $rawContent = Get-Content -Path (Join-Path $script:src 'nested_roleAssignments.bicep') -Raw # Replace general tokens $fileContent = Set-TokenValuesInArray -Content $rawContent -Tokens $tokens diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 new file mode 100644 index 0000000000..a5b85d150e --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -0,0 +1,132 @@ +function Get-FormattedModuleParameter { + + param ( + [Parameter(Mandatory = $true)] + [object] $ParameterData + ) + + $result = @() + + # description (optional) + # ---------------------- + if ($ParameterData.description) { + $result += "@description('{0}. {1}')" -f (($ParameterData.required) ? 'Required' : 'Optional'), $ParameterData.description + } + + # secure (optional) + # ----------------- + if ($ParameterData.secure) { + $result += '@secure()' + } + + # allowed (optional) + # ------------------ + if ($ParameterData.allowedValues) { + $result += '@allowed([' + + $result += $ParameterData.allowedValues | ForEach-Object { + if ($ParameterData.type -eq 'boolean') { + # Any boolean type (e.g., True) + " '{0}'" -f $_.ToLower() + } elseif ($_ -match '\w') { + # Any string value (e.g., 'Enabled') + " '$_'" + } elseif ($_ -match '\d') { + # Any number value (e.g., 3) + " $_" + } + } + $result += '])' + } + + # minValue (optional) + # ------------------- + if ($ParameterData.minValue) { + $result += '@minValue({0})' -f $ParameterData.minValue + } + + # maxValue (optional) + # ------------------- + if ($ParameterData.maxValue) { + $result += '@maxValue({0})' -f $ParameterData.maxValue + } + + # minLength (optional) + # -------------------- + if ($ParameterData.minLength) { + $result += '@minLength({0})' -f $ParameterData.minLength + } + + # maxLength (optional) + # -------------------- + if ($ParameterData.maxLength) { + $result += '@maxLength({0})' -f $ParameterData.maxLength + } + + # param line (mandatory) with (optional) default value + # ---------------------------------------------------- + switch ($ParameterData.type) { + 'boolean' { + $parameterType = 'bool' + break + } + 'integer' { + $parameterType = 'int' + break + } + Default { + $parameterType = $ParameterData.type + } + } + $paramLine = 'param {0} {1}' -f $ParameterData.name, $parameterType + + if ($ParameterData.default) { + + + if ($ParameterData.default -like '*()*') { + # Handle functions + $result += "$paramLine = {0}" -f ($ParameterData.default -replace '"', '') + } else { + switch ($ParameterData.type) { + 'bool' { + $result += "$paramLine = {0}" -f $ParameterData.default.ToString().ToLower() # boolean 'True' must be lower-cased + break + } + 'string' { + $result += "$paramLine = '{0}'" -f $ParameterData.default + break + } + 'array' { + $result += "$paramLine = [" + $result += $ParameterData.default | ForEach-Object { + if ($ParameterData.type -eq 'boolean') { + # Any boolean type (e.g., True) + " '{0}'" -f $_.ToLower() + } elseif ($_ -match '\w') { + # Any string value (e.g., 'Enabled') + " '$_'" + } elseif ($_ -match '\d') { + # Any number value (e.g., 3) + " $_" + } + } + $result += ']' + break + } + 'int' { + $result += "$paramLine = {0}" -f $ParameterData.default + } + default { + throw ('Unhandled parameter type [{0}]' -f $ParameterData.type) + } + } + } + } else { + $result += $paramLine + } + + $result += '' + + return $result + +} diff --git a/utilities/tools/REST2CARML/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 similarity index 80% rename from utilities/tools/REST2CARML/Set-Module.ps1 rename to utilities/tools/REST2CARML/private/module/Set-Module.ps1 index 55b2048277..4bd2a20a7f 100644 --- a/utilities/tools/REST2CARML/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -21,17 +21,11 @@ begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent - $moduleRootPath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType + $moduleRootPath = Join-Path $script:repoRoot 'modules' $ProviderNamespace $ResourceType $templatePath = Join-Path $moduleRootPath 'deploy.bicep' - # Load used functions - . (Join-Path $PSScriptRoot 'extension' 'Set-DiagnosticModuleData.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Set-RoleAssignmentsModuleData.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Set-PrivateEndpointModuleData.ps1') - . (Join-Path $PSScriptRoot 'extension' 'Set-LockModuleData.ps1') - . (Join-Path $PSScriptRoot 'Set-ModuleTemplate.ps1') - . (Join-Path $repoRootPath 'utilities' 'tools' 'Set-ModuleReadMe.ps1') + # Load external functions + . (Join-Path $script:repoRoot 'utilities' 'tools' 'Set-ModuleReadMe.ps1') } process { diff --git a/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleFileStructure.ps1 similarity index 60% rename from utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 rename to utilities/tools/REST2CARML/private/module/Set-ModuleFileStructure.ps1 index 2551f8c6ae..c69596bca0 100644 --- a/utilities/tools/REST2CARML/Set-ModuleFileStructure.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleFileStructure.ps1 @@ -1,73 +1,4 @@ -#region Helper functions -<# -.SYNOPSIS -Replace tokens like '<>' in the given file with an actual value - -.DESCRIPTION -Replace tokens like '<>' in the given file with an actual value. Tokens that are replaced: -- <> -- <> -- <> -- <> -- <> -- <> - -.PARAMETER Content -Mandatory. The content to update - -.PARAMETER ProviderNamespace -Mandatory. The Provider Namespace to replaces tokens for - -.PARAMETER ResourceType -Mandatory. The Resource Type to replaces tokens for - -.EXAMPLE -Format-AutomationTemplate -Content "Hello <>-<>" -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' - -Update the provided content with different Provider Namespace & Resource Type token variant. Would return 'Hello keyvault-Vaults' -#> -function Format-AutomationTemplate { - - [CmdletBinding()] - param( - [Parameter(Mandatory)] - [string] $Content, - - [Parameter(Mandatory)] - [string] $ProviderNamespace, - - [Parameter(Mandatory)] - [string] $ResourceType - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - } - - process { - $tokens = @{ - providerNamespace = $ProviderNamespace - shortProviderNamespacePascal = ($ProviderNamespace -split '\.')[-1].substring(0, 1).toupper() + ($ProviderNamespace -split '\.')[-1].substring(1) - shortProviderNamespaceLower = ($ProviderNamespace -split '\.')[-1].ToLower() - resourceType = $ResourceType - resourceTypePascal = $ResourceType.substring(0, 1).toupper() + $ResourceType.substring(1) - resourceTypeLower = $ResourceType.ToLower() - } - - foreach ($token in $tokens.Keys) { - $content = $content -replace "<<$token>>", $tokens[$token] - } - - return $content - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} -#endregion - -<# +<# .SYNOPSIS Update / create the initial folder structure for a CARML module @@ -98,10 +29,6 @@ function Set-ModuleFileStructure { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $repoRootPath = (Get-Item $PSScriptRoot).Parent.Parent.Parent - - # Load used functions - . (Join-Path $PSScriptRoot 'Set-TokenValuesInArray.ps1') } process { @@ -118,7 +45,7 @@ function Set-ModuleFileStructure { # Create folders # -------------- - $expectedModuleFolderPath = Join-Path $repoRootPath 'modules' $ProviderNamespace $ResourceType + $expectedModuleFolderPath = Join-Path $script:repoRoot 'modules' $ProviderNamespace $ResourceType @( $expectedModuleFolderPath, (Join-Path $expectedModuleFolderPath '.bicep'), @@ -127,7 +54,7 @@ function Set-ModuleFileStructure { (Join-Path $expectedModuleFolderPath '.test' 'min') ) | ForEach-Object { if (-not (Test-Path $_)) { - if ($PSCmdlet.ShouldProcess(('Folder [{0}]' -f ($_ -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + if ($PSCmdlet.ShouldProcess(('Folder [{0}]' -f ($_ -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { $null = New-Item -Path $_ -ItemType 'Directory' } } else { @@ -141,32 +68,32 @@ function Set-ModuleFileStructure { ### Template file $templateFilePath = Join-Path $expectedModuleFolderPath 'deploy.bicep' if (-not (Test-Path $templateFilePath)) { - if ($PSCmdlet.ShouldProcess(('Template file [{0}]' -f ($templateFilePath -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + if ($PSCmdlet.ShouldProcess(('Template file [{0}]' -f ($templateFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { $null = New-Item -Path $templateFilePath -ItemType 'File' } } else { - Write-Verbose ('Template file [{0}] already exists.' -f ($templateFilePath -replace ($repoRootPath -replace '\\', '\\'), '')) + Write-Verbose ('Template file [{0}] already exists.' -f ($templateFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) } ### Version file $versionFilePath = Join-Path $expectedModuleFolderPath 'version.json' if (-not (Test-Path $versionFilePath)) { - if ($PSCmdlet.ShouldProcess(('Version file [{0}]' -f ($versionFilePath -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { - $versionFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'moduleVersion.json') -Raw + if ($PSCmdlet.ShouldProcess(('Version file [{0}]' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { + $versionFileContent = Get-Content (Join-Path $script:src 'moduleVersion.json') -Raw $null = New-Item -Path $versionFilePath -ItemType 'File' -Value $versionFileContent } } else { - Write-Verbose ('Version file [{0}] already exists.' -f ($versionFilePath -replace ($repoRootPath -replace '\\', '\\'), '')) + Write-Verbose ('Version file [{0}] already exists.' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) } ### ReadMe file $readMeFilePath = Join-Path $expectedModuleFolderPath 'readme.md' if (-not (Test-Path $readMeFilePath)) { - if ($PSCmdlet.ShouldProcess(('ReadMe file [{0}]' -f ($readMeFilePath -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + if ($PSCmdlet.ShouldProcess(('ReadMe file [{0}]' -f ($readMeFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { $null = New-Item -Path $readMeFilePath -ItemType 'File' } } else { - Write-Verbose ('ReadMe file [{0}] already exists.' -f ($readMeFilePath -replace ($repoRootPath -replace '\\', '\\'), '')) + Write-Verbose ('ReadMe file [{0}] already exists.' -f ($readMeFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) } ## .test files @@ -175,7 +102,7 @@ function Set-ModuleFileStructure { (Join-Path $expectedModuleFolderPath '.test' 'min' 'deploy.bicep') ) | ForEach-Object { if (-not (Test-Path $_)) { - if ($PSCmdlet.ShouldProcess(('File [{0}]' -f ($_ -replace ($repoRootPath -replace '\\', '\\'), '')), 'Create')) { + if ($PSCmdlet.ShouldProcess(('File [{0}]' -f ($_ -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { $null = New-Item -Path $_ -ItemType 'File' } } else { @@ -187,8 +114,8 @@ function Set-ModuleFileStructure { # -------------------------- ## GitHub $automationFileName = ('ms.{0}.{1}.yml' -f ($ProviderNamespace -split '\.')[-1], $ResourceType).ToLower() - $gitHubWorkflowYAMLPath = Join-Path $repoRootPath '.github' 'workflows' $automationFileName - $workflowFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'gitHubWorkflowTemplateFile.yml') -Raw + $gitHubWorkflowYAMLPath = Join-Path $script:repoRoot '.github' 'workflows' $automationFileName + $workflowFileContent = Get-Content (Join-Path $script:src 'gitHubWorkflowTemplateFile.yml') -Raw $workflowFileContent = Set-TokenValuesInArray -Content $workflowFileContent -Tokens $tokens if (-not (Test-Path $gitHubWorkflowYAMLPath)) { if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { @@ -201,8 +128,8 @@ function Set-ModuleFileStructure { } ## Azure DevOps - $azureDevOpsPipelineYAMLPath = Join-Path $repoRootPath '.azuredevops' 'modulePipelines' $automationFileName - $pipelineFileContent = Get-Content (Join-Path $PSScriptRoot 'src' 'azureDevOpsPipelineTemplateFile.yml') -Raw + $azureDevOpsPipelineYAMLPath = Join-Path $script:repoRoot '.azuredevops' 'modulePipelines' $automationFileName + $pipelineFileContent = Get-Content (Join-Path $script:src 'azureDevOpsPipelineTemplateFile.yml') -Raw $pipelineFileContent = Set-TokenValuesInArray -Content $pipelineFileContent -Tokens $tokens if (-not (Test-Path $azureDevOpsPipelineYAMLPath)) { if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 new file mode 100644 index 0000000000..7d1e281028 --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -0,0 +1,153 @@ +function Set-ModuleTemplate { + + [CmdletBinding(SupportsShouldProcess)] + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [array] $ModuleData, + + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + + $templatePath = Join-Path $script:repoRoot 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' + } + + process { + + $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + + ################## + ## PARAMETERS ## + ################## + + $targetScope = Get-TargetScope -JSONKeyPath $JSONKeyPath + + $templateContent = @( + "targetScope = '{0}'" -f $targetScope + '' + '// ============== //' + '// Parameters //' + '// ============== //' + '' + ) + + # Add primary (service) parameters + foreach ($parameter in $ModuleData.parameters) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } + # Add additional (extension) parameters + foreach ($parameter in $ModuleData.additionalParameters) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } + # Add telemetry parameter + $templateContent += Get-FormattedModuleParameter -ParameterData @{ + level = 0 + name = 'enableDefaultTelemetry' + type = 'bool' + default = $true + description = 'Enable telemetry via the Customer Usage Attribution ID (GUID).' + required = $false + } + + ################# + ## VARIABLES ## + ################# + + foreach ($variable in $ModuleData.variables) { + $templateContent += $variable + } + # Add telemetry variable + # TODO: Should only be added if module has children) + $templateContent += @( + 'var enableReferencedModulesTelemetry = false' + '' + ) + + ################### + ## DEPLOYMENTS ## + ################### + + $templateContent += @( + '' + '// =============== //' + '// Deployments //' + '// =============== //' + '' + ) + + # Telemetry + $templateContent += Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') + $templateContent += '' + + # Deployment resource declaration line + $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf + $templateContent += "resource $resourceTypeSingular '$ProviderNamespace/$ResourceType@$serviceAPIVersion' = {" + + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 })) { + $templateContent += ' {0}: {0}' -f $parameter.name + } + + $templateContent += ' properties: {' + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 })) { + $templateContent += ' {0}: {0}' -f $parameter.name + } + + $templateContent += @( + ' }' + '}' + '' + ) + + + # Other collected resources + $templateContent += $ModuleData.resources + + # TODO: Add children if applicable + + ####################################### + ## Create template outputs section ## + ####################################### + + # Output header comment + $templateContent += @( + '// =========== //' + '// Outputs //' + '// =========== //' + '' + "@description('The name of the $resourceTypeSingular.')" + "output name string = $resourceTypeSingular.name" + '' + "@description('The resource ID of the $resourceTypeSingular.')" + "output resourceId string = $resourceTypeSingular.id" + '' + ) + + if ($targetScope -eq 'resourceGroup') { + $templateContent += @( + "@description('The name of the resource group the $resourceTypeSingular was created in.')" + 'output resourceGroupName string = resourceGroup().name' + '' + ) + } + + # Update file + # ----------- + Set-Content -Path $templatePath -Value $templateContent.TrimEnd() + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/Get-ResourceTypeSingularName.ps1 b/utilities/tools/REST2CARML/private/shared/Get-ResourceTypeSingularName.ps1 similarity index 96% rename from utilities/tools/REST2CARML/Get-ResourceTypeSingularName.ps1 rename to utilities/tools/REST2CARML/private/shared/Get-ResourceTypeSingularName.ps1 index 39dd7af84e..1d40d35bc3 100644 --- a/utilities/tools/REST2CARML/Get-ResourceTypeSingularName.ps1 +++ b/utilities/tools/REST2CARML/private/shared/Get-ResourceTypeSingularName.ps1 @@ -15,6 +15,7 @@ Returns 'vault' #> function Get-ResourceTypeSingularName { + [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string] $ResourceType diff --git a/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 new file mode 100644 index 0000000000..7d0b9e4122 --- /dev/null +++ b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 @@ -0,0 +1,17 @@ +function Get-TargetScope { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath + ) + + switch ($JSONKeyPath) { + { $PSItem -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*' } { return 'resourceGroup' } + { $PSItem -like '/subscriptions/{subscriptionId}/*' } { return 'subscription' } + { $PSItem -like 'providers/Microsoft.Management/managementGroups/*' } { return 'managementGroup' } + } + Default { + throw 'Unable to detect target scope' + } +} diff --git a/utilities/tools/REST2CARML/Set-TokenValuesInArray.ps1 b/utilities/tools/REST2CARML/private/shared/Set-TokenValuesInArray.ps1 similarity index 95% rename from utilities/tools/REST2CARML/Set-TokenValuesInArray.ps1 rename to utilities/tools/REST2CARML/private/shared/Set-TokenValuesInArray.ps1 index 999219b2db..7fba4d2483 100644 --- a/utilities/tools/REST2CARML/Set-TokenValuesInArray.ps1 +++ b/utilities/tools/REST2CARML/private/shared/Set-TokenValuesInArray.ps1 @@ -8,6 +8,9 @@ Replace tokens like '<>' in the given file with an actual val .PARAMETER Content Mandatory. The content to update +.PARAMETER Tokens +A hashtable of tokens to replace + .EXAMPLE Set-TokenValuesInArray -Content "Hello <>-<>" -Tokens @{ shortProviderNamespaceLower = 'keyvault'; resourceTypePascal = 'Vaults' } @@ -29,11 +32,9 @@ function Set-TokenValuesInArray { } process { - foreach ($token in $tokens.Keys) { $content = $content -replace "<<$token>>", $tokens[$token] } - return $content } diff --git a/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 new file mode 100644 index 0000000000..cda8379d79 --- /dev/null +++ b/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 @@ -0,0 +1,46 @@ +function Get-FileList { + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $rootFolder, + + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [bool] $IgnorePreview = $true + ) + + $allFilePaths = (Get-ChildItem -Path $rootFolder -Recurse -File).FullName + Write-Verbose ('Fetched all [{0}] file paths. Filtering...' -f $allFilePaths.Count) -Verbose + # Filter + $filteredFilePaths = $allFilePaths | Where-Object { + ($_ -replace '\\', '/') -like '*/resource-manager/*' + } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -notlike '*/examples/*' + } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" + } + if ($IgnorePreview) { + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -notlike '*/preview/*' + } + } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -like ('*/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*/*.json') + } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -like ('*/*.json') + } + if (-not $filteredFilePaths) { + Write-Warning "No files found for resource type [$ProviderNamespace/$ResourceType]" + return $filteredFilePaths + } + Write-Verbose ('Filtered down to [{0}] files.' -f $filteredFilePaths.Length) -Verbose + return $filteredFilePaths | Sort-Object +} diff --git a/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 new file mode 100644 index 0000000000..ecaa17b204 --- /dev/null +++ b/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 @@ -0,0 +1,35 @@ +function Get-FolderList { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $rootFolder, + + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace + ) + + $allFolderPaths = (Get-ChildItem -Path $rootFolder -Recurse -Directory).FullName + Write-Verbose ('Fetched all [{0}] folder paths. Filtering...' -f $allFolderPaths.Count) + # Filter + $filteredFolderPaths = $allFolderPaths | Where-Object { + ($_ -replace '\\', '/') -like '*/resource-manager/*' + } + $filteredFolderPaths = $filteredFolderPaths | Where-Object { + ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" + } + $filteredFolderPaths = $filteredFolderPaths | Where-Object { + (($_ -replace '\\', '/') -like '*/stable') -or (($_ -replace '\\', '/') -like '*/preview') + } + + $filteredFolderPaths = $filteredFolderPaths | ForEach-Object { Split-Path -Path $_ -Parent } + $filteredFolderPaths = $filteredFolderPaths | Select-Object -Unique + + if (-not $filteredFolderPaths) { + Write-Warning "No folders found for provider namespace [$ProviderNamespace]" + return $filteredFolderPaths + } + + Write-Verbose ('Filtered down to [{0}] folders.' -f $filteredFolderPaths.Length) + return $filteredFolderPaths | Sort-Object +} diff --git a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ParametersFromRoot.ps1 similarity index 55% rename from utilities/tools/REST2CARML/Resolve-ModuleData.ps1 rename to utilities/tools/REST2CARML/private/specs/Get-ParametersFromRoot.ps1 index 7b29491e0d..98e3c421de 100644 --- a/utilities/tools/REST2CARML/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-ParametersFromRoot.ps1 @@ -1,81 +1,4 @@ -#region helperFunctions -<# -.SYNOPSIS -Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' - -.DESCRIPTION -Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' - -.PARAMETER SourceParameterObject -Mandatory. The source object to fetch the properties from - -.PARAMETER TargetObject -Mandatory. The target object to add the optional parameters to - -.EXAMPLE -Set-OptionalParameter -SourceParameterObject @{ minLength = 3; allowedValues = @('default') } -TargetObject @{ name = 'sampleObject' } - -Add any optional parameter defined in the given source object to the given target object. In this case, both the 'minLength' & 'allowedValues' properties would be added. In addition, the property 'default' is added, as the 'allowedValues' specify only one possible value. -#> -function Set-OptionalParameter { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [hashtable] $SourceParameterObject, - - [Parameter(Mandatory = $true)] - [hashtable] $TargetObject - ) - - # Allowed values - if ($SourceParameterObject.Keys -contains 'enum') { - $TargetObject['allowedValues'] = $SourceParameterObject.enum - - if ($SourceParameterObject.enum.count -eq 1) { - $TargetObject['default'] = $SourceParameterObject.enum[0] - } - } - - # Min Length - if ($SourceParameterObject.Keys -contains 'minLength') { - $TargetObject['minLength'] = $SourceParameterObject.minLength - } - - # Max Length - if ($SourceParameterObject.Keys -contains 'maxLength') { - $TargetObject['maxLength'] = $SourceParameterObject.maxLength - } - - # Min - if ($SourceParameterObject.Keys -contains 'minimum') { - $TargetObject['minValue'] = $SourceParameterObject.minimum - } - - # Max - if ($SourceParameterObject.Keys -contains 'maximum') { - $TargetObject['maxValue'] = $SourceParameterObject.maximum - } - - # Default value - if ($SourceParameterObject.Keys -contains 'default') { - $TargetObject['default'] = $SourceParameterObject.default - } - - # Pattern - if ($SourceParameterObject.Keys -contains 'pattern') { - $TargetObject['pattern'] = $SourceParameterObject.pattern - } - - # Secure - if ($SourceParameterObject.Keys -contains 'x-ms-secret') { - $TargetObject['secure'] = $SourceParameterObject.'x-ms-secret' - } - - return $TargetObject -} - -<# +<# .SYNOPSIS Extract all parameters from the given API spec parameter root @@ -227,81 +150,3 @@ function Get-ParametersFromRoot { return $templateData } -#endregion - -<# -.SYNOPSIS -Extract the outer (top-level) and inner (property-level) parameters for a given API Path - -.DESCRIPTION -Extract the outer (top-level) and inner (property-level) parameters for a given API Path - -.PARAMETER JSONFilePath -Mandatory. The service specification file to process. - -.PARAMETER JSONKeyPath -Mandatory. The API Path in the JSON specification file to process - -.PARAMETER ResourceType -Mandatory. The Resource Type to investigate - -.EXAMPLE -Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' - -Process the API path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' in file 'keyvault.json' -#> -function Resolve-ModuleData { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - - [Parameter(Mandatory = $true)] - [string] $JSONKeyPath, - - [Parameter(Mandatory = $true)] - [string] $ResourceType - ) - - # Output object - $templateData = [System.Collections.ArrayList]@() - - # Collect data - # ------------ - $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable - - # Get PUT parameters - $putParametersInputObject = @{ - SpecificationData = $SpecificationData - RelevantParamRoot = $specificationData.paths[$JSONKeyPath].put.parameters - JSONKeyPath = $JSONKeyPath - ResourceType = $ResourceType - } - $templateData += Get-ParametersFromRoot @putParametersInputObject - - # Get PATCH parameters (as the REST command actually always is Create or Update) - if ($specificationData.paths[$JSONKeyPath].patch) { - $putParametersInputObject = @{ - SpecificationData = $SpecificationData - RelevantParamRoot = $specificationData.paths[$JSONKeyPath].patch.parameters - JSONKeyPath = $JSONKeyPath - ResourceType = $ResourceType - } - $templateData += Get-ParametersFromRoot @putParametersInputObject - } - - # Filter duplicates - $filteredList = @() - foreach ($level in $templateData.Level | Select-Object -Unique) { - $filteredList += $templateData | Where-Object { $_.level -eq $level } | Sort-Object name -Unique - } - - return @{ - parameters = $filteredList - additionalParameters = @() - resources = @() - variables = @() - outputs = @() - } -} diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 similarity index 73% rename from utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 rename to utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 index fc68053fc2..c21434b0a2 100644 --- a/utilities/tools/REST2CARML/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 @@ -1,83 +1,6 @@ -function Get-FolderList { - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $rootFolder, - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace - ) - - $allFolderPaths = (Get-ChildItem -Path $rootFolder -Recurse -Directory).FullName - Write-Verbose ('Fetched all [{0}] folder paths. Filtering...' -f $allFolderPaths.Count) - # Filter - $filteredFolderPaths = $allFolderPaths | Where-Object { - ($_ -replace '\\', '/') -like '*/resource-manager/*' - } - $filteredFolderPaths = $filteredFolderPaths | Where-Object { - ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" - } - $filteredFolderPaths = $filteredFolderPaths | Where-Object { - (($_ -replace '\\', '/') -like '*/stable') -or (($_ -replace '\\', '/') -like '*/preview') - } +function Get-ServiceSpecPathData { - $filteredFolderPaths = $filteredFolderPaths | ForEach-Object { Split-Path -Path $_ -Parent } - $filteredFolderPaths = $filteredFolderPaths | Select-Object -Unique - - if (-not $filteredFolderPaths) { - Write-Warning "No folders found for provider namespace [$ProviderNamespace]" - return $filteredFolderPaths - } - - Write-Verbose ('Filtered down to [{0}] folders.' -f $filteredFolderPaths.Length) - return $filteredFolderPaths | Sort-Object -} - -function Get-FileList { [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $rootFolder, - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - [Parameter(Mandatory = $true)] - [string] $ResourceType, - [Parameter(Mandatory = $false)] - [bool] $IgnorePreview = $true - ) - - $allFilePaths = (Get-ChildItem -Path $rootFolder -Recurse -File).FullName - Write-Verbose ('Fetched all [{0}] file paths. Filtering...' -f $allFilePaths.Count) -Verbose - # Filter - $filteredFilePaths = $allFilePaths | Where-Object { - ($_ -replace '\\', '/') -like '*/resource-manager/*' - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -notlike '*/examples/*' - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" - } - if ($IgnorePreview) { - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -notlike '*/preview/*' - } - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -like ('*/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*/*.json') - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -like ('*/*.json') - } - if (-not $filteredFilePaths) { - Write-Warning "No files found for resource type [$ProviderNamespace/$ResourceType]" - return $filteredFilePaths - } - Write-Verbose ('Filtered down to [{0}] files.' -f $filteredFilePaths.Length) -Verbose - return $filteredFilePaths | Sort-Object -} - -function Get-ServiceSpecPathData { - param ( [Parameter(Mandatory = $true)] [string] $ProviderNamespace, diff --git a/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathDataChildRes.ps1 similarity index 99% rename from utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 rename to utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathDataChildRes.ps1 index c555312586..1f9aa4b6ab 100644 --- a/utilities/tools/REST2CARML/Get-ServiceSpecPathDataChildRes.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathDataChildRes.ps1 @@ -1,5 +1,6 @@ function Get-ServiceSpecPathDataChildRes { + [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string] $ProviderNamespace, diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 new file mode 100644 index 0000000000..0b613b473f --- /dev/null +++ b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 @@ -0,0 +1,76 @@ +<# +.SYNOPSIS +Extract the outer (top-level) and inner (property-level) parameters for a given API Path + +.DESCRIPTION +Extract the outer (top-level) and inner (property-level) parameters for a given API Path + +.PARAMETER JSONFilePath +Mandatory. The service specification file to process. + +.PARAMETER JSONKeyPath +Mandatory. The API Path in the JSON specification file to process + +.PARAMETER ResourceType +Mandatory. The Resource Type to investigate + +.EXAMPLE +Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' + +Process the API path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' in file 'keyvault.json' +#> +function Resolve-ModuleData { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [string] $JSONKeyPath, + + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + # Output object + $templateData = [System.Collections.ArrayList]@() + + # Collect data + # ------------ + $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable + + # Get PUT parameters + $putParametersInputObject = @{ + SpecificationData = $SpecificationData + RelevantParamRoot = $specificationData.paths[$JSONKeyPath].put.parameters + JSONKeyPath = $JSONKeyPath + ResourceType = $ResourceType + } + $templateData += Get-ParametersFromRoot @putParametersInputObject + + # Get PATCH parameters (as the REST command actually always is Create or Update) + if ($specificationData.paths[$JSONKeyPath].patch) { + $putParametersInputObject = @{ + SpecificationData = $SpecificationData + RelevantParamRoot = $specificationData.paths[$JSONKeyPath].patch.parameters + JSONKeyPath = $JSONKeyPath + ResourceType = $ResourceType + } + $templateData += Get-ParametersFromRoot @putParametersInputObject + } + + # Filter duplicates + $filteredList = @() + foreach ($level in $templateData.Level | Select-Object -Unique) { + $filteredList += $templateData | Where-Object { $_.level -eq $level } | Sort-Object name -Unique + } + + return @{ + parameters = $filteredList + additionalParameters = @() + resources = @() + variables = @() + outputs = @() + } +} diff --git a/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 new file mode 100644 index 0000000000..1ac9756623 --- /dev/null +++ b/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 @@ -0,0 +1,75 @@ +<# +.SYNOPSIS +Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' + +.DESCRIPTION +Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' + +.PARAMETER SourceParameterObject +Mandatory. The source object to fetch the properties from + +.PARAMETER TargetObject +Mandatory. The target object to add the optional parameters to + +.EXAMPLE +Set-OptionalParameter -SourceParameterObject @{ minLength = 3; allowedValues = @('default') } -TargetObject @{ name = 'sampleObject' } + +Add any optional parameter defined in the given source object to the given target object. In this case, both the 'minLength' & 'allowedValues' properties would be added. In addition, the property 'default' is added, as the 'allowedValues' specify only one possible value. +#> +function Set-OptionalParameter { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [hashtable] $SourceParameterObject, + + [Parameter(Mandatory = $true)] + [hashtable] $TargetObject + ) + + # Allowed values + if ($SourceParameterObject.Keys -contains 'enum') { + $TargetObject['allowedValues'] = $SourceParameterObject.enum + + if ($SourceParameterObject.enum.count -eq 1) { + $TargetObject['default'] = $SourceParameterObject.enum[0] + } + } + + # Min Length + if ($SourceParameterObject.Keys -contains 'minLength') { + $TargetObject['minLength'] = $SourceParameterObject.minLength + } + + # Max Length + if ($SourceParameterObject.Keys -contains 'maxLength') { + $TargetObject['maxLength'] = $SourceParameterObject.maxLength + } + + # Min + if ($SourceParameterObject.Keys -contains 'minimum') { + $TargetObject['minValue'] = $SourceParameterObject.minimum + } + + # Max + if ($SourceParameterObject.Keys -contains 'maximum') { + $TargetObject['maxValue'] = $SourceParameterObject.maximum + } + + # Default value + if ($SourceParameterObject.Keys -contains 'default') { + $TargetObject['default'] = $SourceParameterObject.default + } + + # Pattern + if ($SourceParameterObject.Keys -contains 'pattern') { + $TargetObject['pattern'] = $SourceParameterObject.pattern + } + + # Secure + if ($SourceParameterObject.Keys -contains 'x-ms-secret') { + $TargetObject['secure'] = $SourceParameterObject.'x-ms-secret' + } + + return $TargetObject +} diff --git a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 similarity index 82% rename from utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 rename to utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index 4f1a3b3b3b..e9b0fb0978 100644 --- a/utilities/tools/REST2CARML/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -48,12 +48,6 @@ function Invoke-REST2CARML { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - # Load used functions - . (Join-Path $PSScriptRoot 'Get-ServiceSpecPathData.ps1') - . (Join-Path $PSScriptRoot 'Resolve-ModuleData.ps1') - . (Join-Path $PSScriptRoot 'Set-ModuleFileStructure.ps1') - . (Join-Path $PSScriptRoot 'Set-Module.ps1') - Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose $initialLocation = (Get-Location).Path @@ -64,22 +58,19 @@ function Invoke-REST2CARML { ######################################### ## Temp Clone API Specs Repository ## ######################################### - - $repoUrl = 'https://github.com/Azure/azure-rest-api-specs.git' + $repoUrl = $script:CONFIG.url_CloneRESTAPISpecRepository $repoName = Split-Path $repoUrl -LeafBase - $tempFolderName = 'temp' - $tempFolderPath = Join-Path $PSScriptRoot $tempFolderName # Clone repository ## Create temp folder - if (-not (Test-Path $tempFolderPath)) { - $null = New-Item -Path $tempFolderPath -ItemType 'Directory' + if (-not (Test-Path $script:temp)) { + $null = New-Item -Path $script:temp -ItemType 'Directory' } ## Switch to temp folder - Set-Location $tempFolderPath + Set-Location $script:temp ## Clone repository into temp folder - if (-not (Test-Path (Join-Path $tempFolderPath $repoName))) { + if (-not (Test-Path (Join-Path $script:temp $repoName))) { git clone --depth=1 --single-branch --branch=main --filter=tree:0 $repoUrl } else { Write-Verbose "Repository [$repoName] already cloned" @@ -94,7 +85,7 @@ function Invoke-REST2CARML { $getPathDataInputObject = @{ ProviderNamespace = $ProviderNamespace ResourceType = $ResourceType - RepositoryPath = Join-Path $tempFolderPath $repoName + RepositoryPath = Join-Path $script:temp $repoName IncludePreview = $IncludePreview } $pathData = Get-ServiceSpecPathData @getPathDataInputObject @@ -135,8 +126,8 @@ function Invoke-REST2CARML { ## Remove Artifacts ## ########################## if (-not $KeepArtifacts) { - Write-Verbose "Deleting folder [$tempFolderPath]" - $null = Remove-Item $tempFolderPath -Recurse -Force + Write-Verbose ('Deleting temp folder [{0}]' -f $script:temp) + $null = Remove-Item $script:temp -Recurse -Force } } } @@ -147,4 +138,4 @@ function Invoke-REST2CARML { } # Invoke-REST2CARML -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose -KeepArtifacts -Invoke-REST2CARML -ProviderNamespace 'Microsoft.AVS' -ResourceType 'privateClouds' -Verbose -KeepArtifacts +# Invoke-REST2CARML -ProviderNamespace 'Microsoft.AVS' -ResourceType 'privateClouds' -Verbose -KeepArtifacts From e01eef630af9d83872ea36396f76beab7b13efa8 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 23:33:10 +0200 Subject: [PATCH 071/130] Added documentation --- utilities/tools/REST2CARML/REST2CARML.psm1 | 1 - .../REST2CARML/private/specs/Get-FileList.ps1 | 41 +++++++++++++++++-- .../private/specs/Get-FolderList.ps1 | 35 ++++++++++++++-- .../private/specs/Get-ServiceSpecPathData.ps1 | 26 +++++++++++- .../REST2CARML/public/Invoke-REST2CARML.ps1 | 11 ++--- 5 files changed, 101 insertions(+), 13 deletions(-) diff --git a/utilities/tools/REST2CARML/REST2CARML.psm1 b/utilities/tools/REST2CARML/REST2CARML.psm1 index bdcf7e8335..ccdc3288bb 100644 --- a/utilities/tools/REST2CARML/REST2CARML.psm1 +++ b/utilities/tools/REST2CARML/REST2CARML.psm1 @@ -11,7 +11,6 @@ $script:moduleRoot = $PSScriptRoot $script:src = Join-Path $PSScriptRoot 'src' $script:temp = Join-Path $PSScriptRoot 'temp' - Write-Verbose 'Import everything in sub folders public & private' $functionFolders = @('public', 'private') foreach ($folder in $functionFolders) { diff --git a/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 index cda8379d79..68e39e802a 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 @@ -1,4 +1,39 @@ -function Get-FileList { +<# +.SYNOPSIS +Get a list of all API Spec files that are relevant for the given Provider Namespace & Resource Type. + +.DESCRIPTION +Get a list of all API Spec files that are relevant for the given Provider Namespace & Resource Type. + +Paths must contain: +- ProviderNamespace +- Resource-Manager +- API version +- Speicication JSON file +- Preview (if configured) + + +Paths must NOT contain +- Examples + +.PARAMETER RootFolder +Mandatory. The root folder to search from (recursively). + +.PARAMETER ProviderNamespace +Mandatory. The ProviderNsmespace to filter for. + +.PARAMETER ResourceType +Mandatory. The ResourceType to filter for. + +.PARAMETER IncludePreview +Optional. Consider preview versions + +.EXAMPLE +Get-FileList -RootFolder './temp/azure-rest-api-specs/specification' -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' + +Get the API spec files for [Microsoft.KeyVault/vaults]. +#> +function Get-FileList { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] @@ -11,7 +46,7 @@ [string] $ResourceType, [Parameter(Mandatory = $false)] - [bool] $IgnorePreview = $true + [switch] $IncludePreview ) $allFilePaths = (Get-ChildItem -Path $rootFolder -Recurse -File).FullName @@ -26,7 +61,7 @@ $filteredFilePaths = $filteredFilePaths | Where-Object { ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" } - if ($IgnorePreview) { + if (-not $IncludePreview) { $filteredFilePaths = $filteredFilePaths | Where-Object { ($_ -replace '\\', '/') -notlike '*/preview/*' } diff --git a/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 index ecaa17b204..7bef212728 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 @@ -1,20 +1,49 @@ -function Get-FolderList { +<# +.SYNOPSIS +Get a list of all API Spec folders that are relevant for the given Provider Namespace. + +.DESCRIPTION +Get a list of all API Spec folders that are relevant for the given Provider Namespace. + +Paths must contain: +- ProviderNamespace +- Resource-Manager +- Stable or Preview + +Paths must NOT contain +- Examples + +.PARAMETER RootFolder +Mandatory. The root folder to search from (recursively). + +.PARAMETER ProviderNamespace +Mandatory. The ProviderNsmespace to filter for. + +.EXAMPLE +Get-FolderList -RootFolder './temp/azure-rest-api-specs/specification' -ProviderNamespace 'Microsoft.KeyVault' + +Get all folders of the 'Microsoft.KeyVault' provider namespace that exist in the 'specifications' folder +#> +function Get-FolderList { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [string] $rootFolder, + [string] $RootFolder, [Parameter(Mandatory = $true)] [string] $ProviderNamespace ) - $allFolderPaths = (Get-ChildItem -Path $rootFolder -Recurse -Directory).FullName + $allFolderPaths = (Get-ChildItem -Path $RootFolder -Recurse -Directory).FullName Write-Verbose ('Fetched all [{0}] folder paths. Filtering...' -f $allFolderPaths.Count) # Filter $filteredFolderPaths = $allFolderPaths | Where-Object { ($_ -replace '\\', '/') -like '*/resource-manager/*' } + $filteredFilePaths = $filteredFilePaths | Where-Object { + ($_ -replace '\\', '/') -notlike '*/examples/*' + } $filteredFolderPaths = $filteredFolderPaths | Where-Object { ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" } diff --git a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 index c21434b0a2..aa2302fd34 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 @@ -1,4 +1,28 @@ -function Get-ServiceSpecPathData { +<# +.SYNOPSIS +Get the latest API spec file path & service path (in file) for a given ProviderNamespace - ResourceType combination. + +.DESCRIPTION +Get the latest API spec file path & service path (in file) for a given ProviderNamespace - ResourceType combination. + +.PARAMETER ProviderNamespace +Mandatory. The provider namespace to query the data for + +.PARAMETER ResourceType +Mandatory. The resource type to query the data for + +.PARAMETER RepositoryPath +Mandatory. The path of the cloned/downloaded API Specs repository + +.PARAMETER IncludePreview +Optional. Set to also consider 'preview' versions for the request. + +.EXAMPLE +Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' -RepositoryPath './temp/azure-rest-api-specs' -IncludePreview + +Get the latest API spec file path & service path for the resource type [Microsoft.KeyVault/vaults] - including the latest preview version (if any) +#> +function Get-ServiceSpecPathData { [CmdletBinding()] param ( diff --git a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index e9b0fb0978..fa98e057d9 100644 --- a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -23,10 +23,15 @@ Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' Generate/Update a CARML module for [Microsoft.Keyvault/vaults] +.EXAMPLE +Invoke-REST2CARML -ProviderNamespace 'Microsoft.AVS' -ResourceType 'privateClouds' -Verbose -KeepArtifacts + +Generate/Update a CARML module for [Microsoft.AVS/privateClouds] and do not delete any downloaded/cloned artifact. + .EXAMPLE Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' -KeepArtifacts -Generate/Update a CARML module for [Microsoft.Keyvault/vaults] and do not download any downloaded/cloned artifact. +Generate/Update a CARML module for [Microsoft.Keyvault/vaults] and do not delete any downloaded/cloned artifact. #> function Invoke-REST2CARML { @@ -118,7 +123,6 @@ function Invoke-REST2CARML { if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-Module @moduleTemplateInputObject } - } catch { throw $_ } finally { @@ -136,6 +140,3 @@ function Invoke-REST2CARML { Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) } } - -# Invoke-REST2CARML -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose -KeepArtifacts -# Invoke-REST2CARML -ProviderNamespace 'Microsoft.AVS' -ResourceType 'privateClouds' -Verbose -KeepArtifacts From c1fdf7549b4bbb7f6542c28e8a8b75b2fd72f732 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 23:46:49 +0200 Subject: [PATCH 072/130] Added documentation --- .../module/Get-FormattedModuleParameter.ps1 | 17 ++++++++++- .../REST2CARML/private/module/Set-Module.ps1 | 29 ++++++++++++++++++- .../private/shared/Get-TargetScope.ps1 | 17 ++++++++++- .../REST2CARML/private/specs/Get-FileList.ps1 | 3 ++ 4 files changed, 63 insertions(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index a5b85d150e..22f22e331b 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -1,4 +1,19 @@ -function Get-FormattedModuleParameter { +<# +.SYNOPSIS +Convert the given Parameter Data object into a formatted Bicep parameter block. + +.DESCRIPTION +Convert the given Parameter Data object into a formatted Bicep parameter block. The result is returned as an array of parameter block lines. + +.PARAMETER ParameterData +Mandatory. The Parameter Data to convert. + +.EXAMPLE +Get-FormattedModuleParameter -ParameterData @{ name = 'myParam'; type = 'string'; (...) } + +Convert the given 'myParam' parameter into the Bicep format. +#> +function Get-FormattedModuleParameter { param ( [Parameter(Mandatory = $true)] diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index 4bd2a20a7f..5cde8d557d 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -1,4 +1,31 @@ -function Set-Module { +<# +.SYNOPSIS +Update the module's files with the provided module data including added extension resources data. + +.DESCRIPTION +Update the module's files with the provided module data including added extension resources data (i.e., RBAC, Diagnostic Settings, Private Endpoints, etc.). + +.PARAMETER ProviderNamespace +Mandatory. The ProviderNamespace to update the template for. + +.PARAMETER ResourceType +Mandatory. The ResourceType to update the template for. + +.PARAMETER ModuleData +Mandatory. The module data (e.g. parameters) to add to the template. + +.PARAMETER JSONFilePath +Mandatory. The service specification file to process. + +.PARAMETER JSONKeyPath +Mandatory. The API Path in the JSON specification file to process + +.EXAMPLE +Set-Module -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' + +Update the module [Microsoft.KeyVault/vaults] with the provided module data. +#> +function Set-Module { [CmdletBinding(SupportsShouldProcess)] param ( diff --git a/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 index 7d0b9e4122..2b93da80e5 100644 --- a/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 +++ b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 @@ -1,4 +1,19 @@ -function Get-TargetScope { +<# +.SYNOPSIS +Get the target scope (bicep) of a given key path. + +.DESCRIPTION +Get the target scope (bicep) of a given key path. For example 'resourceGroup'. + +.PARAMETER JSONKeyPath +Mandatory. The key path to check for its scope. + +.EXAMPLE +Get-TargetScope -JSONKeyPath 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' + +Check the given KeyPath for its scope. Would return 'resourceGroup'. +#> +function Get-TargetScope { [CmdletBinding()] param ( diff --git a/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 index 68e39e802a..8e670df886 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 @@ -34,6 +34,7 @@ Get-FileList -RootFolder './temp/azure-rest-api-specs/specification' -ProviderNa Get the API spec files for [Microsoft.KeyVault/vaults]. #> function Get-FileList { + [CmdletBinding()] param ( [Parameter(Mandatory = $true)] @@ -49,6 +50,8 @@ function Get-FileList { [switch] $IncludePreview ) + # TODO: Is this file intended to be used anywhere? + $allFilePaths = (Get-ChildItem -Path $rootFolder -Recurse -File).FullName Write-Verbose ('Fetched all [{0}] file paths. Filtering...' -f $allFilePaths.Count) -Verbose # Filter From ba2db7e31b7579bb784e07d820c3a0391f364104 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 23:49:05 +0200 Subject: [PATCH 073/130] Added documentation --- .../private/module/Set-ModuleTemplate.ps1 | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 7d1e281028..7250b00c7b 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -1,4 +1,29 @@ -function Set-ModuleTemplate { +<# +.SYNOPSIS +Update the module's primary template (deploy.bicep) as per the provided module data. + +.DESCRIPTION +Update the module's primary template (deploy.bicep) as per the provided module data. + +.PARAMETER ProviderNamespace +Mandatory. The ProviderNamespace to update the template for. + +.PARAMETER ResourceType +Mandatory. The ResourceType to update the template for. + +.PARAMETER ModuleData +Mandatory. The module data (e.g. parameters) to add to the template. + +.PARAMETER JSONFilePath +Mandatory. The service specification file to process. + +.PARAMETER JSONKeyPath +Mandatory. The API Path in the JSON specification file to process + +.EXAMPLE +Set-ModuleTemplate +#> +function Set-ModuleTemplate { [CmdletBinding(SupportsShouldProcess)] param ( From 7758852b370f411cd60e1f4235d5fdbe3baecb34 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 23:49:23 +0200 Subject: [PATCH 074/130] Added documentation --- .../tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 7250b00c7b..cdfe8997cd 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -21,7 +21,9 @@ Mandatory. The service specification file to process. Mandatory. The API Path in the JSON specification file to process .EXAMPLE -Set-ModuleTemplate +Set-ModuleTemplate -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' + +Update the module [Microsoft.KeyVault/vaults] with the provided module data. #> function Set-ModuleTemplate { From 708f4d189dee15a9648f2d42b3ee56304fdaa64c Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 23 Sep 2022 23:52:59 +0200 Subject: [PATCH 075/130] Update to latest --- utilities/tools/REST2CARML/readme.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 utilities/tools/REST2CARML/readme.md diff --git a/utilities/tools/REST2CARML/readme.md b/utilities/tools/REST2CARML/readme.md new file mode 100644 index 0000000000..7109311b6f --- /dev/null +++ b/utilities/tools/REST2CARML/readme.md @@ -0,0 +1,7 @@ + +# Usage +- Import the module using the command `Import-Module './utilities/tools/REST2CARML/REST2CARML.psm1' -Force -Verbose` +- Invoke its primary function using the command `Invoke-REST2CARML -ProviderNamespace '' -ResourceType '' -Verbose -KeepArtifacts` +- For repeated runs it is recommended to append the `-KeepArtifacts` parameter as the function will otherwise repeatably download & eventually delete the required documentation + +# TODO: Fill From 67f44ef43ebd66e49be779d87b44f0163225013d Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sun, 25 Sep 2022 12:29:35 +0200 Subject: [PATCH 076/130] Update to latest --- utilities/tools/REST2CARML/readme.md | 31 ++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/utilities/tools/REST2CARML/readme.md b/utilities/tools/REST2CARML/readme.md index 7109311b6f..a3148f49e0 100644 --- a/utilities/tools/REST2CARML/readme.md +++ b/utilities/tools/REST2CARML/readme.md @@ -1,7 +1,34 @@ +# REST to CARML -# Usage +This module provides you with the ability to generate most of a CARML module's code by providing it with the desired Provider-Namespace / Resource-Type combination. + +> **_NOTE:_** This module will not generate all the code required for a CARML module, but only a large portion of it. As the Azure API is not 100% consistent, generated modules may still require manual refactoring (e.g. by introducing variables) or may contain errors. Further, while the expected test files & folders are generated, they are not populated with content as the utility would otherwise need to know how to all required dependencies too. + +### _Navigation_ + +- [Usage](#usage) +- [In-scope](#in-scope) +- [Out-of-scope](#out-of-scope) + +--- + + +## Usage - Import the module using the command `Import-Module './utilities/tools/REST2CARML/REST2CARML.psm1' -Force -Verbose` - Invoke its primary function using the command `Invoke-REST2CARML -ProviderNamespace '' -ResourceType '' -Verbose -KeepArtifacts` - For repeated runs it is recommended to append the `-KeepArtifacts` parameter as the function will otherwise repeatably download & eventually delete the required documentation -# TODO: Fill +# In scope + +- Module itself with parameters, resource & outputs +- Azure DevOps pipeline & GitHub workflow +- Extension code such as + - Diagnostic Settings + - RBAC + - Locks + - Private Endpoints + +# Out of scope + +- Child-Modules: Generate not only the module's code, but also that of it's children and reference them in their parent (**_can be implemented later_**). +- Idempotency: Run the module on existing code without overwriting any un-related content (**_can be implemented later_**). From ee36c256bfae12e389e6b5bde1d642b5af26399b Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sun, 25 Sep 2022 12:42:35 +0200 Subject: [PATCH 077/130] Added docs --- .../extension/Set-DiagnosticModuleData.ps1 | 23 +++++++++++++++- .../private/extension/Set-LockModuleData.ps1 | 21 +++++++++++++++ .../Set-PrivateEndpointModuleData.ps1 | 23 +++++++++++++++- .../Set-RoleAssignmentsModuleData.ps1 | 27 +++++++++++++++++++ 4 files changed, 92 insertions(+), 2 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index b338c6c214..5941fcc2c9 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -1,4 +1,25 @@ -function Set-DiagnosticModuleData { +<# +.SYNOPSIS +Populate the provided ModuleData with all parameters, variables & resources required for diagnostic settings. + +.DESCRIPTION +Populate the provided ModuleData with all parameters, variables & resources required for diagnostic settings. + +.PARAMETER ProviderNamespace +Mandatory. The ProviderNamespace to fetch the available diagnostic options for. + +.PARAMETER ResourceType +Mandatory. The ResourceType to fetch the available diagnostic options for. + +.PARAMETER ModuleData +Mandatory. The ModuleData object to populate. + +.EXAMPLE +Set-DiagnosticModuleData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } + +Add the diagnostic module data of the resource type [Microsoft.KeyVault/vaults] to the provided module data object +#> +function Set-DiagnosticModuleData { [CmdletBinding()] param ( diff --git a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index 2f07dfe63f..e7d670ed55 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -1,3 +1,24 @@ +<# +.SYNOPSIS +Populate the provided ModuleData with all parameters, variables & resources required for locks. + +.DESCRIPTION +Populate the provided ModuleData with all parameters, variables & resources required for locks. + +.PARAMETER JSONKeyPath +Mandatory. The JSON key path (of the API Specs) to use when determining if locks are supported or not + +.PARAMETER ResourceType +Mandatory. The resource type to check if lock are supported. + +.PARAMETER ModuleData +Mandatory. The ModuleData object to populate. + +.EXAMPLE +Set-LockModuleData -JSONKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } + +Add the lock module data of the resource type [vaults] to the provided module data object +#> function Set-LockModuleData { [CmdletBinding()] diff --git a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 index fcdf68c20d..fa86d027ba 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 @@ -1,4 +1,25 @@ -function Set-PrivateEndpointModuleData { +<# +.SYNOPSIS +Populate the provided ModuleData with all parameters, variables & resources required for private endpoints. + +.DESCRIPTION +Populate the provided ModuleData with all parameters, variables & resources required for private endpoints. + +.PARAMETER JSONFilePath +Mandatory. The path to the API Specs file to use to check if private endpoints are supported. + +.PARAMETER ResourceType +Mandatory. The resource type to check if private endpoints are supported. + +.PARAMETER ModuleData +Mandatory. The ModuleData object to populate. + +.EXAMPLE +Set-PrivateEndpointModuleData -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } + +Add the private endpoint module data of the resource type [vaults] to the provided module data object +#> +function Set-PrivateEndpointModuleData { [CmdletBinding()] param ( diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 1066d6dcce..7dea01634a 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -1,3 +1,30 @@ +<# +.SYNOPSIS +Fetch all available roles for a given resource type, generate the corresponding nested_roleAssignment.bicep file in the given module path & add any additional required parameters, variables & resources to the provide module data object. + +.DESCRIPTION +Fetch all available roles for a given resource type, generate the corresponding nested_roleAssignment.bicep file in the given module path & add any additional required parameters, variables & resources to the provide module data object. + +.PARAMETER ProviderNamespace +Mandatory. The ProviderNamespace to fetch the available role options for. + +.PARAMETER ResourceType +Mandatory. The ResourceType to fetch the available role options for. + +.PARAMETER ServiceApiVersion +Mandatory. The API version of the module to generate the RBAC module file for + +.PARAMETER ModuleData +Mandatory. The ModuleData object to populate. + +.PARAMETER ModuleRootPath +Mandatory. The path to the generated module to add the RBAC module file to. + +.EXAMPLE +Set-RoleAssignmentsModuleData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ServiceApiVersion '10-10-2022' -ModuleData @{ parameters = @(...); resources = @(...); (...) } -ModuleRootPath 'C:/ResourceModules/modules/Microsoft.KeyVault/vaults' + +Generate the nested_roleAssignment.bicep file in the [Microsoft.KeyVault/vaults]'s module path and add any additional required data to the provided module data object. +#> function Set-RoleAssignmentsModuleData { [CmdletBinding(SupportsShouldProcess)] From 508152674553d2a7138b93b7072e3767576103fd Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 30 Sep 2022 22:08:45 +0200 Subject: [PATCH 078/130] Updated role assignment func --- .../extension/Get-RoleAssignmentsList.ps1 | 35 ++++++++++++++++--- .../Set-RoleAssignmentsModuleData.ps1 | 2 +- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 index db3133b95c..ec7181b66c 100644 --- a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 @@ -9,18 +9,23 @@ Leverges Microsoft Docs's [https://learn.microsoft.com/en-us/powershell/module/a .PARAMETER ProviderNamespace Mandatory. The Provider Namespace to fetch the role definitions for +.PARAMETER ResourceType +Mandatory. The ResourceType to fetch the role definitions for + .EXAMPLE -Get-RoleAssignmentsList -ProviderNamespace 'Microsoft.KeyVault' +Get-RoleAssignmentsList -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -Fetch all available Role Definitions for ProviderNamespace [Microsoft.KeyVault] +Fetch all available Role Definitions for ProviderNamespace [Microsoft.KeyVault/vaults] #> function Get-RoleAssignmentsList { [CmdletBinding()] param( [Parameter(Mandatory)] - [string] $ProviderNamespace + [string] $ProviderNamespace, + [Parameter(Mandatory)] + [string] $ResourceType ) begin { @@ -32,9 +37,29 @@ function Get-RoleAssignmentsList { ################# ## Get Roles ## ################# - $roleDefinitions = Get-AzRoleDefinition | Where-Object { !$_.IsCustom -and ($_.Actions -match $ProviderNamespace -or $_.DataActions -match $ProviderNamespace -or $_.Actions -like '`**') } | Select-Object Name, Id | ConvertTo-Json | ConvertFrom-Json + $roles = Get-AzRoleDefinition + + # Filter Custom Roles + $roleDefinitions = $roles | Where-Object { -not $_.IsCustom } + + $relevantRoles = [System.Collections.ArrayList]@() + + # Filter Action based + $relevantRoles += $roleDefinitions | Where-Object { + $_.Actions -like "$ProviderNamespace/$ResourceType/*" -or + $_.Actions -like "$ProviderNamespace/`**" -or + $_.Actions -like '`**' + } + + # Filter Data Action based + $relevantRoles += $roleDefinitions | Where-Object { + $_.DataActions -like "$ProviderNamespace/$ResourceType/*" -or + $_.DataActions -like "$ProviderNamespace/`**" -or + $_.DataActions -like '`**' + } + $resBicep = [System.Collections.ArrayList]@() - foreach ($role in $roleDefinitions | Sort-Object -Property name) { + foreach ($role in $relevantRoles | Sort-Object -Property 'Name' -Unique) { $roleName = $role.Name $roleId = $role.Id $resBicep += "'$roleName': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '$roleId')" diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 7dea01634a..b9031288f7 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -61,7 +61,7 @@ function Set-RoleAssignmentsModuleData { apiVersion = $ServiceApiVersion } - $roleAssignmentList = Get-RoleAssignmentsList -ProviderNamespace $ProviderNamespace + $roleAssignmentList = Get-RoleAssignmentsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType if (-not $roleAssignmentList) { return From 1a3539c5f379f117ec02255fdf6902a73d10da89 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 1 Oct 2022 13:10:59 +0200 Subject: [PATCH 079/130] Small update to custom roles utilty --- .../extension/Get-RoleAssignmentsList.ps1 | 31 +++++++++++++------ .../Set-RoleAssignmentsModuleData.ps1 | 4 +-- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 index ec7181b66c..ca196f0ee4 100644 --- a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 @@ -12,20 +12,26 @@ Mandatory. The Provider Namespace to fetch the role definitions for .PARAMETER ResourceType Mandatory. The ResourceType to fetch the role definitions for +.PARAMETER IncludeCustomRoles +Optional. Whether to include custom roles or not + .EXAMPLE Get-RoleAssignmentsList -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -Fetch all available Role Definitions for ProviderNamespace [Microsoft.KeyVault/vaults] +Fetch all available Role Definitions for ProviderNamespace [Microsoft.KeyVault/vaults], excluding custom roles #> function Get-RoleAssignmentsList { [CmdletBinding()] param( - [Parameter(Mandatory)] + [Parameter(Mandatory = $false)] [string] $ProviderNamespace, - [Parameter(Mandatory)] - [string] $ResourceType + [Parameter(Mandatory = $false)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [switch] $IncludeCustomRoles ) begin { @@ -37,10 +43,12 @@ function Get-RoleAssignmentsList { ################# ## Get Roles ## ################# - $roles = Get-AzRoleDefinition + $roleDefinitions = Get-AzRoleDefinition # Filter Custom Roles - $roleDefinitions = $roles | Where-Object { -not $_.IsCustom } + if (-not $IncludeCustomRoles) { + $roleDefinitions = $roleDefinitions | Where-Object { -not $_.IsCustom } + } $relevantRoles = [System.Collections.ArrayList]@() @@ -59,13 +67,16 @@ function Get-RoleAssignmentsList { } $resBicep = [System.Collections.ArrayList]@() + $resArm = [System.Collections.ArrayList]@() foreach ($role in $relevantRoles | Sort-Object -Property 'Name' -Unique) { - $roleName = $role.Name - $roleId = $role.Id - $resBicep += "'$roleName': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '$roleId')" + $resBicep += "'{0}': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','{1}')" -f $role.Name, $role.Id + $resArm += "`"{0}`": `"[subscriptionResourceId('Microsoft.Authorization/roleDefinitions','{1}')]`"," -f $role.Name, $role.Id } - return $resBicep + return @{ + bicepFormat = $resBicep + armFormat = $resArm + } } end { diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index b9031288f7..5d837a5c62 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -63,7 +63,7 @@ function Set-RoleAssignmentsModuleData { $roleAssignmentList = Get-RoleAssignmentsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - if (-not $roleAssignmentList) { + if (-not $roleAssignmentList.bicepFormat) { return } @@ -105,7 +105,7 @@ function Set-RoleAssignmentsModuleData { $preRolesContent = ($fileContent -split '<>')[0].Trim() -split '\n' | ForEach-Object { $_.TrimEnd() } $postRolesContent = ($fileContent -split '<>')[1].Trim() -split '\n' | ForEach-Object { $_.TrimEnd() } ## Add roles - $fileContent = $preRolesContent.TrimEnd() + ($roleAssignmentList | ForEach-Object { " $_" }) + $postRolesContent + $fileContent = $preRolesContent.TrimEnd() + ($roleAssignmentList.bicepFormat | ForEach-Object { " $_" }) + $postRolesContent # Set content $roleTemplateFilePath = Join-Path $ModuleRootPath '.bicep' 'nested_roleAssignments.bicep' From 729ad328e00c3f7ff255e33755373513788ee69d Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Sun, 23 Oct 2022 18:15:31 +0200 Subject: [PATCH 080/130] [Utilities] Enabled API Specs Child-Resource fetch (#2248) * Updated to latest api specs logic (i.e., can fetch children) * Cleanup * Update to latest * Update to latest * Update to latest * Update to latest * Update to latest * Update to latest * Minor update * Changed ref --- .../private/extension/Get-SupportsLock.ps1 | 10 +- .../private/extension/Set-LockModuleData.ps1 | 8 +- .../module/Get-FormattedModuleParameter.ps1 | 3 +- .../REST2CARML/private/module/Set-Module.ps1 | 10 +- .../private/module/Set-ModuleTemplate.ps1 | 8 +- .../private/shared/Get-TargetScope.ps1 | 8 +- .../private/specs/Get-ServiceSpecPathData.ps1 | 236 +- .../specs/Get-ServiceSpecPathDataChildRes.ps1 | 78 - ...=> Get-SpecsPropertiesAsParameterList.ps1} | 75 +- .../specs/Get-SpecsPropertyAsParameter.ps1 | 234 + .../private/specs/Resolve-ModuleData.ps1 | 32 +- .../specs/Resolve-SpecPropertyReference.ps1 | 89 + .../public/Get-AzureApiSpecsData.ps1 | 105 + .../REST2CARML/public/Invoke-REST2CARML.ps1 | 43 +- .../REST2CARML/temp/azure-rest-api-specs | 1 - .../tools/REST2CARML/temp/diagnosticLogs.md | 1245 ------ .../REST2CARML/temp/diagnosticMetrics.md | 3884 ----------------- 17 files changed, 635 insertions(+), 5434 deletions(-) delete mode 100644 utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathDataChildRes.ps1 rename utilities/tools/REST2CARML/private/specs/{Get-ParametersFromRoot.ps1 => Get-SpecsPropertiesAsParameterList.ps1} (65%) create mode 100644 utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 create mode 100644 utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 create mode 100644 utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 delete mode 160000 utilities/tools/REST2CARML/temp/azure-rest-api-specs delete mode 100644 utilities/tools/REST2CARML/temp/diagnosticLogs.md delete mode 100644 utilities/tools/REST2CARML/temp/diagnosticMetrics.md diff --git a/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 b/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 index f3160d436a..924a95b43e 100644 --- a/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 @@ -5,14 +5,14 @@ Check if the given service specification supports resource locks .DESCRIPTION Check if the given service specification supports resource locks -.PARAMETER JSONKeyPath +.PARAMETER UrlPath Mandatory. The file path to the service specification to check .PARAMETER ProvidersToIgnore Optional. Providers to ignore because they fundamentally don't support locks (e.g. 'Microsoft.Authorization') .EXAMPLE -Get-SupportsLock -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' +Get-SupportsLock -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' Check if the storage service supports locks. #> @@ -22,7 +22,7 @@ function Get-SupportsLock { [OutputType('System.Boolean')] param ( [Parameter(Mandatory = $true)] - [string] $JSONKeyPath, + [string] $UrlPath, [Parameter(Mandatory = $false)] [array] $ProvidersToIgnore = @('Microsoft.Authorization') @@ -36,12 +36,12 @@ function Get-SupportsLock { # If the Specification URI contains any of the namespaces to ignore, no Lock is supported foreach ($ProviderToIgnore in $ProvidersToIgnore) { - if ($JSONKeyPath.Contains($ProviderToIgnore)) { + if ($UrlPath.Contains($ProviderToIgnore)) { return $false } } - return ($JSONKeyPath -split '\/').Count -le 9 + return ($UrlPath -split '\/').Count -le 9 } end { diff --git a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index e7d670ed55..b876260a16 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -5,7 +5,7 @@ Populate the provided ModuleData with all parameters, variables & resources requ .DESCRIPTION Populate the provided ModuleData with all parameters, variables & resources required for locks. -.PARAMETER JSONKeyPath +.PARAMETER UrlPath Mandatory. The JSON key path (of the API Specs) to use when determining if locks are supported or not .PARAMETER ResourceType @@ -15,7 +15,7 @@ Mandatory. The resource type to check if lock are supported. Mandatory. The ModuleData object to populate. .EXAMPLE -Set-LockModuleData -JSONKeyPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } +Set-LockModuleData -UrlPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } Add the lock module data of the resource type [vaults] to the provided module data object #> @@ -24,7 +24,7 @@ function Set-LockModuleData { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [string] $JSONKeyPath, + [string] $UrlPath, [Parameter(Mandatory = $true)] [string] $ResourceType, @@ -41,7 +41,7 @@ function Set-LockModuleData { $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType - if (-not (Get-SupportsLock -JSONKeyPath $JSONKeyPath)) { + if (-not (Get-SupportsLock -UrlPath $UrlPath)) { return } diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index 22f22e331b..67a0d3482d 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -25,7 +25,8 @@ function Get-FormattedModuleParameter { # description (optional) # ---------------------- if ($ParameterData.description) { - $result += "@description('{0}. {1}')" -f (($ParameterData.required) ? 'Required' : 'Optional'), $ParameterData.description + # For the description we have to escape any single quote that is not already escaped (i.e., negative lookbehind) + $result += "@description('{0}. {1}')" -f (($ParameterData.required) ? 'Required' : 'Optional'), ($ParameterData.description -replace "(? @@ -42,7 +42,7 @@ function Set-Module { [string] $JSONFilePath, [Parameter(Mandatory = $true)] - [string] $JSONKeyPath + [string] $UrlPath ) begin { @@ -89,7 +89,7 @@ function Set-Module { ## Set Locks data $lockInputObject = @{ - JSONKeyPath = $JSONKeyPath + urlPath = $UrlPath ResourceType = $ResourceType ModuleData = $ModuleData } @@ -104,7 +104,7 @@ function Set-Module { ResourceType = $ResourceType ModuleData = $ModuleData JSONFilePath = $JSONFilePath - JSONKeyPath = $JSONKeyPath + urlPath = $UrlPath } Set-ModuleTemplate @moduleTemplateContentInputObject diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index cdfe8997cd..389ce9090d 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -17,11 +17,11 @@ Mandatory. The module data (e.g. parameters) to add to the template. .PARAMETER JSONFilePath Mandatory. The service specification file to process. -.PARAMETER JSONKeyPath +.PARAMETER UrlPath Mandatory. The API Path in the JSON specification file to process .EXAMPLE -Set-ModuleTemplate -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +Set-ModuleTemplate -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' Update the module [Microsoft.KeyVault/vaults] with the provided module data. #> @@ -42,7 +42,7 @@ function Set-ModuleTemplate { [string] $JSONFilePath, [Parameter(Mandatory = $true)] - [string] $JSONKeyPath + [string] $UrlPath ) begin { @@ -59,7 +59,7 @@ function Set-ModuleTemplate { ## PARAMETERS ## ################## - $targetScope = Get-TargetScope -JSONKeyPath $JSONKeyPath + $targetScope = Get-TargetScope -UrlPath $UrlPath $templateContent = @( "targetScope = '{0}'" -f $targetScope diff --git a/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 index 2b93da80e5..03c2845458 100644 --- a/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 +++ b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 @@ -5,11 +5,11 @@ Get the target scope (bicep) of a given key path. .DESCRIPTION Get the target scope (bicep) of a given key path. For example 'resourceGroup'. -.PARAMETER JSONKeyPath +.PARAMETER UrlPath Mandatory. The key path to check for its scope. .EXAMPLE -Get-TargetScope -JSONKeyPath 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +Get-TargetScope -UrlPath 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' Check the given KeyPath for its scope. Would return 'resourceGroup'. #> @@ -18,10 +18,10 @@ function Get-TargetScope { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [string] $JSONKeyPath + [string] $UrlPath ) - switch ($JSONKeyPath) { + switch ($UrlPath) { { $PSItem -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*' } { return 'resourceGroup' } { $PSItem -like '/subscriptions/{subscriptionId}/*' } { return 'subscription' } { $PSItem -like 'providers/Microsoft.Management/managementGroups/*' } { return 'managementGroup' } diff --git a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 index aa2302fd34..b53e72c23d 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 @@ -1,9 +1,9 @@ <# .SYNOPSIS -Get the latest API spec file path & service path (in file) for a given ProviderNamespace - ResourceType combination. +Get the latest API spec file paths & service/url-PUT paths (in file) for a given ProviderNamespace - ResourceType combination. This includes also child-resources. .DESCRIPTION -Get the latest API spec file path & service path (in file) for a given ProviderNamespace - ResourceType combination. +Get the latest API spec file path & service/url-PUT path (in file) for a given ProviderNamespace - ResourceType combination. This includes also child-resources. .PARAMETER ProviderNamespace Mandatory. The provider namespace to query the data for @@ -20,7 +20,29 @@ Optional. Set to also consider 'preview' versions for the request. .EXAMPLE Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' -RepositoryPath './temp/azure-rest-api-specs' -IncludePreview -Get the latest API spec file path & service path for the resource type [Microsoft.KeyVault/vaults] - including the latest preview version (if any) +Get the latest API spec file path & service path for the resource type [Microsoft.KeyVault/vaults] - including the latest preview version (if any). Would return (without the JSON format): +[ + { + "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}", + "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keys.json" + }, + { + "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}", + "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json" + }, + { + "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", + "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json" + }, + { + "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}", + "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json" + }, + { + "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/secrets.json" + } +] #> function Get-ServiceSpecPathData { @@ -39,148 +61,102 @@ function Get-ServiceSpecPathData { [switch] $IncludePreview ) - try { - #find the resource provider folder - $resourceProviderFolders = Get-FolderList -rootFolder (Join-Path $RepositoryPath 'specification') -ProviderNamespace $ProviderNamespace - - $resultArr = @() - foreach ($resourceProviderFolder in $resourceProviderFolders) { - Write-Verbose ('Processing Resource provider folder [{0}]' -f $resourceProviderFolder) - # TODO: Get highest API version (preview/non-preview) - $apiVersionFoldersArr = @() - if (Test-Path -Path $(Join-Path $resourceProviderFolder 'stable')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'stable') } - if ($IncludePreview) { - # adding preview API versions if allowed - if (Test-Path -Path $(Join-Path $resourceProviderFolder 'preview')) { $apiVersionFoldersArr += Get-ChildItem -Path $(Join-Path $resourceProviderFolder 'preview') } - } + #find the resource provider folder + $resourceProviderFolders = Get-FolderList -rootFolder (Join-Path $RepositoryPath 'specification') -ProviderNamespace $ProviderNamespace - # sorting all API version from the newest to the oldest - $apiVersionFoldersArr = $apiVersionFoldersArr | Sort-Object -Property Name -Descending - if ($apiVersionFoldersArr.Count -eq 0) { - Write-Warning ('No API folder found in folder [{0}]' -f $resourceProviderFolder) - continue - } + $pathData = @() + foreach ($resourceProviderFolder in $resourceProviderFolders) { + Write-Verbose ('Processing Resource provider folder [{0}]' -f $resourceProviderFolder) + $apiVersionFolders = @() - foreach ($apiversionFolder in $apiVersionFoldersArr) { - $putMethods = @() - foreach ($jsonFile in $(Get-ChildItem -Path $apiversionFolder -Filter *.json)) { - $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths - $jsonPaths.PSObject.Properties | ForEach-Object { - $put = $_.value.put - # if ($_.Name -contains $ResourceType) { - # Write-Verbose ('File: [{0}], API: [{1}] JsonKeyPath: [{2}]' -f $jsonFile.Name, $apiversionFolder.Name, $_.Name) -Verbose - # } - if ($put) { - $pathSplit = $_.Name.Split('/') - if (($pathSplit[$pathSplit.Count - 3] -eq $ProviderNamespace) -and ($pathSplit[$pathSplit.Count - 2] -eq $ResourceType)) { - $arrItem = [pscustomobject] @{} - $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFilePath' -Value $jsonFile.FullName - $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name - # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put - $putMethods += $arrItem - } - } - } - } - if ($putMethods.Count -gt 0) { break } # no scanning of older API folders if a put method already found + $stablePath = Join-Path $resourceProviderFolder 'stable' + if (Test-Path -Path $stablePath) { + $apiVersionFolders += (Get-ChildItem -Path $stablePath).FullName + } + if ($IncludePreview) { + # adding preview API versions + $previewPath = Join-Path $resourceProviderFolder 'preview' + if (Test-Path -Path $previewPath) { + $apiVersionFolders += (Get-ChildItem -Path $previewPath).FullName } - $resultArr += $putMethods # adding result of this provider folder to the overall result array } - } catch { - Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" - return -2 - } - - try { - Set-Location $initialLocation - - ## Remove temp folder again - # $null = Remove-Item $tempFolderPath -Recurse -Force - if ($resultArr.Count -ge 1) { - return $resultArr - } else { - Write-Error 'No results found' - return $resultArr + # sorting all API version from the newest to the oldest + $apiVersionFolders = $apiVersionFolders | Sort-Object -Descending + if ($apiVersionFolders.Count -eq 0) { + Write-Warning ('No API folder found in folder [{0}]' -f $resourceProviderFolder) + continue } - } catch { - Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" - return -2 - } -} - -# Example call for further processing -# $result = Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' | Format-List -# $result | Format-List - -# Kris: the below code is for debugging only and will be deleted later. -## It is commented out and doesn't run, so it can be ignored - -# test function calls -# two examples of working calls for testing -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Compute' -ResourceType 'virtualMachines' | Format-List - -# working, multiple results -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'locks' | Format-List # no results, special case -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyDefinitions' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policySetDefinitions' | Format-List - -# no results (different ResourceId schema, to be repaired) -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Resources' -ResourceType 'resourceGroups' | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Security' -ResourceType 'azureSecurityCenter' | Format-List - -# working with preview only -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Authorization' -ResourceType 'policyExemptions' -IncludePreview | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Insights' -ResourceType 'privateLinkScopes' -IncludePreview | Format-List -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.OperationsManagement' -ResourceType 'solutions' -IncludePreview | Format-List - -# working. If run without preview, returning one result, with preview: four results -# Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Insights' -ResourceType 'diagnosticSettings' -IncludePreview | Format-List + # Get one unique instance of each file - with 'newer' files taking priority + $specFilePaths = [System.Collections.ArrayList]@() + foreach ($apiVersionFolder in $apiVersionFolders) { + $filePaths = (Get-ChildItem $apiVersionFolder -Filter '*.json').FullName | Where-Object { (Split-Path $_ -Leaf) -notin @('common.json') } + $alreadyIncludedFileNames = $specFilePaths | ForEach-Object { Split-Path $_ -LeafBase } + foreach ($filePath in ($filePaths | Where-Object { (Split-Path $_ -LeafBase) -notin @($alreadyIncludedFileNames) })) { + $specFilePaths += $filePath + } + } + # Of those paths, get only those that contain a 'put' statement + foreach ($specFilePath in $specFilePaths) { -# running the function against the CARML modules folder -# to collect some statistics. -# It requires some modifications of the function Get-ServiceSpecPathData, so please don't use it. -# below code is temporary and will be deleted later -# exit # protecting from unnecessary run -# $carmlModulesRoot = Join-Path $PSScriptRoot '..' '..' '..' 'modules' -# $resArray = @() -# foreach ($providerFolder in $(Get-ChildItem -Path $carmlModulesRoot -Filter 'Microsoft.*')) { -# foreach ($resourceFolder in $(Get-ChildItem -Path $(Join-Path $carmlModulesRoot $providerFolder.Name) -Directory)) { -# Write-Host ('Processing [{0}/{1}]...' -f $providerFolder.Name, $resourceFolder.Name) -# $res = Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name -IncludePreview -# # Get-ServiceSpecPathData -ProviderNamespace $providerFolder.Name -ResourceType $resourceFolder.Name + $UrlPathsOfFile = (ConvertFrom-Json (Get-Content -Raw -Path $specFilePath) -AsHashtable).paths + $urlPUTPathsInFile = $UrlPathsOfFile.Keys | Where-Object { $UrlPathsOfFile[$_].Keys -contains 'put' } -# $resArrItem = [pscustomobject] @{} -# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Provider' -Value $providerFolder.Name -# $resArrItem | Add-Member -MemberType NoteProperty -Name 'ResourceType' -Value $resourceFolder.Name -# if ($null -eq $res) { -# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 0 -# } elseif ($res -is [array]) { -# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res.Count -# } elseif ($res.GetType().Name -eq 'pscustomobject') { -# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value 1 -# } else { -# $resArrItem | Add-Member -MemberType NoteProperty -Name 'Result' -Value $res -# } -# $resArray += $resArrItem -# } -# } + foreach ($urlPUTPath in $urlPUTPathsInFile) { + # Todo create regex dynamic based on count of '/' in RT + # Build regex based in input + $formattedProviderNamespace = $ProviderNamespace -replace '\.', '\.' + if(($ResourceType -split '/').Count -gt 1) { + # Provided a concatinated resource type like 'vaults/secrets' + $resourceTypeElements = $ResourceType -split '/' + $relevantPathRegex = ".*\/$formattedProviderNamespace\/" + # Add each element and incorporate a theoretical 'name' in the path as it is part of each url (e.g. vaults/{vaultName}/keys/{keyName}) + # '?' is introduced for urls where a hardcoded name (like 'default') is part of it + $relevantPathRegex += $resourceTypeElements -join '\/\{?\w+}?\/' + $relevantPathRegex += '.*' + } else { + $relevantPathRegex = ".*\/{0}\/{1}\/.*" -f $formattedProviderNamespace, $ResourceType + } + # Filter down to Provider Namespace & Resource Type (or children) + if($urlPUTPath -notmatch $relevantPathRegex) { + Write-Debug "Ignoring Path PUT URL [$urlPUTPath]" + continue + } -# # statistics + # Populate result + $pathData += @{ + urlPath = $urlPUTPath + jsonFilePath = $specFilePath + } + } + } + } -# $count = $resArray.Count -# $resArray | ConvertTo-Json -Depth 99 + # Add parent pointers for later reference + foreach($UrlPathBlock in $pathData) { + $pathElements = $UrlPathBlock.urlPath -split '/' + $rawparentUrlPath = $pathElements[0..($pathElements.Count-3)] -join '/' -# Write-Host ('Success, more than one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -gt 1 }).Count), $count )) -# Write-Host ('Success, one result: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 1 }).Count), $count)) -# Write-Host ('No Results: {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq 0 }).Count), $count)) -# Write-Host ('RT Error : {0} of {1}' -f ((($resArray | Where-Object { $_.Result -eq -2 }).Count), $count)) + if($pathElements[-3] -like "Microsoft.*") { + # Top-most element. No parent + $parentUrlPath = '' + } + elseif($rawparentUrlPath -notlike "*}") { + # Special case: Parent has a default value in url (e.g. 'default'). In this case we need to find a match in the other urls + $shortenedRef = $pathElements[0..($pathElements.Count-4)] -join '/' + $formattedRef = [regex]::Escape($shortenedRef) -replace '\/', '\/' + $parentUrlPath = $pathData.urlPath | Where-Object { $_ -match "^$formattedRef\/\{\w+\}$"} + } else { + $parentUrlPath = $rawparentUrlPath + } + $UrlPathBlock['parentUrlPath'] = $parentUrlPath + } + return $pathData +} diff --git a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathDataChildRes.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathDataChildRes.ps1 deleted file mode 100644 index 1f9aa4b6ab..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathDataChildRes.ps1 +++ /dev/null @@ -1,78 +0,0 @@ -function Get-ServiceSpecPathDataChildRes { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, - - [Parameter(Mandatory = $false)] - [switch] $IncludePreview, - - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - - [Parameter(Mandatory = $true)] - [string] $JSONKeyPath - ) - - try { - # $DebugPreference = 'Continue' - $resultArr = @() - $parentPathSplit = $JSONKeyPath.Split('/') - foreach ($jsonFile in $(Get-ChildItem -Path $(Split-Path $JSONFilePath -Parent) -Filter *.json)) { - Write-Debug ('Processing [{0}]...' -f $jsonFile.Name) - $jsonPaths = (ConvertFrom-Json (Get-Content -Raw -Path $jsonFile)).paths - $jsonPaths.PSObject.Properties | ForEach-Object { - $put = $_.value.put - if ($put) { - $pathSplit = $_.Name.Split('/') - if (($_.Name -like "$JSONKeyPath/*") -and ($pathSplit.Count -gt $parentPathSplit.Count)) { - $arrItem = [pscustomobject] @{} - $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonFilePath' -Value $jsonFile.FullName - $arrItem | Add-Member -MemberType NoteProperty -Name 'jsonKeyPath' -Value $_.Name - # $arrItem | Add-Member -MemberType NoteProperty -Name 'putMethod' -Value $_.value.put - $resultArr += $arrItem - } - } - } - } - } catch { - Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" - return -2 - } - - try { - if ($resultArr.Count -ge 1) { - return $resultArr - } else { - Write-Warning 'No child resources found' - return $resultArr - } - - } catch { - Write-Error "Error processing [$ProviderNamespace/$ResourceType]: $_" - return -2 - } -} - -# . (Join-Path $PSScriptRoot 'Get-ServiceSpecPathData.ps1') -# $repoPath = Join-Path $PSScriptRoot 'temp' 'azure-rest-api-specs' - -# # $providerNamespace = 'Microsoft.Storage'; $resourceType = 'storageAccounts' -# # $providerNamespace = 'Microsoft.KeyVault'; $resourceType = 'vaults' -# # $providerNamespace = 'Microsoft.Compute'; $resourceType = 'virtualMachines' -# $providerNamespace = 'Microsoft.Network'; $resourceType = 'virtualNetworks' - -# $parentResData = Get-ServiceSpecPathData -ProviderNamespace $providerNamespace -ResourceType $resourceType -RepositoryPath $repoPath - -# Write-Host 'Parent resource data:' -# $parentResData | Format-List - -# $childResData = Get-ServiceSpecPathDataChildRes -ProviderNamespace $providerNamespace -ResourceType $resourceType -JSONFilePath $parentResData.JSONFilePath -JSONKeyPath $parentResData.JSONKeyPath - -# Write-Host 'Child resource data:' -# $childResData | Format-List - diff --git a/utilities/tools/REST2CARML/private/specs/Get-ParametersFromRoot.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 similarity index 65% rename from utilities/tools/REST2CARML/private/specs/Get-ParametersFromRoot.ps1 rename to utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 index 98e3c421de..2855daa2f0 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-ParametersFromRoot.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 @@ -5,40 +5,44 @@ Extract all parameters from the given API spec parameter root .DESCRIPTION Extract all parameters from the given API spec parameter root (e.g., PUT parameters) +.PARAMETER JSONFilePath +Mandatory. The service specification file to process. + .PARAMETER SpecificationData Mandatory. The source content to crawl for data. .PARAMETER RelevantParamRoot Mandatory. The array of root parameters to process (e.g., PUT parameters). -.PARAMETER JSONKeyPath +.PARAMETER UrlPath Mandatory. The API Path in the JSON specification file to process .PARAMETER ResourceType Mandatory. The Resource Type to investigate .EXAMPLE -Get-ParametersFromRoot -SpecificationData @{ paths = @(...); definitions = @{...} } -RelevantParamRoot @(@{ $ref: "../(...)"}) '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' +Get-SpecsPropertiesAsParameterList -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -RelevantParamRoot @(@{ $ref: "../(...)"}) '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' Fetch all parameters (e.g., PUT) from the KeyVault REST path. #> -function Get-ParametersFromRoot { +function Get-SpecsPropertiesAsParameterList { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [hashtable] $SpecificationData, + [string] $JSONFilePath, [Parameter(Mandatory = $true)] [array] $RelevantParamRoot, [Parameter(Mandatory = $true)] - [string] $JSONKeyPath, + [string] $UrlPath, [Parameter(Mandatory = $true)] [string] $ResourceType ) + $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable $definitions = $specificationData.definitions $specParameters = $specificationData.parameters @@ -55,13 +59,24 @@ function Get-ParametersFromRoot { $matchingPathObjectParametersRef = ($relevantParamRoot | Where-Object { $_.name -eq ($ResourceType.Substring(0, $ResourceType.Length - 1)) }).schema.'$ref' } + if ($matchingPathObjectParametersRef -like '*.*') { + # if the reference directly points to another file + $resolvedParameterRef = Resolve-SpecPropertyReference -JSONFilePath $JSONFilePath -SpecificationData $specificationData -Parameter @{ '$ref' = $matchingPathObjectParametersRef } + + # Overwrite data to process + $specificationData = $resolvedParameterRef.specificationData + $definitions = $specificationData.definitions + $specParameters = $specificationData.parameters + } + + # Get top-most parameters $outerParameters = $definitions[(Split-Path $matchingPathObjectParametersRef -Leaf)] # Handle resource name # -------------------- # Note: The name can be specified in different locations like the PUT statement, but also in the spec's 'parameters' object as a reference # Case: The name in the url is also a parameter of the PUT statement - $pathServiceName = (Split-Path $JSONKeyPath -Leaf) -replace '{|}', '' + $pathServiceName = (Split-Path $UrlPath -Leaf) -replace '{|}', '' if ($relevantParamRoot.name -contains $pathServiceName) { $param = $relevantParamRoot | Where-Object { $_.name -eq $pathServiceName } @@ -96,20 +111,18 @@ function Get-ParametersFromRoot { $templateData += $parameterObject # Process outer properties - # ------------------------ - foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -ne 'properties' -and -not $outerParameters.properties[$_].readOnly }) { - $param = $outerParameters.properties[$outerParameter] - $parameterObject = @{ - level = 0 - name = $outerParameter - type = $param.keys -contains 'type' ? $param.type : 'object' - description = $param.description - required = $outerParameters.required -contains $outerParameter + # ------------------------0 + foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -notin @('location') -and -not $outerParameters.properties[$_].readOnly } | Sort-Object ) { + $innerParamInputObject = @{ + JSONFilePath = $JSONFilePath + Parameter = $outerParameters.properties[$outerParameter] + SpecificationData = $SpecificationData + Level = 0 + Name = $outerParameter + Parent = '' + RequiredParametersOnLevel = $outerParameters.required } - - $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject - - $templateData += $parameterObject + $templateData += Get-SpecsPropertyAsParameter @innerParamInputObject } # Special case: Location @@ -121,30 +134,8 @@ function Get-ParametersFromRoot { type = 'string' description = 'Location for all Resources.' required = $false - default = ($JSONKeyPath -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*') ? 'resourceGroup().location' : 'deployment().location' + default = ($UrlPath -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*') ? 'resourceGroup().location' : 'deployment().location' } - - # param location string = resourceGroup().location - $templateData += $parameterObject - } - - # Process inner properties - # ------------------------ - $innerRef = $outerParameters.properties.properties.'$ref' - $innerParameters = $definitions[(Split-Path $innerRef -Leaf)].properties - - foreach ($innerParameter in ($innerParameters.Keys | Where-Object { -not $innerParameters[$_].readOnly })) { - $param = $innerParameters[$innerParameter] - $parameterObject = @{ - level = 1 - name = $innerParameter - type = $param.keys -contains 'type' ? $param.type : 'object' - description = $param.description - required = $innerParameters.required -contains $innerParameter - } - - $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject - $templateData += $parameterObject } diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 new file mode 100644 index 0000000000..15ed0c9666 --- /dev/null +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 @@ -0,0 +1,234 @@ + +<# +.SYNOPSIS +Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property + +.DESCRIPTION +Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property + +.PARAMETER JSONFilePath +Mandatory. The path to the API Specs JSON file hosting the data + +.PARAMETER SpecificationData +Mandatory. The specification data contain in the given API Specs file + +.PARAMETER RequiredParametersOnLevel +Optional. A list of required parameters for the current level. If the current parameter is part of that list it will have a 'required' attribute + +.PARAMETER Parameter +Mandatory. The parameter reference of the API Specs file to process + +.PARAMETER Name +Mandatory. The name of the parameter to process + +.PARAMETER Parent +Opional. The parent parameter of the currently process parameter. For example 'properties' for the most properties parameters - and '' (empty) if on root + +.PARAMETER Level +Mandatory. The current 'tab' level. For example, root equals to 0, properties to 1 etc. + +.PARAMETER SkipLevel +Optional. For this parameter, do not create a 'container' parameter, that is, a parameter that just exist to host other parameters. Only required in rare cases where a `ref` only contains further `ref` attributes and no properties. + +.EXAMPLE +Get-SpecsPropertyAsParameter -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -SpecificationData @{ paths = @{(..)}; definititions = @{(..)}; (..) } -RequiredParametersOnLevel @('param1', 'param2') -Parameter @{ '$ref' = (..); description = '..' } -Name 'Param1' -Parent 'Param0' -Level 0 + +Process the given parameter. Converted in JSON the output may look like +[ + { + "required": false, + "Parent": "properties", + "description": "The blob service properties for blob restore policy", + "level": 1, + "name": "restorePolicy", + "type": "object" + }, + { + "required": false, + "Parent": "restorePolicy", + "description": "Blob restore is enabled if set to true.", + "level": 2, + "name": "enabled", + "type": "boolean" + }, + { + "name": "days", + "maxValue": 365, + "type": "integer", + "level": 2, + "required": false, + "description": "how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.", + "minValue": 1, + "Parent": "restorePolicy" + } +] + +Which is equivalent to the following structure: + + restorePolicy:object + enabled:boolean + days:integer +#> +function Get-SpecsPropertyAsParameter { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter(Mandatory = $true)] + [hashtable] $SpecificationData, + + [Parameter(Mandatory = $false)] + [array] $RequiredParametersOnLevel = @(), + + [Parameter(Mandatory = $true)] + [hashtable] $Parameter, + + [Parameter(Mandatory = $true)] + [string] $Name, + + [Parameter(Mandatory = $false)] + [string] $Parent = '', + + [Parameter(Mandatory = $true)] + [int] $Level, + + [Parameter(Mandatory = $false)] + [boolean] $SkipLevel = $false + ) + + $refObjects = @() + + if ($Parameter.Keys -contains '$ref') { + # Parameter contains a reference to another specification + $inputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $SpecificationData + Parameter = $Parameter + } + $resolvedReference = Resolve-SpecPropertyReference @inputObject + $parameter = $resolvedReference.parameter + $specificationData = $resolvedReference.SpecificationData + + if ($Parameter.Keys -contains 'properties') { + # Parameter is an object + if (-not $SkipLevel) { + $refObjects += @{ + level = $Level + name = $Name + type = 'object' + description = $Parameter.description + required = $RequiredParametersOnLevel -contains $Name + Parent = $Parent + } + } + + foreach ($property in $Parameter['properties'].Keys) { + $recursiveInputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $SpecificationData + Parameter = $Parameter['properties'][$property] + RequiredParametersOnLevel = $RequiredParametersOnLevel + Level = $SkipLevel ? $Level : $Level + 1 + Parent = $Name + Name = $property + } + $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject + } + } + else { + $recursiveInputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $SpecificationData + Parameter = $Parameter + RequiredParametersOnLevel = $RequiredParametersOnLevel + Level = $Level + Parent = $Name + Name = $property + } + $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject + } + } + elseif ($Parameter.Keys -contains 'items') { + # Parameter is an array + if ($Parameter.items.Keys -contains '$ref') { + # Each item is an object/array + $refObjects += @{ + level = $Level + name = $Name + type = 'array' + description = $Parameter.description + required = $RequiredParametersOnLevel -contains $Name + Parent = $Parent + } + + $recursiveInputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $SpecificationData + Parameter = $Parameter['items'] + RequiredParametersOnLevel = $RequiredParametersOnLevel + Level = $Level + 1 + Parent = $Name + Name = $property + SkipLevel = $true + } + $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject + } + else { + # Each item has a primitive type + $refObjects += @{ + level = $Level + name = $Name + type = '{0}[]' -f $Parameter.items.type + description = $Parameter.description + required = $RequiredParametersOnLevel -contains $Name + Parent = $Parent + } + } + } + elseif ($parameter.Keys -contains 'properties') { + # The case if a definition reference should have been created, but the RP implemented it another way. + # Example "TableServiceProperties": { "properties": { "properties": { "properties": { "cors": {...}}}}} + $refObjects += @{ + level = $Level + name = $Name + type = 'object' + description = $Parameter.description + required = $RequiredParametersOnLevel -contains $Name + Parent = $Parent + } + + foreach ($property in $Parameter['properties'].Keys) { + $recursiveInputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $SpecificationData + Parameter = $Parameter['properties'][$property] + RequiredParametersOnLevel = $RequiredParametersOnLevel + Level = $SkipLevel ? $Level : $Level + 1 + Parent = $Name + Name = $property + } + $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject + } + } + else { + # Parameter is a 'simple' leaf - that is, not an object/array and does not reference any other specification + if ($parameter.readOnly) { + return @() + } + + $parameterObject = @{ + level = $Level + name = $Name + type = $Parameter.keys -contains 'type' ? $Parameter.type : 'object' + description = $Parameter.description + required = $RequiredParametersOnLevel -contains $Name + Parent = $Parent + } + + $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject + } + + return $refObjects +} diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 index 0b613b473f..5d0f532c3d 100644 --- a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 @@ -8,14 +8,14 @@ Extract the outer (top-level) and inner (property-level) parameters for a given .PARAMETER JSONFilePath Mandatory. The service specification file to process. -.PARAMETER JSONKeyPath +.PARAMETER UrlPath Mandatory. The API Path in the JSON specification file to process .PARAMETER ResourceType Mandatory. The Resource Type to investigate .EXAMPLE -Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -JSONKeyPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' +Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' Process the API path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' in file 'keyvault.json' #> @@ -27,7 +27,7 @@ function Resolve-ModuleData { [string] $JSONFilePath, [Parameter(Mandatory = $true)] - [string] $JSONKeyPath, + [string] $UrlPath, [Parameter(Mandatory = $true)] [string] $ResourceType @@ -42,28 +42,30 @@ function Resolve-ModuleData { # Get PUT parameters $putParametersInputObject = @{ - SpecificationData = $SpecificationData - RelevantParamRoot = $specificationData.paths[$JSONKeyPath].put.parameters - JSONKeyPath = $JSONKeyPath + JSONFilePath = $JSONFilePath + RelevantParamRoot = $specificationData.paths[$UrlPath].put.parameters + urlPath = $UrlPath ResourceType = $ResourceType } - $templateData += Get-ParametersFromRoot @putParametersInputObject + $templateData += Get-SpecsPropertiesAsParameterList @putParametersInputObject # Get PATCH parameters (as the REST command actually always is Create or Update) - if ($specificationData.paths[$JSONKeyPath].patch) { + if ($specificationData.paths[$UrlPath].patch) { $putParametersInputObject = @{ - SpecificationData = $SpecificationData - RelevantParamRoot = $specificationData.paths[$JSONKeyPath].patch.parameters - JSONKeyPath = $JSONKeyPath + JSONFilePath = $JSONFilePath + RelevantParamRoot = $specificationData.paths[$UrlPath].patch.parameters + urlPath = $UrlPath ResourceType = $ResourceType } - $templateData += Get-ParametersFromRoot @putParametersInputObject + $templateData += Get-SpecsPropertiesAsParameterList @putParametersInputObject } - # Filter duplicates + # Filter duplicates introduced by overlaps of PUT & PATCH $filteredList = @() - foreach ($level in $templateData.Level | Select-Object -Unique) { - $filteredList += $templateData | Where-Object { $_.level -eq $level } | Sort-Object name -Unique + foreach ($property in $templateData) { + if (($filteredList | Where-Object { $_.level -eq $property.level -and $_.name -eq $property.name -and $_.parent -eq $property.parent }).Count -eq 0) { + $filteredList += $property + } } return @{ diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 new file mode 100644 index 0000000000..55e400671b --- /dev/null +++ b/utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 @@ -0,0 +1,89 @@ +<# +.SYNOPSIS +Recursively resolve the given API Specs Parameter until it is no '$ref' to another parameter anymore + +.DESCRIPTION +Recursively resolve the given API Specs Parameter until it is no '$ref' to another parameter anymore. Returns both the resolved parameter as well as the 'Specification'-Data it is hosted in (as it could be a different file). + +.PARAMETER JSONFilePath +Mandatory. The service specification file to process. + +.PARAMETER SpecificationData +Mandatory. The specification data contain in the given API Specs file + +.PARAMETER Parameter +Mandatory. The parameter reference of the API Specs file to process + +.EXAMPLE +Resolve-SpecPropertyReference -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -SpecificationData @{ paths = @{(..)}; definititions = @{(..)}; (..) } -Parameter @{ '$ref' = (..); description = '..' } + +Resolve the given parameter. +#> +function Resolve-SpecPropertyReference { + + param( + [Parameter(Mandatory = $true)] + [string] $JSONFilePath, + + [Parameter()] + [hashtable] $SpecificationData, + + [Parameter()] + [hashtable] $Parameter + ) + + + $specDefinitions = $specificationData.definitions + $specParameters = $specificationData.parameters + + if ($Parameter.Keys -contains '$ref') { + + switch ($Parameter.'$ref') { + { $PSItem -like '#/definitions/*' } { + $refObject = $specDefinitions[(Split-Path $Parameter.'$ref' -Leaf)] + + $inputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $SpecificationData + Parameter = $refObject + } + return Resolve-SpecPropertyReference @inputObject + } + { $PSItem -like '#/parameters/*' } { + throw "Parameter references not handled yet." + + $refObject = $specParameters[(Split-Path $Parameter.'$ref' -Leaf)] + + if ($refObject.readOnly) { + break + } + + $inputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $SpecificationData + Parameter = $refObject + } + return Resolve-SpecPropertyReference @inputObject + } + { $PSItem -like '*.*' } { + # FilePath + $filePath = Resolve-Path (Join-Path (Split-Path $JSONFilePath -Parent) ($Parameter.'$ref' -split '#')[0]) + $fileContent = Get-Content -Path $filePath | ConvertFrom-Json -AsHashtable +` $identifier = Split-Path $Parameter.'$ref' -Leaf + + $inputObject = @{ + JSONFilePath = $JSONFilePath + SpecificationData = $fileContent + Parameter = $fileContent.definitions[$identifier] + } + return Resolve-SpecPropertyReference @inputObject + } + } + } + else { + return @{ + parameter = $Parameter + specificationData = $SpecificationData + } + } +} \ No newline at end of file diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 new file mode 100644 index 0000000000..d7377b8c14 --- /dev/null +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -0,0 +1,105 @@ +<# +.SYNOPSIS +Get module configuration data based on the latest API information available + + +.DESCRIPTION +Get module configuration data based on the latest API information available. If you want to use a nested resource type, just concatinate the identifiers like 'storageAccounts/blobServices/containers' + +.PARAMETER ProviderNamespace +Mandatory. The provider namespace to query the data for + +.PARAMETER ResourceType +Mandatory. The resource type to query the data for + +.PARAMETER RepositoryPath +Mandatory. The path to the API Specs repository to fetch the data from. + +.PARAMETER ExcludeChildren +Optional. Don't include child resource types in the result + +.PARAMETER IncludePreview +Optional. Include preview API versions + +.EXAMPLE +Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' -RepositoryPath (Join-Path $script:temp $repoName) + +Get the data for [Microsoft.Storage/storageAccounts/blobServices/containers] based on the data stored in the provided API Specs rpository path +#> +function Get-AzureApiSpecsData { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $ProviderNamespace, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $true)] + [string] $RepositoryPath, + + [Parameter(Mandatory = $false)] + [switch] $ExcludeChildren, + + [Parameter(Mandatory = $false)] + [switch] $IncludePreview + ) + + ############################################## + ## Find relevant Spec-Files & URL Paths ## + ############################################## + $getPathDataInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + RepositoryPath = $RepositoryPath + IncludePreview = $IncludePreview + } + $pathData = Get-ServiceSpecPathData @getPathDataInputObject + + # Filter Children if desired + if ($ExcludeChildren) { + $pathData = $pathData | Where-Object { [String]::IsNullOrEmpty($_.parentUrlPath) } + } + + ################################################################# + # Iterate through parent & child-paths and extract the data # + ################################################################# + $moduleData = @() + foreach ($pathBlock in $pathData) { + $resolveInputObject = @{ + JSONFilePath = $pathBlock.jsonFilePath + urlPath = $pathBlock.urlPath + ResourceType = $ResourceType + } + $resolvedParameters = Resolve-ModuleData @resolveInputObject + + # Calculate simplified identifier + $identifier = ($pathBlock.urlPath -split '\/providers\/')[1] + $identifierElem = $identifier -split '\/' + $identifier = $identifierElem[0] # E.g. Microsoft.Storage + + if ($identifierElem.Count -gt 1) { + # Add the remaining elements (every 2nd as everything in between represents a 'name') + $remainingRelevantElem = $identifierElem[1..($identifierElem.Count)] + for ($index = 0; $index -lt $remainingRelevantElem.Count; $index++) { + if ($index % 2 -eq 0) { + $identifier += ('/{0}' -f $remainingRelevantElem[$index]) + } + } + } + + # Build result + $moduleData += @{ + data = $resolvedParameters + identifier = $identifier + metadata = @{ + urlPath = $pathBlock.urlPath + jsonFilePath = $pathBlock.jsonFilePath + parentUrlPath = $pathBlock.parentUrlPath + } + } + } + + return $moduleData +} diff --git a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index fa98e057d9..335b1144bd 100644 --- a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -12,6 +12,10 @@ Mandatory. The provider namespace to query the data for .PARAMETER ResourceType Mandatory. The resource type to query the data for +.PARAMETER ExcludeChildren +Optional. Don't include child resource types in the result + + .PARAMETER IncludePreview Mandatory. Include preview API versions @@ -32,6 +36,11 @@ Generate/Update a CARML module for [Microsoft.AVS/privateClouds] and do not dele Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' -KeepArtifacts Generate/Update a CARML module for [Microsoft.Keyvault/vaults] and do not delete any downloaded/cloned artifact. + +.EXAMPLE +Invoke-AzureApiCrawler -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' -Verbose -KeepArtifacts + +Generate/Update a CARML module for [Microsoft.Storage/storageAccounts/blobServices/containers] and do not delete any downloaded/cloned artifact. #> function Invoke-REST2CARML { @@ -43,6 +52,9 @@ function Invoke-REST2CARML { [Parameter(Mandatory = $true)] [string] $ResourceType, + [Parameter(Mandatory = $false)] + [switch] $ExcludeChildren, + [Parameter(Mandatory = $false)] [switch] $IncludePreview, @@ -84,23 +96,18 @@ function Invoke-REST2CARML { Set-Location $initialLocation try { - ########################### - ## Fetch module data ## - ########################### - $getPathDataInputObject = @{ + ############################################ + ## Extract module data from API specs ## + ############################################ + + $apiSpecsInputObject = @{ ProviderNamespace = $ProviderNamespace ResourceType = $ResourceType - RepositoryPath = Join-Path $script:temp $repoName + RepositoryPath = (Join-Path $script:temp $repoName) + ExcludeChildren = $ExcludeChildren IncludePreview = $IncludePreview } - $pathData = Get-ServiceSpecPathData @getPathDataInputObject - - $resolveInputObject = @{ - JSONFilePath = $pathData.jsonFilePath - JSONKeyPath = $pathData.jsonKeyPath - ResourceType = $ResourceType - } - $moduleData = Resolve-ModuleData @resolveInputObject + $moduleData = Get-AzureApiSpecsData @apiSpecsInputObject ########################################### ## Generate initial module structure ## @@ -113,12 +120,16 @@ function Invoke-REST2CARML { ############################ ## Set module content ## ############################ + + # TODO: Remove reduced reference as only temp. The logic is currently NOT capabale of handling child resources + $moduleData = $moduleData | Where-Object { -not $_.metadata.parentUrlPath } + $moduleTemplateInputObject = @{ ProviderNamespace = $ProviderNamespace ResourceType = $ResourceType - JSONFilePath = $pathData.jsonFilePath - JSONKeyPath = $pathData.jsonKeyPath - ModuleData = $moduleData + JSONFilePath = $moduleData.metadata.jsonFilePath + UrlPath = $moduleData.metadata.urlPath + ModuleData = $moduleData.data } if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { Set-Module @moduleTemplateInputObject diff --git a/utilities/tools/REST2CARML/temp/azure-rest-api-specs b/utilities/tools/REST2CARML/temp/azure-rest-api-specs deleted file mode 160000 index 7d5d1db0c4..0000000000 --- a/utilities/tools/REST2CARML/temp/azure-rest-api-specs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7d5d1db0c45d6fe0934c97b6a6f9bb34112d42d1 diff --git a/utilities/tools/REST2CARML/temp/diagnosticLogs.md b/utilities/tools/REST2CARML/temp/diagnosticLogs.md deleted file mode 100644 index e053569faf..0000000000 --- a/utilities/tools/REST2CARML/temp/diagnosticLogs.md +++ /dev/null @@ -1,1245 +0,0 @@ ---- -title: Supported categories for Azure Monitor resource logs -description: Understand the supported services and event schemas for Azure Monitor resource logs. -ms.topic: reference -ms.date: 09/07/2022 -ms.reviewer: lualderm - ---- - -# Supported categories for Azure Monitor resource logs - -> [!NOTE] -> This list is largely auto-generated. Any modification made to this list via GitHub might be written over without warning. Contact the author of this article for details on how to make permanent updates. - -[Azure Monitor resource logs](../essentials/platform-logs-overview.md) are logs emitted by Azure services that describe the operation of those services or resources. All resource logs available through Azure Monitor share a common top-level schema. Each service has the flexibility to emit unique properties for its own events. - -Resource logs were previously known as diagnostic logs. The name was changed in October 2019 as the types of logs gathered by Azure Monitor shifted to include more than just the Azure resource. - -A combination of the resource type (available in the `resourceId` property) and the category uniquely identifies a schema. There's a common schema for all resource logs with service-specific fields then added for different log categories. For more information, see [Common and service-specific schema for Azure resource logs](./resource-logs-schema.md). - -## Costs - -[Azure Monitor Log Analytics](https://azure.microsoft.com/pricing/details/monitor/), [Azure Storage](https://azure.microsoft.com/product-categories/storage/), [Azure Event Hubs](https://azure.microsoft.com/pricing/details/event-hubs/), and partners who integrate directly with Azure Monitor (for example, [Datadog](../../partner-solutions/datadog/overview.md)) have costs associated with ingesting data and storing data. Check the pricing pages linked in the previous sentence to understand the costs for those services. Resource logs are just one type of data that you can send to those locations. - -In addition, there might be costs to export some categories of resource logs to those locations. Logs with possible export costs are listed in the table in the next section. For more information on export pricing, see the **Platform Logs** section on the [Azure Monitor pricing page](https://azure.microsoft.com/pricing/details/monitor/). - -## Supported log categories per resource type - -Following is a list of the types of logs available for each resource type. - -Some categories might be supported only for specific types of resources. See the resource-specific documentation if you feel you're missing a resource. For example, Microsoft.Sql/servers/databases categories aren't available for all types of databases. For more information, see [information on SQL Database diagnostic logging](/azure/azure-sql/database/metrics-diagnostic-telemetry-logging-streaming-export-configure). - -If you think something is missing, you can open a GitHub comment at the bottom of this article. - - -## Microsoft.AAD/domainServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AccountLogon|AccountLogon|No| -|AccountManagement|AccountManagement|No| -|DetailTracking|DetailTracking|No| -|DirectoryServiceAccess|DirectoryServiceAccess|No| -|LogonLogoff|LogonLogoff|No| -|ObjectAccess|ObjectAccess|No| -|PolicyChange|PolicyChange|No| -|PrivilegeUse|PrivilegeUse|No| -|SystemSecurity|SystemSecurity|No| - - -## microsoft.aadiam/tenants - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Signin|Signin|Yes| - - -## Microsoft.AgFoodPlatform/farmBeats - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ApplicationAuditLogs|Application Audit Logs|Yes| -|FarmManagementLogs|Farm Management Logs|Yes| -|FarmOperationLogs|Farm Operation Logs|Yes| -|InsightLogs|Insight Logs|Yes| -|JobProcessedLogs|Job Processed Logs|Yes| -|ModelInferenceLogs|Model Inference Logs|Yes| -|ProviderAuthLogs|Provider Auth Logs|Yes| -|SatelliteLogs|Satellite Logs|Yes| -|SensorManagementLogs|Sensor Management Logs|Yes| -|WeatherLogs|Weather Logs|Yes| - - -## Microsoft.AnalysisServices/servers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Engine|Engine|No| -|Service|Service|No| - - -## Microsoft.ApiManagement/service - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|GatewayLogs|Logs related to ApiManagement Gateway|No| - - -## Microsoft.AppConfiguration/configurationStores - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit|Yes| -|HttpRequest|HTTP Requests|Yes| - - -## Microsoft.AppPlatform/Spring - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ApplicationConsole|Application Console|No| -|BuildLogs|Build Logs|Yes| -|ContainerEventLogs|Container Event Logs|Yes| -|IngressLogs|Ingress Logs|Yes| -|SystemLogs|System Logs|No| - - -## Microsoft.Attestation/attestationProviders - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuditEvent|AuditEvent message log category.|No| -|ERR|Error message log category.|No| -|INF|Informational message log category.|No| -|WRN|Warning message log category.|No| - - -## Microsoft.Automation/automationAccounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DscNodeStatus|Dsc Node Status|No| -|JobLogs|Job Logs|No| -|JobStreams|Job Streams|No| - - -## Microsoft.AutonomousDevelopmentPlatform/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit|Yes| -|Operational|Operational|Yes| -|Request|Request|Yes| - - -## Microsoft.AutonomousDevelopmentPlatform/datapools - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit|Yes| -|Operational|Operational|Yes| -|Request|Request|Yes| - - -## Microsoft.AutonomousDevelopmentPlatform/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit|Yes| -|Operational|Operational|Yes| -|Request|Request|Yes| - - -## microsoft.avs/privateClouds - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|vmwaresyslog|VMware VCenter Syslog|Yes| - - -## Microsoft.Batch/batchAccounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ServiceLog|Service Logs|No| - - -## Microsoft.BatchAI/workspaces -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BaiClusterEvent|BaiClusterEvent|No| -|BaiClusterNodeEvent|BaiClusterNodeEvent|No| -|BaiJobEvent|BaiJobEvent|No| - - -## Microsoft.Blockchain/blockchainMembers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BlockchainApplication|Blockchain Application|No| -|FabricOrderer|Fabric Orderer|No| -|FabricPeer|Fabric Peer|No| -|Proxy|Proxy|No| - - -## Microsoft.Blockchain/cordaMembers -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BlockchainApplication|Blockchain Application|No| - - -## microsoft.botservice/botservices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BotRequest|Requests from the channels to the bot|No| - - -## Microsoft.Cache/redis - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ConnectedClientList|Connected client list|Yes| - - -## Microsoft.Cdn/cdnwebapplicationfirewallpolicies - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|WebApplicationFirewallLogs|Web Appliation Firewall Logs|No| - - -## Microsoft.Cdn/profiles - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AzureCdnAccessLog|Azure Cdn Access Log|No| -|FrontDoorAccessLog|FrontDoor Access Log|Yes| -|FrontDoorHealthProbeLog|FrontDoor Health Probe Log|Yes| -|FrontDoorWebApplicationFirewallLog|FrontDoor WebApplicationFirewall Log|Yes| - - -## Microsoft.Cdn/profiles/endpoints - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|CoreAnalytics|Gets the metrics of the endpoint, e.g., bandwidth, egress, etc.|No| - - -## Microsoft.ClassicNetwork/networksecuritygroups - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Network Security Group Rule Flow Event|Network Security Group Rule Flow Event|No| - - -## Microsoft.CognitiveServices/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit Logs|No| -|RequestResponse|Request and Response Logs|No| -|Trace|Trace Logs|No| - - -## Microsoft.Communication/CommunicationServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuthOperational|Operational Authentication Logs|Yes| -|CallDiagnostics|Call Diagnostics Logs|Yes| -|CallSummary|Call Summary Logs|Yes| -|ChatOperational|Operational Chat Logs|No| -|EmailSendMailOperational|Email Service Send Mail Logs|Yes| -|EmailStatusUpdateOperational|Email Service Delivery Status Update Logs|Yes| -|EmailUserEngagementOperational|Email Service User Engagement Logs|Yes| -|NetworkTraversalDiagnostics|Network Traversal Relay Diagnostic Logs|Yes| -|NetworkTraversalOperational|Operational Network Traversal Logs|Yes| -|SMSOperational|Operational SMS Logs|No| -|Usage|Usage Records|No| - - -## Microsoft.ConnectedCache/CacheNodes - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Events|Events|Yes| - - -## Microsoft.ConnectedVehicle/platformAccounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|MCVP Audit Logs|Yes| -|Logs|MCVP Logs|Yes| - - -## Microsoft.ContainerRegistry/registries - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ContainerRegistryLoginEvents|Login Events|No| -|ContainerRegistryRepositoryEvents|RepositoryEvent logs|No| - - -## Microsoft.ContainerService/managedClusters - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|cloud-controller-manager|Kubernetes Cloud Controller Manager|Yes| -|cluster-autoscaler|Kubernetes Cluster Autoscaler|No| -|guard|Kubernetes Guard|No| -|kube-apiserver|Kubernetes API Server|No| -|kube-audit|Kubernetes Audit|No| -|kube-audit-admin|Kubernetes Audit Admin Logs|No| -|kube-controller-manager|Kubernetes Controller Manager|No| -|kube-scheduler|Kubernetes Scheduler|No| - - -## Microsoft.CustomProviders/resourceproviders - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuditLogs|Audit logs for MiniRP calls|No| - - -## Microsoft.D365CustomerInsights/instances - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit events|No| -|Operational|Operational events|No| - - -## Microsoft.Dashboard/grafana - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|GrafanaLoginEvents|Grafana Login Events|Yes| - - -## Microsoft.Databricks/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|accounts|Databricks Accounts|No| -|clusters|Databricks Clusters|No| -|databrickssql|Databricks DatabricksSQL|Yes| -|dbfs|Databricks File System|No| -|deltaPipelines|Databricks Delta Pipelines|Yes| -|featureStore|Databricks Feature Store|Yes| -|genie|Databricks Genie|Yes| -|globalInitScripts|Databricks Global Init Scripts|Yes| -|iamRole|Databricks IAM Role|Yes| -|instancePools|Instance Pools|No| -|jobs|Databricks Jobs|No| -|mlflowAcledArtifact|Databricks MLFlow Acled Artifact|Yes| -|mlflowExperiment|Databricks MLFlow Experiment|Yes| -|modelRegistry|Databricks Model Registry|Yes| -|notebook|Databricks Notebook|No| -|RemoteHistoryService|Databricks Remote History Service|Yes| -|repos|Databricks Repos|Yes| -|secrets|Databricks Secrets|No| -|sqlanalytics|Databricks SQL Analytics|Yes| -|sqlPermissions|Databricks SQLPermissions|No| -|ssh|Databricks SSH|No| -|unityCatalog|Databricks Unity Catalog|Yes| -|workspace|Databricks Workspace|No| - - -## Microsoft.DataCollaboration/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|CollaborationAudit|Collaboration Audit|Yes| -|Computations|Computations|Yes| -|DataAssets|Data Assets|No| -|Pipelines|Pipelines|No| -|Proposals|Proposals|No| -|Scripts|Scripts|No| - - -## Microsoft.DataFactory/factories - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ActivityRuns|Pipeline activity runs log|No| -|PipelineRuns|Pipeline runs log|No| -|SandboxActivityRuns|Sandbox Activity runs log|Yes| -|SandboxPipelineRuns|Sandbox Pipeline runs log|Yes| -|SSISIntegrationRuntimeLogs|SSIS integration runtime logs|No| -|SSISPackageEventMessageContext|SSIS package event message context|No| -|SSISPackageEventMessages|SSIS package event messages|No| -|SSISPackageExecutableStatistics|SSIS package executable statistics|No| -|SSISPackageExecutionComponentPhases|SSIS package execution component phases|No| -|SSISPackageExecutionDataStatistics|SSIS package exeution data statistics|No| -|TriggerRuns|Trigger runs log|No| - - -## Microsoft.DataLakeAnalytics/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit Logs|No| -|Requests|Request Logs|No| - - -## Microsoft.DataLakeStore/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit Logs|No| -|Requests|Request Logs|No| - - -## Microsoft.DataShare/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ReceivedShareSnapshots|Received Share Snapshots|No| -|SentShareSnapshots|Sent Share Snapshots|No| -|Shares|Shares|No| -|ShareSubscriptions|Share Subscriptions|No| - - -## Microsoft.DBforMariaDB/servers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|MySqlAuditLogs|MariaDB Audit Logs|No| -|MySqlSlowLogs|MariaDB Server Logs|No| - - -## Microsoft.DBforMySQL/flexibleServers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|MySqlAuditLogs|MySQL Audit Logs|No| -|MySqlSlowLogs|MySQL Slow Logs|No| - - -## Microsoft.DBforMySQL/servers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|MySqlAuditLogs|MySQL Audit Logs|No| -|MySqlSlowLogs|MySQL Server Logs|No| - - -## Microsoft.DBforPostgreSQL/flexibleServers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|PostgreSQLLogs|PostgreSQL Server Logs|No| - - -## Microsoft.DBForPostgreSQL/serverGroupsv2 - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|PostgreSQLLogs|PostgreSQL Server Logs|Yes| - - -## Microsoft.DBforPostgreSQL/servers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|PostgreSQLLogs|PostgreSQL Server Logs|No| -|QueryStoreRuntimeStatistics|PostgreSQL Query Store Runtime Statistics|No| -|QueryStoreWaitStatistics|PostgreSQL Query Store Wait Statistics|No| - - -## Microsoft.DBforPostgreSQL/serversv2 - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|PostgreSQLLogs|PostgreSQL Server Logs|No| - - -## Microsoft.DesktopVirtualization/applicationgroups - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Checkpoint|Checkpoint|No| -|Error|Error|No| -|Management|Management|No| - - -## Microsoft.DesktopVirtualization/hostpools - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AgentHealthStatus|AgentHealthStatus|No| -|Checkpoint|Checkpoint|No| -|Connection|Connection|No| -|Error|Error|No| -|HostRegistration|HostRegistration|No| -|Management|Management|No| - - -## Microsoft.DesktopVirtualization/scalingplans - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Autoscale|Autoscale logs|Yes| - - -## Microsoft.DesktopVirtualization/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Checkpoint|Checkpoint|No| -|Error|Error|No| -|Feed|Feed|No| -|Management|Management|No| - - -## Microsoft.Devices/ElasticPools/IotHubTenants - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|C2DCommands|C2D Commands|No| -|C2DTwinOperations|C2D Twin Operations|No| -|Configurations|Configurations|No| -|Connections|Connections|No| -|D2CTwinOperations|D2CTwinOperations|No| -|DeviceIdentityOperations|Device Identity Operations|No| -|DeviceStreams|Device Streams (Preview)|No| -|DeviceTelemetry|Device Telemetry|No| -|DirectMethods|Direct Methods|No| -|DistributedTracing|Distributed Tracing (Preview)|No| -|FileUploadOperations|File Upload Operations|No| -|JobsOperations|Jobs Operations|No| -|Routes|Routes|No| -|TwinQueries|Twin Queries|No| - - -## Microsoft.Devices/IotHubs - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|C2DCommands|C2D Commands|No| -|C2DTwinOperations|C2D Twin Operations|No| -|Configurations|Configurations|No| -|Connections|Connections|No| -|D2CTwinOperations|D2CTwinOperations|No| -|DeviceIdentityOperations|Device Identity Operations|No| -|DeviceStreams|Device Streams (Preview)|No| -|DeviceTelemetry|Device Telemetry|No| -|DirectMethods|Direct Methods|No| -|DistributedTracing|Distributed Tracing (Preview)|No| -|FileUploadOperations|File Upload Operations|No| -|JobsOperations|Jobs Operations|No| -|Routes|Routes|No| -|TwinQueries|Twin Queries|No| - - -## Microsoft.Devices/provisioningServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DeviceOperations|Device Operations|No| -|ServiceOperations|Service Operations|No| - - -## Microsoft.DigitalTwins/digitalTwinsInstances - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DataHistoryOperation|DataHistoryOperation|Yes| -|DigitalTwinsOperation|DigitalTwinsOperation|No| -|EventRoutesOperation|EventRoutesOperation|No| -|ModelsOperation|ModelsOperation|No| -|QueryOperation|QueryOperation|No| -|ResourceProviderOperation|ResourceProviderOperation|Yes| - - -## Microsoft.DocumentDB/cassandraClusters - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|CassandraAudit|CassandraAudit|Yes| -|CassandraLogs|CassandraLogs|Yes| - - -## Microsoft.DocumentDB/databaseAccounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|CassandraRequests|CassandraRequests|No| -|ControlPlaneRequests|ControlPlaneRequests|No| -|DataPlaneRequests|DataPlaneRequests|No| -|GremlinRequests|GremlinRequests|No| -|MongoRequests|MongoRequests|No| -|PartitionKeyRUConsumption|PartitionKeyRUConsumption|No| -|PartitionKeyStatistics|PartitionKeyStatistics|No| -|QueryRuntimeStatistics|QueryRuntimeStatistics|No| -|TableApiRequests|TableApiRequests|Yes| - - -## Microsoft.EventGrid/domains - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DeliveryFailures|Delivery Failure Logs|No| -|PublishFailures|Publish Failure Logs|No| - - -## Microsoft.EventGrid/partnerNamespaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DeliveryFailures|Delivery Failure Logs|No| -|PublishFailures|Publish Failure Logs|No| - - -## Microsoft.EventGrid/partnerTopics - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DeliveryFailures|Delivery Failure Logs|No| - - -## Microsoft.EventGrid/systemTopics - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DeliveryFailures|Delivery Failure Logs|No| - - -## Microsoft.EventGrid/topics - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DeliveryFailures|Delivery Failure Logs|No| -|PublishFailures|Publish Failure Logs|No| - - -## Microsoft.EventHub/namespaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ApplicationMetricsLogs|Application Metrics Logs|Yes| -|ArchiveLogs|Archive Logs|No| -|AutoScaleLogs|Auto Scale Logs|No| -|CustomerManagedKeyUserLogs|Customer Managed Key Logs|No| -|EventHubVNetConnectionEvent|VNet/IP Filtering Connection Logs|No| -|KafkaCoordinatorLogs|Kafka Coordinator Logs|No| -|KafkaUserErrorLogs|Kafka User Error Logs|No| -|OperationalLogs|Operational Logs|No| -|RuntimeAuditLogs|Runtime Audit Logs|Yes| - - -## microsoft.experimentation/experimentWorkspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ExPCompute|ExPCompute|Yes| -|Request|Request|No| - - -## Microsoft.HealthcareApis/services - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuditLogs|Audit logs|No| -|DiagnosticLogs|Diagnostic logs|Yes| - - -## Microsoft.HealthcareApis/workspaces/dicomservices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuditLogs|Audit logs|Yes| - - -## Microsoft.HealthcareApis/workspaces/fhirservices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuditLogs|FHIR Audit logs|Yes| - - -## Microsoft.HealthcareApis/workspaces/iotconnectors - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DiagnosticLogs|Diagnostic logs|Yes| - - -## Microsoft.Insights/AutoscaleSettings - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AutoscaleEvaluations|Autoscale Evaluations|No| -|AutoscaleScaleActions|Autoscale Scale Actions|No| - - -## Microsoft.Insights/Components - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AppAvailabilityResults|Availability results|No| -|AppBrowserTimings|Browser timings|No| -|AppDependencies|Dependencies|No| -|AppEvents|Events|No| -|AppExceptions|Exceptions|No| -|AppMetrics|Metrics|No| -|AppPageViews|Page views|No| -|AppPerformanceCounters|Performance counters|No| -|AppRequests|Requests|No| -|AppSystemEvents|System events|No| -|AppTraces|Traces|No| - - -## Microsoft.KeyVault/managedHSMs - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuditEvent|Audit Logs|No| - - -## Microsoft.KeyVault/vaults - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AuditEvent|Audit Logs|No| - - -## Microsoft.Kusto/Clusters - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Command|Command|No| -|FailedIngestion|Failed ingest operations|No| -|IngestionBatching|Ingestion batching|No| -|Journal|Journal|Yes| -|Query|Query|No| -|SucceededIngestion|Successful ingest operations|No| -|TableDetails|Table details|No| -|TableUsageStatistics|Table usage statistics|No| - - -## microsoft.loadtestservice/loadtests - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|OperationLogs|Azure Load Testing Operations|Yes| - - -## Microsoft.Logic/integrationAccounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|IntegrationAccountTrackingEvents|Integration Account track events|No| - - -## Microsoft.Logic/workflows - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|WorkflowRuntime|Workflow runtime diagnostic events|No| - - -## Microsoft.MachineLearningServices/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AmlComputeClusterEvent|AmlComputeClusterEvent|No| -|AmlComputeCpuGpuUtilization|AmlComputeCpuGpuUtilization|No| -|AmlComputeJobEvent|AmlComputeJobEvent|No| -|AmlRunStatusChangedEvent|AmlRunStatusChangedEvent|No| - - -## Microsoft.Media/mediaservices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|KeyDeliveryRequests|Key Delivery Requests|No| - - -## Microsoft.Media/videoanalyzers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit Logs|Yes| -|Diagnostics|Diagnostics Logs|Yes| -|Operational|Operational Logs|Yes| - - -## Microsoft.Network/applicationGateways - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ApplicationGatewayAccessLog|Application Gateway Access Log|No| -|ApplicationGatewayFirewallLog|Application Gateway Firewall Log|No| -|ApplicationGatewayPerformanceLog|Application Gateway Performance Log|No| - - -## Microsoft.Network/azurefirewalls - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AzureFirewallApplicationRule|Azure Firewall Application Rule|No| -|AzureFirewallDnsProxy|Azure Firewall DNS Proxy|No| -|AzureFirewallNetworkRule|Azure Firewall Network Rule|No| - - -## Microsoft.Network/bastionHosts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BastionAuditLogs|Bastion Audit Logs|No| - - -## Microsoft.Network/expressRouteCircuits - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|PeeringRouteLog|Peering Route Table Logs|No| - - -## Microsoft.Network/frontdoors - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|FrontdoorAccessLog|Frontdoor Access Log|No| -|FrontdoorWebApplicationFirewallLog|Frontdoor Web Application Firewall Log|No| - - -## Microsoft.Network/loadBalancers - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|LoadBalancerAlertEvent|Load Balancer Alert Events|No| -|LoadBalancerProbeHealthStatus|Load Balancer Probe Health Status|No| - - -## Microsoft.Network/networksecuritygroups - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|NetworkSecurityGroupEvent|Network Security Group Event|No| -|NetworkSecurityGroupFlowEvent|Network Security Group Rule Flow Event|No| -|NetworkSecurityGroupRuleCounter|Network Security Group Rule Counter|No| - - -## Microsoft.Network/networkSecurityPerimeters - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|NspIntraPerimeterInboundAllowed|Inbound access allowed within same perimeter.|Yes| -|NspIntraPerimeterOutboundAllowed|Outbound attempted to same perimeter.|Yes| -|NspPrivateInboundAllowed|Private endpoint traffic allowed.|Yes| -|NspPublicInboundPerimeterRulesAllowed|Public inbound access allowed by NSP access rules.|Yes| -|NspPublicInboundPerimeterRulesDenied|Public inbound access denied by NSP access rules.|Yes| -|NspPublicInboundResourceRulesAllowed|Public inbound access allowed by PaaS resource rules.|Yes| -|NspPublicInboundResourceRulesDenied|Public inbound access denied by PaaS resource rules.|Yes| -|NspPublicOutboundPerimeterRulesAllowed|Public outbound access allowed by NSP access rules.|Yes| -|NspPublicOutboundPerimeterRulesDenied|Public outbound access denied by NSP access rules.|Yes| -|NspPublicOutboundResourceRulesAllowed|Public outbound access allowed by PaaS resource rules.|Yes| -|NspPublicOutboundResourceRulesDenied|Public outbound access denied by PaaS resource rules|Yes| - - -## Microsoft.Network/p2sVpnGateways - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|GatewayDiagnosticLog|Gateway Diagnostic Logs|No| -|IKEDiagnosticLog|IKE Diagnostic Logs|No| -|P2SDiagnosticLog|P2S Diagnostic Logs|No| - - -## Microsoft.Network/publicIPAddresses - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DDoSMitigationFlowLogs|Flow logs of DDoS mitigation decisions|No| -|DDoSMitigationReports|Reports of DDoS mitigations|No| -|DDoSProtectionNotifications|DDoS protection notifications|No| - - -## Microsoft.Network/trafficManagerProfiles - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ProbeHealthStatusEvents|Traffic Manager Probe Health Results Event|No| - - -## Microsoft.Network/virtualNetworkGateways - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|GatewayDiagnosticLog|Gateway Diagnostic Logs|No| -|IKEDiagnosticLog|IKE Diagnostic Logs|No| -|P2SDiagnosticLog|P2S Diagnostic Logs|No| -|RouteDiagnosticLog|Route Diagnostic Logs|No| -|TunnelDiagnosticLog|Tunnel Diagnostic Logs|No| - - -## Microsoft.Network/virtualNetworks - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|VMProtectionAlerts|VM protection alerts|No| - - -## Microsoft.Network/vpnGateways - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|GatewayDiagnosticLog|Gateway Diagnostic Logs|No| -|IKEDiagnosticLog|IKE Diagnostic Logs|No| -|RouteDiagnosticLog|Route Diagnostic Logs|No| -|TunnelDiagnosticLog|Tunnel Diagnostic Logs|No| - - -## Microsoft.NetworkFunction/azureTrafficCollectors - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ExpressRouteCircuitIpfix|Express Route Circuit IPFIX Flow Records|Yes| - - -## Microsoft.NotificationHubs/namespaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|OperationalLogs|Operational Logs|No| - - -## MICROSOFT.OPENENERGYPLATFORM/ENERGYSERVICES - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AirFlowTaskLogs|Air Flow Task Logs|Yes| -|ElasticOperatorLogs|Elastic Operator Logs|Yes| -|ElasticsearchLogs|Elasticsearch Logs|Yes| - - -## Microsoft.OpenLogisticsPlatform/Workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|SupplyChainEntityOperations|Supply Chain Entity Operations|Yes| -|SupplyChainEventLogs|Supply Chain Event logs|Yes| - - -## Microsoft.OperationalInsights/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit Logs|No| - - -## Microsoft.PowerBI/tenants - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Engine|Engine|No| - - -## Microsoft.PowerBI/tenants/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Engine|Engine|No| - - -## Microsoft.PowerBIDedicated/capacities - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Engine|Engine|No| - - -## Microsoft.Purview/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ScanStatusLogEvent|ScanStatus|No| - - -## Microsoft.RecoveryServices/Vaults - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AddonAzureBackupAlerts|Addon Azure Backup Alert Data|No| -|AddonAzureBackupJobs|Addon Azure Backup Job Data|No| -|AddonAzureBackupPolicy|Addon Azure Backup Policy Data|No| -|AddonAzureBackupProtectedInstance|Addon Azure Backup Protected Instance Data|No| -|AddonAzureBackupStorage|Addon Azure Backup Storage Data|No| -|AzureBackupReport|Azure Backup Reporting Data|No| -|AzureSiteRecoveryEvents|Azure Site Recovery Events|No| -|AzureSiteRecoveryJobs|Azure Site Recovery Jobs|No| -|AzureSiteRecoveryProtectedDiskDataChurn|Azure Site Recovery Protected Disk Data Churn|No| -|AzureSiteRecoveryRecoveryPoints|Azure Site Recovery Recovery Points|No| -|AzureSiteRecoveryReplicatedItems|Azure Site Recovery Replicated Items|No| -|AzureSiteRecoveryReplicationDataUploadRate|Azure Site Recovery Replication Data Upload Rate|No| -|AzureSiteRecoveryReplicationStats|Azure Site Recovery Replication Stats|No| -|CoreAzureBackup|Core Azure Backup Data|No| - - -## Microsoft.Relay/namespaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|HybridConnectionsEvent|HybridConnections Events|No| - - -## Microsoft.Search/searchServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|OperationLogs|Operation Logs|No| - - -## Microsoft.Security/antiMalwareSettings - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|ScanResults|AntimalwareScanResults|Yes| - - -## microsoft.securityinsights/settings - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DataConnectors|Data Collection - Connectors|Yes| - - -## Microsoft.ServiceBus/namespaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|OperationalLogs|Operational Logs|No| -|VNetAndIPFilteringLogs|VNet/IP Filtering Connection Logs|No| - - -## Microsoft.SignalRService/SignalR - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AllLogs|Azure SignalR Service Logs.|No| - - -## Microsoft.SignalRService/WebPubSub - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AllLogs|Azure Web PubSub Service Logs.|Yes| - - -## microsoft.singularity/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Execution|Execution Logs|Yes| - - -## Microsoft.Sql/managedInstances - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DevOpsOperationsAudit|Devops operations Audit Logs|No| -|ResourceUsageStats|Resource Usage Statistics|No| -|SQLSecurityAuditEvents|SQL Security Audit Event|No| - - -## Microsoft.Sql/managedInstances/databases - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Errors|Errors|No| -|QueryStoreRuntimeStatistics|Query Store Runtime Statistics|No| -|QueryStoreWaitStatistics|Query Store Wait Statistics|No| -|SQLInsights|SQL Insights|No| - - -## Microsoft.Sql/servers/databases - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AutomaticTuning|Automatic tuning|No| -|Blocks|Blocks|No| -|DatabaseWaitStatistics|Database Wait Statistics|No| -|Deadlocks|Deadlocks|No| -|DevOpsOperationsAudit|Devops operations Audit Logs|No| -|DmsWorkers|Dms Workers|No| -|Errors|Errors|No| -|ExecRequests|Exec Requests|No| -|QueryStoreRuntimeStatistics|Query Store Runtime Statistics|No| -|QueryStoreWaitStatistics|Query Store Wait Statistics|No| -|RequestSteps|Request Steps|No| -|SQLInsights|SQL Insights|No| -|SqlRequests|Sql Requests|No| -|SQLSecurityAuditEvents|SQL Security Audit Event|No| -|Timeouts|Timeouts|No| -|Waits|Waits|No| - - -## Microsoft.Storage/storageAccounts/blobServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|StorageDelete|StorageDelete|Yes| -|StorageRead|StorageRead|Yes| -|StorageWrite|StorageWrite|Yes| - - -## Microsoft.Storage/storageAccounts/fileServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|StorageDelete|StorageDelete|Yes| -|StorageRead|StorageRead|Yes| -|StorageWrite|StorageWrite|Yes| - - -## Microsoft.Storage/storageAccounts/queueServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|StorageDelete|StorageDelete|Yes| -|StorageRead|StorageRead|Yes| -|StorageWrite|StorageWrite|Yes| - - -## Microsoft.Storage/storageAccounts/tableServices - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|StorageDelete|StorageDelete|Yes| -|StorageRead|StorageRead|Yes| -|StorageWrite|StorageWrite|Yes| - - -## Microsoft.StorageCache/caches - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AscCacheOperationEvent|HPC Cache operation event|Yes| -|AscUpgradeEvent|HPC Cache upgrade event|Yes| -|AscWarningEvent|HPC Cache warning|Yes| - - -## Microsoft.StreamAnalytics/streamingjobs - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Authoring|Authoring|No| -|Execution|Execution|No| - - -## Microsoft.Synapse/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BuiltinSqlReqsEnded|Built-in Sql Pool Requests Ended|No| -|GatewayApiRequests|Synapse Gateway Api Requests|No| -|IntegrationActivityRuns|Integration Activity Runs|Yes| -|IntegrationPipelineRuns|Integration Pipeline Runs|Yes| -|IntegrationTriggerRuns|Integration Trigger Runs|Yes| -|SQLSecurityAuditEvents|SQL Security Audit Event|No| -|SynapseRbacOperations|Synapse RBAC Operations|No| - - -## Microsoft.Synapse/workspaces/bigDataPools - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BigDataPoolAppsEnded|Big Data Pool Applications Ended|No| - - -## Microsoft.Synapse/workspaces/kustoPools - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Command|Command|Yes| -|FailedIngestion|Failed ingest operations|Yes| -|IngestionBatching|Ingestion batching|Yes| -|Query|Query|Yes| -|SucceededIngestion|Successful ingest operations|Yes| -|TableDetails|Table details|Yes| -|TableUsageStatistics|Table usage statistics|Yes| - - -## Microsoft.Synapse/workspaces/sqlPools - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|DmsWorkers|Dms Workers|No| -|ExecRequests|Exec Requests|No| -|RequestSteps|Request Steps|No| -|SqlRequests|Sql Requests|No| -|SQLSecurityAuditEvents|Sql Security Audit Event|No| -|Waits|Waits|No| - - -## Microsoft.TimeSeriesInsights/environments - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Ingress|Ingress|No| -|Management|Management|No| - - -## Microsoft.TimeSeriesInsights/environments/eventsources - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Ingress|Ingress|No| -|Management|Management|No| - - -## microsoft.videoindexer/accounts - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|Audit|Audit|Yes| - - -## microsoft.web/hostingenvironments - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AppServiceEnvironmentPlatformLogs|App Service Environment Platform Logs|No| - - -## microsoft.web/sites - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AppServiceAntivirusScanAuditLogs|Report Antivirus Audit Logs|No| -|AppServiceAppLogs|App Service Application Logs|No| -|AppServiceAuditLogs|Access Audit Logs|No| -|AppServiceConsoleLogs|App Service Console Logs|No| -|AppServiceFileAuditLogs|Site Content Change Audit Logs|No| -|AppServiceHTTPLogs|HTTP logs|No| -|AppServiceIPSecAuditLogs|IPSecurity Audit logs|No| -|AppServicePlatformLogs|App Service Platform logs|No| -|FunctionAppLogs|Function Application Logs|No| - - -## microsoft.web/sites/slots - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|AppServiceAntivirusScanAuditLogs|Report Antivirus Audit Logs|No| -|AppServiceAppLogs|App Service Application Logs|No| -|AppServiceAuditLogs|Access Audit Logs|No| -|AppServiceConsoleLogs|App Service Console Logs|No| -|AppServiceFileAuditLogs|Site Content Change Audit Logs|No| -|AppServiceHTTPLogs|HTTP logs|No| -|AppServiceIPSecAuditLogs|IPSecurity Audit Logs|No| -|AppServicePlatformLogs|App Service Platform logs|No| -|FunctionAppLogs|Function Application Logs|No| - - -## Next Steps - -* [Learn more about resource logs](../essentials/platform-logs-overview.md) -* [Stream resource resource logs to **Event Hubs**](./resource-logs.md#send-to-azure-event-hubs) -* [Change resource log diagnostic settings using the Azure Monitor REST API](/rest/api/monitor/diagnosticsettings) -* [Analyze logs from Azure storage with Log Analytics](./resource-logs.md#send-to-log-analytics-workspace) diff --git a/utilities/tools/REST2CARML/temp/diagnosticMetrics.md b/utilities/tools/REST2CARML/temp/diagnosticMetrics.md deleted file mode 100644 index 2883396341..0000000000 --- a/utilities/tools/REST2CARML/temp/diagnosticMetrics.md +++ /dev/null @@ -1,3884 +0,0 @@ ---- -title: Azure Monitor supported metrics by resource type -description: List of metrics available for each resource type with Azure Monitor. -author: rboucher -services: azure-monitor -ms.topic: reference -ms.date: 09/12/2022 -ms.author: robb -ms.reviewer: priyamishra ---- - -# Supported metrics with Azure Monitor - -> [!NOTE] -> This list is largely auto-generated. Any modification made to this list via GitHub might be written over without warning. Contact the author of this article for details on how to make permanent updates. - -Date list was last updated: 2021-10-05. - -Azure Monitor provides several ways to interact with metrics, including charting them in the Azure portal, accessing them through the REST API, or querying them by using PowerShell or the Azure CLI. - -This article is a complete list of all platform (that is, automatically collected) metrics currently available with the consolidated metric pipeline in Azure Monitor. Metrics changed or added after the date at the top of this article might not yet appear in the list. To query for and access the list of metrics programmatically, use the [2018-01-01 api-version](/rest/api/monitor/metricdefinitions). Other metrics not in this list might be available in the portal or through legacy APIs. - -The metrics are organized by resource provider and resource type. For a list of services and the resource providers and types that belong to them, see [Resource providers for Azure services](../../azure-resource-manager/management/azure-services-resource-providers.md). - -## Exporting platform metrics to other locations - -You can export the platform metrics from the Azure monitor pipeline to other locations in one of two ways: - -- Use the [metrics REST API](/rest/api/monitor/metrics/list). -- Use [diagnostic settings](../essentials/diagnostic-settings.md) to route platform metrics to: - - Azure Storage. - - Azure Monitor Logs (and thus Log Analytics). - - Event hubs, which is how you get them to non-Microsoft systems. - -Using diagnostic settings is the easiest way to route the metrics, but there are some limitations: - -- **Exportability**. All metrics are exportable through the REST API, but some can't be exported through diagnostic settings because of intricacies in the Azure Monitor back end. The column "Exportable via Diagnostic Settings" in the following tables lists which metrics can be exported in this way. - -- **Multi-dimensional metrics**. Sending multi-dimensional metrics to other locations via diagnostic settings is not currently supported. Metrics with dimensions are exported as flattened single-dimensional metrics, aggregated across dimension values. - - For example, the *Incoming Messages* metric on an event hub can be explored and charted on a per-queue level. But when the metric is exported via diagnostic settings, it will be represented as all incoming messages across all queues in the event hub. - -## Guest OS and host OS metrics - -Metrics for the guest operating system (guest OS) that runs in Azure Virtual Machines, Service Fabric, and Cloud Services are *not* listed here. Guest OS metrics must be collected through one or more agents that run on or as part of the guest operating system. Guest OS metrics include performance counters that track guest CPU percentage or memory usage, both of which are frequently used for autoscaling or alerting. - -Host OS metrics *are* available and listed in the tables. Host OS metrics relate to the Hyper-V session that's hosting your guest OS session. - -> [!TIP] -> A best practice is to use and configure the Azure Monitor agent to send guest OS performance metrics into the same Azure Monitor metric database where platform metrics are stored. The agent routes guest OS metrics through the [custom metrics](../essentials/metrics-custom-overview.md) API. You can then chart, alert, and otherwise use guest OS metrics like platform metrics. -> -> Alternatively or in addition, you can send the guest OS metrics to Azure Monitor Logs by using the same agent. There you can query on those metrics in combination with non-metric data by using Log Analytics. - -The Azure Monitor agent replaces the Azure Diagnostics extension and Log Analytics agent, which were previously used for guest OS routing. For important additional information, see [Overview of Azure Monitor agents](../agents/agents-overview.md). - -## Table formatting - -This latest update adds a new column and reorders the metrics to be alphabetical. The additional information means that the tables might have a horizontal scroll bar at the bottom, depending on the width of your browser window. If you seem to be missing information, use the scroll bar to see the entirety of the table. - - -## Microsoft.AAD/DomainServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|\DirectoryServices(NTDS)\LDAP Searches/sec|Yes|NTDS - LDAP Searches/sec|CountPerSecond|Average|This metric indicates the average number of searches per second for the NTDS object. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\DirectoryServices(NTDS)\LDAP Successful Binds/sec|Yes|NTDS - LDAP Successful Binds/sec|CountPerSecond|Average|This metric indicates the number of LDAP successful binds per second for the NTDS object. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\DNS\Total Query Received/sec|Yes|DNS - Total Query Received/sec|CountPerSecond|Average|This metric indicates the average number of queries received by DNS server in each second. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\DNS\Total Response Sent/sec|Yes|Total Response Sent/sec|CountPerSecond|Average|This metric indicates the average number of responses sent by DNS server in each second. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\Memory\% Committed Bytes In Use|Yes|% Committed Bytes In Use|Percent|Average|This metric indicates the ratio of Memory\Committed Bytes to the Memory\Commit Limit. Committed memory is the physical memory in use for which space has been reserved in the paging file should it need to be written to disk. The commit limit is determined by the size of the paging file. If the paging file is enlarged, the commit limit increases, and the ratio is reduced. This counter displays the current percentage value only; it is not an average. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\Process(dns)\% Processor Time|Yes|% Processor Time (dns)|Percent|Average|This metric indicates the percentage of elapsed time that all of dns process threads used the processor to execute instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\Process(lsass)\% Processor Time|Yes|% Processor Time (lsass)|Percent|Average|This metric indicates the percentage of elapsed time that all of lsass process threads used the processor to execute instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes instructions, and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\Processor(_Total)\% Processor Time|Yes|Total Processor Time|Percent|Average|This metric indicates the percentage of elapsed time that the processor spends to execute a non-Idle thread. It is calculated by measuring the percentage of time that the processor spends executing the idle thread and then subtracting that value from 100%. (Each processor has an idle thread that consumes cycles when no other threads are ready to run). This counter is the primary indicator of processor activity, and displays the average percentage of busy time observed during the sample interval. It should be noted that the accounting calculation of whether the processor is idle is performed at an internal sampling interval of the system clock (10ms). On today's fast processors, % Processor Time can therefore underestimate the processor utilization as the processor may be spending a lot of time servicing threads between the system clock sampling interval. Workload based timer applications are one example of applications which are more likely to be measured inaccurately as timers are signaled just after the sample is taken. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\Security System-Wide Statistics\Kerberos Authentications|Yes|Kerberos Authentications|CountPerSecond|Average|This metric indicates the number of times that clients use a ticket to authenticate to this computer per second. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| -|\Security System-Wide Statistics\NTLM Authentications|Yes|NTLM Authentications|CountPerSecond|Average|This metric indicates the number of NTLM authentications processed per second for the Active Directory on this domain contrller or for local accounts on this member server. It is backed by performance counter data from the domain controller, and can be filtered or split by role instance.|No Dimensions| - - -## microsoft.aadiam/azureADMetrics - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CACompliantDeviceSuccessCount|Yes|CACompliantDeviceSuccessCount|Count|Count|CA compliant device success count for Azure AD|No Dimensions| -|CAManagedDeviceSuccessCount|No|CAManagedDeviceSuccessCount|Count|Count|CA domain join device success count for Azure AD|No Dimensions| -|MFAAttemptCount|No|MFAAttemptCount|Count|Count|MFA attempt count for Azure AD|No Dimensions| -|MFAFailureCount|No|MFAFailureCount|Count|Count|MFA failure count for Azure AD|No Dimensions| -|MFASuccessCount|No|MFASuccessCount|Count|Count|MFA success count for Azure AD|No Dimensions| -|SamlFailureCount|Yes|SamlFailureCount|Count|Count|Saml token failure count for relying party scenario|No Dimensions| -|SamlSuccessCount|Yes|SamlSuccessCount|Count|Count|Saml token success count for relying party scenario|No Dimensions| - - -## Microsoft.AnalysisServices/servers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CleanerCurrentPrice|Yes|Memory: Cleaner Current Price|Count|Average|Current price of memory, $/byte/time, normalized to 1000.|ServerResourceType| -|CleanerMemoryNonshrinkable|Yes|Memory: Cleaner Memory nonshrinkable|Bytes|Average|Amount of memory, in bytes, not subject to purging by the background cleaner.|ServerResourceType| -|CleanerMemoryShrinkable|Yes|Memory: Cleaner Memory shrinkable|Bytes|Average|Amount of memory, in bytes, subject to purging by the background cleaner.|ServerResourceType| -|CommandPoolBusyThreads|Yes|Threads: Command pool busy threads|Count|Average|Number of busy threads in the command thread pool.|ServerResourceType| -|CommandPoolIdleThreads|Yes|Threads: Command pool idle threads|Count|Average|Number of idle threads in the command thread pool.|ServerResourceType| -|CommandPoolJobQueueLength|Yes|Command Pool Job Queue Length|Count|Average|Number of jobs in the queue of the command thread pool.|ServerResourceType| -|CurrentConnections|Yes|Connection: Current connections|Count|Average|Current number of client connections established.|ServerResourceType| -|CurrentUserSessions|Yes|Current User Sessions|Count|Average|Current number of user sessions established.|ServerResourceType| -|LongParsingBusyThreads|Yes|Threads: Long parsing busy threads|Count|Average|Number of busy threads in the long parsing thread pool.|ServerResourceType| -|LongParsingIdleThreads|Yes|Threads: Long parsing idle threads|Count|Average|Number of idle threads in the long parsing thread pool.|ServerResourceType| -|LongParsingJobQueueLength|Yes|Threads: Long parsing job queue length|Count|Average|Number of jobs in the queue of the long parsing thread pool.|ServerResourceType| -|mashup_engine_memory_metric|Yes|M Engine Memory|Bytes|Average|Memory usage by mashup engine processes|ServerResourceType| -|mashup_engine_private_bytes_metric|Yes|M Engine Private Bytes|Bytes|Average|Private bytes usage by mashup engine processes.|ServerResourceType| -|mashup_engine_qpu_metric|Yes|M Engine QPU|Count|Average|QPU usage by mashup engine processes|ServerResourceType| -|mashup_engine_virtual_bytes_metric|Yes|M Engine Virtual Bytes|Bytes|Average|Virtual bytes usage by mashup engine processes.|ServerResourceType| -|memory_metric|Yes|Memory|Bytes|Average|Memory. Range 0-25 GB for S1, 0-50 GB for S2 and 0-100 GB for S4|ServerResourceType| -|memory_thrashing_metric|Yes|Memory Thrashing|Percent|Average|Average memory thrashing.|ServerResourceType| -|MemoryLimitHard|Yes|Memory: Memory Limit Hard|Bytes|Average|Hard memory limit, from configuration file.|ServerResourceType| -|MemoryLimitHigh|Yes|Memory: Memory Limit High|Bytes|Average|High memory limit, from configuration file.|ServerResourceType| -|MemoryLimitLow|Yes|Memory: Memory Limit Low|Bytes|Average|Low memory limit, from configuration file.|ServerResourceType| -|MemoryLimitVertiPaq|Yes|Memory: Memory Limit VertiPaq|Bytes|Average|In-memory limit, from configuration file.|ServerResourceType| -|MemoryUsage|Yes|Memory: Memory Usage|Bytes|Average|Memory usage of the server process as used in calculating cleaner memory price. Equal to counter Process\PrivateBytes plus the size of memory-mapped data, ignoring any memory which was mapped or allocated by the xVelocity in-memory analytics engine (VertiPaq) in excess of the xVelocity engine Memory Limit.|ServerResourceType| -|private_bytes_metric|Yes|Private Bytes|Bytes|Average|Private bytes.|ServerResourceType| -|ProcessingPoolBusyIOJobThreads|Yes|Threads: Processing pool busy I/O job threads|Count|Average|Number of threads running I/O jobs in the processing thread pool.|ServerResourceType| -|ProcessingPoolBusyNonIOThreads|Yes|Threads: Processing pool busy non-I/O threads|Count|Average|Number of threads running non-I/O jobs in the processing thread pool.|ServerResourceType| -|ProcessingPoolIdleIOJobThreads|Yes|Threads: Processing pool idle I/O job threads|Count|Average|Number of idle threads for I/O jobs in the processing thread pool.|ServerResourceType| -|ProcessingPoolIdleNonIOThreads|Yes|Threads: Processing pool idle non-I/O threads|Count|Average|Number of idle threads in the processing thread pool dedicated to non-I/O jobs.|ServerResourceType| -|ProcessingPoolIOJobQueueLength|Yes|Threads: Processing pool I/O job queue length|Count|Average|Number of I/O jobs in the queue of the processing thread pool.|ServerResourceType| -|ProcessingPoolJobQueueLength|Yes|Processing Pool Job Queue Length|Count|Average|Number of non-I/O jobs in the queue of the processing thread pool.|ServerResourceType| -|qpu_metric|Yes|QPU|Count|Average|QPU. Range 0-100 for S1, 0-200 for S2 and 0-400 for S4|ServerResourceType| -|QueryPoolBusyThreads|Yes|Query Pool Busy Threads|Count|Average|Number of busy threads in the query thread pool.|ServerResourceType| -|QueryPoolIdleThreads|Yes|Threads: Query pool idle threads|Count|Average|Number of idle threads for I/O jobs in the processing thread pool.|ServerResourceType| -|QueryPoolJobQueueLength|Yes|Threads: Query pool job queue length|Count|Average|Number of jobs in the queue of the query thread pool.|ServerResourceType| -|Quota|Yes|Memory: Quota|Bytes|Average|Current memory quota, in bytes. Memory quota is also known as a memory grant or memory reservation.|ServerResourceType| -|QuotaBlocked|Yes|Memory: Quota Blocked|Count|Average|Current number of quota requests that are blocked until other memory quotas are freed.|ServerResourceType| -|RowsConvertedPerSec|Yes|Processing: Rows converted per sec|CountPerSecond|Average|Rate of rows converted during processing.|ServerResourceType| -|RowsReadPerSec|Yes|Processing: Rows read per sec|CountPerSecond|Average|Rate of rows read from all relational databases.|ServerResourceType| -|RowsWrittenPerSec|Yes|Processing: Rows written per sec|CountPerSecond|Average|Rate of rows written during processing.|ServerResourceType| -|ShortParsingBusyThreads|Yes|Threads: Short parsing busy threads|Count|Average|Number of busy threads in the short parsing thread pool.|ServerResourceType| -|ShortParsingIdleThreads|Yes|Threads: Short parsing idle threads|Count|Average|Number of idle threads in the short parsing thread pool.|ServerResourceType| -|ShortParsingJobQueueLength|Yes|Threads: Short parsing job queue length|Count|Average|Number of jobs in the queue of the short parsing thread pool.|ServerResourceType| -|SuccessfullConnectionsPerSec|Yes|Successful Connections Per Sec|CountPerSecond|Average|Rate of successful connection completions.|ServerResourceType| -|TotalConnectionFailures|Yes|Total Connection Failures|Count|Average|Total failed connection attempts.|ServerResourceType| -|TotalConnectionRequests|Yes|Total Connection Requests|Count|Average|Total connection requests. These are arrivals.|ServerResourceType| -|VertiPaqNonpaged|Yes|Memory: VertiPaq Nonpaged|Bytes|Average|Bytes of memory locked in the working set for use by the in-memory engine.|ServerResourceType| -|VertiPaqPaged|Yes|Memory: VertiPaq Paged|Bytes|Average|Bytes of paged memory in use for in-memory data.|ServerResourceType| -|virtual_bytes_metric|Yes|Virtual Bytes|Bytes|Average|Virtual bytes.|ServerResourceType| - - -## Microsoft.ApiManagement/service - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BackendDuration|Yes|Duration of Backend Requests|Milliseconds|Average|Duration of Backend Requests in milliseconds|Location, Hostname| -|Capacity|Yes|Capacity|Percent|Average|Utilization metric for ApiManagement service|Location| -|Duration|Yes|Overall Duration of Gateway Requests|Milliseconds|Average|Overall Duration of Gateway Requests in milliseconds|Location, Hostname| -|EventHubDroppedEvents|Yes|Dropped EventHub Events|Count|Total|Number of events skipped because of queue size limit reached|Location| -|EventHubRejectedEvents|Yes|Rejected EventHub Events|Count|Total|Number of rejected EventHub events (wrong configuration or unauthorized)|Location| -|EventHubSuccessfulEvents|Yes|Successful EventHub Events|Count|Total|Number of successful EventHub events|Location| -|EventHubThrottledEvents|Yes|Throttled EventHub Events|Count|Total|Number of throttled EventHub events|Location| -|EventHubTimedoutEvents|Yes|Timed Out EventHub Events|Count|Total|Number of timed out EventHub events|Location| -|EventHubTotalBytesSent|Yes|Size of EventHub Events|Bytes|Total|Total size of EventHub events in bytes|Location| -|EventHubTotalEvents|Yes|Total EventHub Events|Count|Total|Number of events sent to EventHub|Location| -|EventHubTotalFailedEvents|Yes|Failed EventHub Events|Count|Total|Number of failed EventHub events|Location| -|FailedRequests|Yes|Failed Gateway Requests (Deprecated)|Count|Total|Number of failures in gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| -|NetworkConnectivity|Yes|Network Connectivity Status of Resources (Preview)|Count|Average|Network Connectivity status of dependent resource types from API Management service|Location, ResourceType| -|OtherRequests|Yes|Other Gateway Requests (Deprecated)|Count|Total|Number of other gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| -|Requests|Yes|Requests|Count|Total|Gateway request metrics with multiple dimensions|Location, Hostname, LastErrorReason, BackendResponseCode, GatewayResponseCode, BackendResponseCodeCategory, GatewayResponseCodeCategory| -|SuccessfulRequests|Yes|Successful Gateway Requests (Deprecated)|Count|Total|Number of successful gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| -|TotalRequests|Yes|Total Gateway Requests (Deprecated)|Count|Total|Number of gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| -|UnauthorizedRequests|Yes|Unauthorized Gateway Requests (Deprecated)|Count|Total|Number of unauthorized gateway requests - Use multi-dimension request metric with GatewayResponseCodeCategory dimension instead|Location, Hostname| - - -## Microsoft.App/containerapps - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Replicas|Yes|Replica Count|Count|Maximum|Number of replicas count of container app|revisionName| -|Requests|Yes|Requests|Count|Total|Requests processed|revisionName, podName, statusCodeCategory, statusCode| -|RestartCount|Yes|Replica Restart Count|Count|Maximum|Restart count of container app replicas|revisionName, podName| -|RxBytes|Yes|Network In Bytes|Bytes|Total|Network received bytes|revisionName, podName| -|TxBytes|Yes|Network Out Bytes|Bytes|Total|Network transmitted bytes|revisionName, podName| -|UsageNanoCores|Yes|CPU Usage|NanoCores|Average|CPU consumed by the container app, in nano cores. 1,000,000,000 nano cores = 1 core|revisionName, podName| -|WorkingSetBytes|Yes|Memory Working Set Bytes|Bytes|Average|Container App working set memory used in bytes.|revisionName, podName| - - -## Microsoft.AppConfiguration/configurationStores - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|HttpIncomingRequestCount|Yes|HttpIncomingRequestCount|Count|Count|Total number of incoming http requests.|StatusCode, Authentication| -|HttpIncomingRequestDuration|Yes|HttpIncomingRequestDuration|Count|Average|Latency on an http request.|StatusCode, Authentication| -|ThrottledHttpRequestCount|Yes|ThrottledHttpRequestCount|Count|Count|Throttled http requests.|No Dimensions| - - -## Microsoft.AppPlatform/Spring - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active-timer-count|Yes|active-timer-count|Count|Average|Number of timers that are currently active|Deployment, AppName, Pod| -|alloc-rate|Yes|alloc-rate|Bytes|Average|Number of bytes allocated in the managed heap|Deployment, AppName, Pod| -|AppCpuUsage|Yes|App CPU Usage |Percent|Average|The recent CPU usage for the app|Deployment, AppName, Pod| -|assembly-count|Yes|assembly-count|Count|Average|Number of Assemblies Loaded|Deployment, AppName, Pod| -|cpu-usage|Yes|cpu-usage|Percent|Average|% time the process has utilized the CPU|Deployment, AppName, Pod| -|current-requests|Yes|current-requests|Count|Average|Total number of requests in processing in the lifetime of the process|Deployment, AppName, Pod| -|exception-count|Yes|exception-count|Count|Total|Number of Exceptions|Deployment, AppName, Pod| -|failed-requests|Yes|failed-requests|Count|Average|Total number of failed requests in the lifetime of the process|Deployment, AppName, Pod| -|GatewayHttpServerRequestsMilliSecondsMax|Yes|Max time of requests|Milliseconds|Maximum|The max time of requests|Pod, httpStatusCode, outcome, httpMethod| -|GatewayHttpServerRequestsMilliSecondsSum|Yes|Total time of requests|Milliseconds|Total|The total time of requests|Pod, httpStatusCode, outcome, httpMethod| -|GatewayHttpServerRequestsSecondsCount|Yes|Request count|Count|Total|The number of requests|Pod, httpStatusCode, outcome, httpMethod| -|GatewayJvmGcLiveDataSizeBytes|Yes|jvm.gc.live.data.size|Bytes|Average|Size of old generation memory pool after a full GC|Pod| -|GatewayJvmGcMaxDataSizeBytes|Yes|jvm.gc.max.data.size|Bytes|Maximum|Max size of old generation memory pool|Pod| -|GatewayJvmGcMemoryAllocatedBytesTotal|Yes|jvm.gc.memory.allocated|Bytes|Maximum|Incremented for an increase in the size of the young generation memory pool after one GC to before the next|Pod| -|GatewayJvmGcMemoryPromotedBytesTotal|Yes|jvm.gc.memory.promoted|Bytes|Maximum|Count of positive increases in the size of the old generation memory pool before GC to after GC|Pod| -|GatewayJvmGcPauseSecondsCount|Yes|jvm.gc.pause.total.count|Count|Total|GC Pause Count|Pod| -|GatewayJvmGcPauseSecondsMax|Yes|jvm.gc.pause.max.time|Seconds|Maximum|GC Pause Max Time|Pod| -|GatewayJvmGcPauseSecondsSum|Yes|jvm.gc.pause.total.time|Seconds|Total|GC Pause Total Time|Pod| -|GatewayJvmMemoryCommittedBytes|Yes|jvm.memory.committed|Bytes|Average|Memory assigned to JVM in bytes|Pod| -|GatewayJvmMemoryUsedBytes|Yes|jvm.memory.used|Bytes|Average|Memory Used in bytes|Pod| -|GatewayProcessCpuUsage|Yes|process.cpu.usage|Percent|Average|The recent CPU usage for the JVM process|Pod| -|GatewayRatelimitThrottledCount|Yes|Throttled requests count|Count|Total|The count of the throttled requests|Pod| -|GatewaySystemCpuUsage|Yes|system.cpu.usage|Percent|Average|The recent CPU usage for the whole system|Pod| -|gc-heap-size|Yes|gc-heap-size|Count|Average|Total heap size reported by the GC (MB)|Deployment, AppName, Pod| -|gen-0-gc-count|Yes|gen-0-gc-count|Count|Average|Number of Gen 0 GCs|Deployment, AppName, Pod| -|gen-0-size|Yes|gen-0-size|Bytes|Average|Gen 0 Heap Size|Deployment, AppName, Pod| -|gen-1-gc-count|Yes|gen-1-gc-count|Count|Average|Number of Gen 1 GCs|Deployment, AppName, Pod| -|gen-1-size|Yes|gen-1-size|Bytes|Average|Gen 1 Heap Size|Deployment, AppName, Pod| -|gen-2-gc-count|Yes|gen-2-gc-count|Count|Average|Number of Gen 2 GCs|Deployment, AppName, Pod| -|gen-2-size|Yes|gen-2-size|Bytes|Average|Gen 2 Heap Size|Deployment, AppName, Pod| -|IngressBytesReceived|Yes|Bytes Received|Bytes|Average|Count of bytes received by Azure Spring Cloud from the clients|Hostname, HttpStatus| -|IngressBytesReceivedRate|Yes|Throughput In (bytes/s)|BytesPerSecond|Average|Bytes received per second by Azure Spring Cloud from the clients|Hostname, HttpStatus| -|IngressBytesSent|Yes|Bytes Sent|Bytes|Average|Count of bytes sent by Azure Spring Cloud to the clients|Hostname, HttpStatus| -|IngressBytesSentRate|Yes|Throughput Out (bytes/s)|BytesPerSecond|Average|Bytes sent per second by Azure Spring Cloud to the clients|Hostname, HttpStatus| -|IngressFailedRequests|Yes|Failed Requests|Count|Average|Count of failed requests by Azure Spring Cloud from the clients|Hostname, HttpStatus| -|IngressRequests|Yes|Requests|Count|Average|Count of requests by Azure Spring Cloud from the clients|Hostname, HttpStatus| -|IngressResponseStatus|Yes|Response Status|Count|Average|HTTP response status returned by Azure Spring Cloud. The response status code distribution can be further categorized to show responses in 2xx, 3xx, 4xx, and 5xx categories|Hostname, HttpStatus| -|IngressResponseTime|Yes|Response Time|Seconds|Average|Http response time return by Azure Spring Cloud|Hostname, HttpStatus||jvm.gc.max.data.size|Yes|jvm.gc.max.data.size|Bytes|Average|Max size of old generation memory pool|Deployment, AppName, Pod| -|jvm.gc.memory.allocated|Yes|jvm.gc.memory.allocated|Bytes|Maximum|Incremented for an increase in the size of the young generation memory pool after one GC to before the next|Deployment, AppName, Pod| -|jvm.gc.memory.promoted|Yes|jvm.gc.memory.promoted|Bytes|Maximum|Count of positive increases in the size of the old generation memory pool before GC to after GC|Deployment, AppName, Pod| -|jvm.gc.pause.total.count|Yes|jvm.gc.pause.total.count|Count|Total|GC Pause Count|Deployment, AppName, Pod| -|jvm.gc.pause.total.time|Yes|jvm.gc.pause.total.time|Milliseconds|Total|GC Pause Total Time|Deployment, AppName, Pod| -|jvm.memory.committed|Yes|jvm.memory.committed|Bytes|Average|Memory assigned to JVM in bytes|Deployment, AppName, Pod| -|jvm.memory.max|Yes|jvm.memory.max|Bytes|Maximum|The maximum amount of memory in bytes that can be used for memory management|Deployment, AppName, Pod| -|jvm.memory.used|Yes|jvm.memory.used|Bytes|Average|App Memory Used in bytes|Deployment, AppName, Pod| -|loh-size|Yes|loh-size|Bytes|Average|LOH Heap Size|Deployment, AppName, Pod| -|monitor-lock-contention-count|Yes|monitor-lock-contention-count|Count|Average|Number of times there were contention when trying to take the monitor lock|Deployment, AppName, Pod| -|PodCpuUsage|Yes|App CPU Usage|Percent|Average|The recent CPU usage for the app|Deployment, AppName, Pod| -|PodMemoryUsage|Yes|App Memory Usage|Percent|Average|The recent Memory usage for the app|Deployment, AppName, Pod| -|PodNetworkIn|Yes|App Network In|Bytes|Average|Cumulative count of bytes received in the app|Deployment, AppName, Pod| -|PodNetworkOut|Yes|App Network Out|Bytes|Average|Cumulative count of bytes sent from the app|Deployment, AppName, Pod| -|process.cpu.usage|Yes|process.cpu.usage|Percent|Average|The recent CPU usage for the JVM process|Deployment, AppName, Pod| -|requests-per-second|Yes|requests-rate|Count|Average|Request rate|Deployment, AppName, Pod| -|system.cpu.usage|Yes|system.cpu.usage|Percent|Average|The recent CPU usage for the whole system|Deployment, AppName, Pod| -|threadpool-completed-items-count|Yes|threadpool-completed-items-count|Count|Average|ThreadPool Completed Work Items Count|Deployment, AppName, Pod| -|threadpool-queue-length|Yes|threadpool-queue-length|Count|Average|ThreadPool Work Items Queue Length|Deployment, AppName, Pod| -|threadpool-thread-count|Yes|threadpool-thread-count|Count|Average|Number of ThreadPool Threads|Deployment, AppName, Pod| -|time-in-gc|Yes|time-in-gc|Percent|Average|% time in GC since the last GC|Deployment, AppName, Pod| -|tomcat.global.error|Yes|tomcat.global.error|Count|Total|Tomcat Global Error|Deployment, AppName, Pod| -|tomcat.global.received|Yes|tomcat.global.received|Bytes|Total|Tomcat Total Received Bytes|Deployment, AppName, Pod| -|tomcat.global.request.avg.time|Yes|tomcat.global.request.avg.time|Milliseconds|Average|Tomcat Request Average Time|Deployment, AppName, Pod| -|tomcat.global.request.max|Yes|tomcat.global.request.max|Milliseconds|Maximum|Tomcat Request Max Time|Deployment, AppName, Pod| -|tomcat.global.request.total.count|Yes|tomcat.global.request.total.count|Count|Total|Tomcat Request Total Count|Deployment, AppName, Pod| -|tomcat.global.request.total.time|Yes|tomcat.global.request.total.time|Milliseconds|Total|Tomcat Request Total Time|Deployment, AppName, Pod| -|tomcat.global.sent|Yes|tomcat.global.sent|Bytes|Total|Tomcat Total Sent Bytes|Deployment, AppName, Pod| -|tomcat.sessions.active.current|Yes|tomcat.sessions.active.current|Count|Total|Tomcat Session Active Count|Deployment, AppName, Pod| -|tomcat.sessions.active.max|Yes|tomcat.sessions.active.max|Count|Total|Tomcat Session Max Active Count|Deployment, AppName, Pod| -|tomcat.sessions.alive.max|Yes|tomcat.sessions.alive.max|Milliseconds|Maximum|Tomcat Session Max Alive Time|Deployment, AppName, Pod| -|tomcat.sessions.created|Yes|tomcat.sessions.created|Count|Total|Tomcat Session Created Count|Deployment, AppName, Pod| -|tomcat.sessions.expired|Yes|tomcat.sessions.expired|Count|Total|Tomcat Session Expired Count|Deployment, AppName, Pod| -|tomcat.sessions.rejected|Yes|tomcat.sessions.rejected|Count|Total|Tomcat Session Rejected Count|Deployment, AppName, Pod| -|tomcat.threads.config.max|Yes|tomcat.threads.config.max|Count|Total|Tomcat Config Max Thread Count|Deployment, AppName, Pod| -|tomcat.threads.current|Yes|tomcat.threads.current|Count|Total|Tomcat Current Thread Count|Deployment, AppName, Pod| -|total-requests|Yes|total-requests|Count|Average|Total number of requests in the lifetime of the process|Deployment, AppName, Pod| -|working-set|Yes|working-set|Count|Average|Amount of working set used by the process (MB)|Deployment, AppName, Pod| - - -## Microsoft.Automation/automationAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|TotalJob|Yes|Total Jobs|Count|Total|The total number of jobs|Runbook, Status| -|TotalUpdateDeploymentMachineRuns|Yes|Total Update Deployment Machine Runs|Count|Total|Total software update deployment machine runs in a software update deployment run|SoftwareUpdateConfigurationName, Status, TargetComputer, SoftwareUpdateConfigurationRunId| -|TotalUpdateDeploymentRuns|Yes|Total Update Deployment Runs|Count|Total|Total software update deployment runs|SoftwareUpdateConfigurationName, Status| - - -## microsoft.avs/privateClouds - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CapacityLatest|Yes|Datastore Disk Total Capacity|Bytes|Average|The total capacity of disk in the datastore|dsname| -|DiskUsedPercentage|Yes| Percentage Datastore Disk Used|Percent|Average|Percent of available disk used in Datastore|dsname| -|EffectiveCpuAverage|Yes|Percentage CPU|Percent|Average|Percentage of Used CPU resources in Cluster|clustername| -|EffectiveMemAverage|Yes|Average Effective Memory|Bytes|Average|Total available amount of machine memory in cluster|clustername| -|OverheadAverage|Yes|Average Memory Overhead|Bytes|Average|Host physical memory consumed by the virtualization infrastructure|clustername| -|TotalMbAverage|Yes|Average Total Memory|Bytes|Average|Total memory in cluster|clustername| -|UsageAverage|Yes|Average Memory Usage|Percent|Average|Memory usage as percentage of total configured or available memory|clustername| -|UsedLatest|Yes|Datastore Disk Used|Bytes|Average|The total amount of disk used in the datastore|dsname| - - -## Microsoft.Batch/batchAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CoreCount|No|Dedicated Core Count|Count|Total|Total number of dedicated cores in the batch account|No Dimensions| -|CreatingNodeCount|No|Creating Node Count|Count|Total|Number of nodes being created|No Dimensions| -|IdleNodeCount|No|Idle Node Count|Count|Total|Number of idle nodes|No Dimensions| -|JobDeleteCompleteEvent|Yes|Job Delete Complete Events|Count|Total|Total number of jobs that have been successfully deleted.|jobId| -|JobDeleteStartEvent|Yes|Job Delete Start Events|Count|Total|Total number of jobs that have been requested to be deleted.|jobId| -|JobDisableCompleteEvent|Yes|Job Disable Complete Events|Count|Total|Total number of jobs that have been successfully disabled.|jobId| -|JobDisableStartEvent|Yes|Job Disable Start Events|Count|Total|Total number of jobs that have been requested to be disabled.|jobId| -|JobStartEvent|Yes|Job Start Events|Count|Total|Total number of jobs that have been successfully started.|jobId| -|JobTerminateCompleteEvent|Yes|Job Terminate Complete Events|Count|Total|Total number of jobs that have been successfully terminated.|jobId| -|JobTerminateStartEvent|Yes|Job Terminate Start Events|Count|Total|Total number of jobs that have been requested to be terminated.|jobId| -|LeavingPoolNodeCount|No|Leaving Pool Node Count|Count|Total|Number of nodes leaving the Pool|No Dimensions| -|LowPriorityCoreCount|No|LowPriority Core Count|Count|Total|Total number of low-priority cores in the batch account|No Dimensions| -|OfflineNodeCount|No|Offline Node Count|Count|Total|Number of offline nodes|No Dimensions| -|PoolCreateEvent|Yes|Pool Create Events|Count|Total|Total number of pools that have been created|poolId| -|PoolDeleteCompleteEvent|Yes|Pool Delete Complete Events|Count|Total|Total number of pool deletes that have completed|poolId| -|PoolDeleteStartEvent|Yes|Pool Delete Start Events|Count|Total|Total number of pool deletes that have started|poolId| -|PoolResizeCompleteEvent|Yes|Pool Resize Complete Events|Count|Total|Total number of pool resizes that have completed|poolId| -|PoolResizeStartEvent|Yes|Pool Resize Start Events|Count|Total|Total number of pool resizes that have started|poolId| -|PreemptedNodeCount|No|Preempted Node Count|Count|Total|Number of preempted nodes|No Dimensions| -|RebootingNodeCount|No|Rebooting Node Count|Count|Total|Number of rebooting nodes|No Dimensions| -|ReimagingNodeCount|No|Reimaging Node Count|Count|Total|Number of reimaging nodes|No Dimensions| -|RunningNodeCount|No|Running Node Count|Count|Total|Number of running nodes|No Dimensions| -|StartingNodeCount|No|Starting Node Count|Count|Total|Number of nodes starting|No Dimensions| -|StartTaskFailedNodeCount|No|Start Task Failed Node Count|Count|Total|Number of nodes where the Start Task has failed|No Dimensions| -|TaskCompleteEvent|Yes|Task Complete Events|Count|Total|Total number of tasks that have completed|poolId, jobId| -|TaskFailEvent|Yes|Task Fail Events|Count|Total|Total number of tasks that have completed in a failed state|poolId, jobId| -|TaskStartEvent|Yes|Task Start Events|Count|Total|Total number of tasks that have started|poolId, jobId| -|TotalLowPriorityNodeCount|No|Low-Priority Node Count|Count|Total|Total number of low-priority nodes in the batch account|No Dimensions| -|TotalNodeCount|No|Dedicated Node Count|Count|Total|Total number of dedicated nodes in the batch account|No Dimensions| -|UnusableNodeCount|No|Unusable Node Count|Count|Total|Number of unusable nodes|No Dimensions| -|WaitingForStartTaskNodeCount|No|Waiting For Start Task Node Count|Count|Total|Number of nodes waiting for the Start Task to complete|No Dimensions| - - -## Microsoft.BatchAI/workspaces - -|Category|Category Display Name|Costs To Export| -|---|---|---| -|BaiClusterEvent|BaiClusterEvent|No| -|BaiClusterNodeEvent|BaiClusterNodeEvent|No| -|BaiJobEvent|BaiJobEvent|No| - -## microsoft.bing/accounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BlockedCalls|Yes|Blocked Calls|Count|Total|Number of calls that exceeded the rate or quota limit|ApiName, ServingRegion, StatusCode| -|ClientErrors|Yes|Client Errors|Count|Total|Number of calls with any client error (HTTP status code 4xx)|ApiName, ServingRegion, StatusCode| -|DataIn|Yes|Data In|Bytes|Total|Incoming request Content-Length in bytes|ApiName, ServingRegion, StatusCode| -|DataOut|Yes|Data Out|Bytes|Total|Outgoing response Content-Length in bytes|ApiName, ServingRegion, StatusCode| -|Latency|Yes|Latency|Milliseconds|Average|Latency in milliseconds|ApiName, ServingRegion, StatusCode| -|ServerErrors|Yes|Server Errors|Count|Total|Number of calls with any server error (HTTP status code 5xx)|ApiName, ServingRegion, StatusCode| -|SuccessfulCalls|Yes|Successful Calls|Count|Total|Number of successful calls (HTTP status code 2xx)|ApiName, ServingRegion, StatusCode| -|TotalCalls|Yes|Total Calls|Count|Total|Total number of calls|ApiName, ServingRegion, StatusCode| -|TotalErrors|Yes|Total Errors|Count|Total|Number of calls with any error (HTTP status code 4xx or 5xx)|ApiName, ServingRegion, StatusCode| - - -## Microsoft.Blockchain/blockchainMembers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BroadcastProcessedCount|Yes|BroadcastProcessedCountDisplayName|Count|Average|The number of transactions processed.|Node, channel, type, status| -|ChaincodeExecuteTimeouts|Yes|ChaincodeExecuteTimeoutsDisplayName|Count|Average|The number of chaincode executions (Init or Invoke) that have timed out.|Node, chaincode| -|ChaincodeLaunchFailures|Yes|ChaincodeLaunchFailuresDisplayName|Count|Average|The number of chaincode launches that have failed.|Node, chaincode| -|ChaincodeLaunchTimeouts|Yes|ChaincodeLaunchTimeoutsDisplayName|Count|Average|The number of chaincode launches that have timed out.|Node, chaincode| -|ChaincodeShimRequestsCompleted|Yes|ChaincodeShimRequestsCompletedDisplayName|Count|Average|The number of chaincode shim requests completed.|Node, type, channel, chaincode, success| -|ChaincodeShimRequestsReceived|Yes|ChaincodeShimRequestsReceivedDisplayName|Count|Average|The number of chaincode shim requests received.|Node, type, channel, chaincode| -|ClusterCommEgressQueueCapacity|Yes|ClusterCommEgressQueueCapacityDisplayName|Count|Average|Capacity of the egress queue.|Node, host, msg_type, channel| -|ClusterCommEgressQueueLength|Yes|ClusterCommEgressQueueLengthDisplayName|Count|Average|Length of the egress queue.|Node, host, msg_type, channel| -|ClusterCommEgressQueueWorkers|Yes|ClusterCommEgressQueueWorkersDisplayName|Count|Average|Count of egress queue workers.|Node, channel| -|ClusterCommEgressStreamCount|Yes|ClusterCommEgressStreamCountDisplayName|Count|Average|Count of streams to other nodes.|Node, channel| -|ClusterCommEgressTlsConnectionCount|Yes|ClusterCommEgressTlsConnectionCountDisplayName|Count|Average|Count of TLS connections to other nodes.|Node| -|ClusterCommIngressStreamCount|Yes|ClusterCommIngressStreamCountDisplayName|Count|Average|Count of streams from other nodes.|Node| -|ClusterCommMsgDroppedCount|Yes|ClusterCommMsgDroppedCountDisplayName|Count|Average|Count of messages dropped.|Node, host, channel| -|ConnectionAccepted|Yes|Accepted Connections|Count|Total|Accepted Connections|Node| -|ConnectionActive|Yes|Active Connections|Count|Average|Active Connections|Node| -|ConnectionHandled|Yes|Handled Connections|Count|Total|Handled Connections|Node| -|ConsensusEtcdraftActiveNodes|Yes|ConsensusEtcdraftActiveNodesDisplayName|Count|Average|Number of active nodes in this channel.|Node, channel| -|ConsensusEtcdraftClusterSize|Yes|ConsensusEtcdraftClusterSizeDisplayName|Count|Average|Number of nodes in this channel.|Node, channel| -|ConsensusEtcdraftCommittedBlockNumber|Yes|ConsensusEtcdraftCommittedBlockNumberDisplayName|Count|Average|The block number of the latest block committed.|Node, channel| -|ConsensusEtcdraftConfigProposalsReceived|Yes|ConsensusEtcdraftConfigProposalsReceivedDisplayName|Count|Average|The total number of proposals received for config type transactions.|Node, channel| -|ConsensusEtcdraftIsLeader|Yes|ConsensusEtcdraftIsLeaderDisplayName|Count|Average|The leadership status of the current node: 1 if it is the leader else 0.|Node, channel| -|ConsensusEtcdraftLeaderChanges|Yes|ConsensusEtcdraftLeaderChangesDisplayName|Count|Average|The number of leader changes since process start.|Node, channel| -|ConsensusEtcdraftNormalProposalsReceived|Yes|ConsensusEtcdraftNormalProposalsReceivedDisplayName|Count|Average|The total number of proposals received for normal type transactions.|Node, channel| -|ConsensusEtcdraftProposalFailures|Yes|ConsensusEtcdraftProposalFailuresDisplayName|Count|Average|The number of proposal failures.|Node, channel| -|ConsensusEtcdraftSnapshotBlockNumber|Yes|ConsensusEtcdraftSnapshotBlockNumberDisplayName|Count|Average|The block number of the latest snapshot.|Node, channel| -|ConsensusKafkaBatchSize|Yes|ConsensusKafkaBatchSizeDisplayName|Count|Average|The mean batch size in bytes sent to topics.|Node, topic| -|ConsensusKafkaCompressionRatio|Yes|ConsensusKafkaCompressionRatioDisplayName|Count|Average|The mean compression ratio (as percentage) for topics.|Node, topic| -|ConsensusKafkaIncomingByteRate|Yes|ConsensusKafkaIncomingByteRateDisplayName|Count|Average|Bytes/second read off brokers.|Node, broker_id| -|ConsensusKafkaLastOffsetPersisted|Yes|ConsensusKafkaLastOffsetPersistedDisplayName|Count|Average|The offset specified in the block metadata of the most recently committed block.|Node, channel| -|ConsensusKafkaOutgoingByteRate|Yes|ConsensusKafkaOutgoingByteRateDisplayName|Count|Average|Bytes/second written to brokers.|Node, broker_id| -|ConsensusKafkaRecordSendRate|Yes|ConsensusKafkaRecordSendRateDisplayName|Count|Average|The number of records per second sent to topics.|Node, topic| -|ConsensusKafkaRecordsPerRequest|Yes|ConsensusKafkaRecordsPerRequestDisplayName|Count|Average|The mean number of records sent per request to topics.|Node, topic| -|ConsensusKafkaRequestLatency|Yes|ConsensusKafkaRequestLatencyDisplayName|Count|Average|The mean request latency in ms to brokers.|Node, broker_id| -|ConsensusKafkaRequestRate|Yes|ConsensusKafkaRequestRateDisplayName|Count|Average|Requests/second sent to brokers.|Node, broker_id| -|ConsensusKafkaRequestSize|Yes|ConsensusKafkaRequestSizeDisplayName|Count|Average|The mean request size in bytes to brokers.|Node, broker_id| -|ConsensusKafkaResponseRate|Yes|ConsensusKafkaResponseRateDisplayName|Count|Average|Requests/second sent to brokers.|Node, broker_id| -|ConsensusKafkaResponseSize|Yes|ConsensusKafkaResponseSizeDisplayName|Count|Average|The mean response size in bytes from brokers.|Node, broker_id| -|CpuUsagePercentageInDouble|Yes|CPU Usage Percentage|Percent|Maximum|CPU Usage Percentage|Node| -|DeliverBlocksSent|Yes|DeliverBlocksSentDisplayName|Count|Average|The number of blocks sent by the deliver service.|Node, channel, filtered, data_type| -|DeliverRequestsCompleted|Yes|DeliverRequestsCompletedDisplayName|Count|Average|The number of deliver requests that have been completed.|Node, channel, filtered, data_type, success| -|DeliverRequestsReceived|Yes|DeliverRequestsReceivedDisplayName|Count|Average|The number of deliver requests that have been received.|Node, channel, filtered, data_type| -|DeliverStreamsClosed|Yes|DeliverStreamsClosedDisplayName|Count|Average|The number of GRPC streams that have been closed for the deliver service.|Node| -|DeliverStreamsOpened|Yes|DeliverStreamsOpenedDisplayName|Count|Average|The number of GRPC streams that have been opened for the deliver service.|Node| -|EndorserChaincodeInstantiationFailures|Yes|EndorserChaincodeInstantiationFailuresDisplayName|Count|Average|The number of chaincode instantiations or upgrade that have failed.|Node, channel, chaincode| -|EndorserDuplicateTransactionFailures|Yes|EndorserDuplicateTransactionFailuresDisplayName|Count|Average|The number of failed proposals due to duplicate transaction ID.|Node, channel, chaincode| -|EndorserEndorsementFailures|Yes|EndorserEndorsementFailuresDisplayName|Count|Average|The number of failed endorsements.|Node, channel, chaincode, chaincodeerror| -|EndorserProposalAclFailures|Yes|EndorserProposalAclFailuresDisplayName|Count|Average|The number of proposals that failed ACL checks.|Node, channel, chaincode| -|EndorserProposalSimulationFailures|Yes|EndorserProposalSimulationFailuresDisplayName|Count|Average|The number of failed proposal simulations.|Node, channel, chaincode| -|EndorserProposalsReceived|Yes|EndorserProposalsReceivedDisplayName|Count|Average|The number of proposals received.|Node| -|EndorserProposalValidationFailures|Yes|EndorserProposalValidationFailuresDisplayName|Count|Average|The number of proposals that have failed initial validation.|Node| -|EndorserSuccessfulProposals|Yes|EndorserSuccessfulProposalsDisplayName|Count|Average|The number of successful proposals.|Node| -|FabricVersion|Yes|FabricVersionDisplayName|Count|Average|The active version of Fabric.|Node, version| -|GossipCommMessagesReceived|Yes|GossipCommMessagesReceivedDisplayName|Count|Average|Number of messages received.|Node| -|GossipCommMessagesSent|Yes|GossipCommMessagesSentDisplayName|Count|Average|Number of messages sent.|Node| -|GossipCommOverflowCount|Yes|GossipCommOverflowCountDisplayName|Count|Average|Number of outgoing queue buffer overflows.|Node| -|GossipLeaderElectionLeader|Yes|GossipLeaderElectionLeaderDisplayName|Count|Average|Peer is leader (1) or follower (0).|Node, channel| -|GossipMembershipTotalPeersKnown|Yes|GossipMembershipTotalPeersKnownDisplayName|Count|Average|Total known peers.|Node, channel| -|GossipPayloadBufferSize|Yes|GossipPayloadBufferSizeDisplayName|Count|Average|Size of the payload buffer.|Node, channel| -|GossipStateHeight|Yes|GossipStateHeightDisplayName|Count|Average|Current ledger height.|Node, channel| -|GrpcCommConnClosed|Yes|GrpcCommConnClosedDisplayName|Count|Average|gRPC connections closed. Open minus closed is the active number of connections.|Node| -|GrpcCommConnOpened|Yes|GrpcCommConnOpenedDisplayName|Count|Average|gRPC connections opened. Open minus closed is the active number of connections.|Node| -|GrpcServerStreamMessagesReceived|Yes|GrpcServerStreamMessagesReceivedDisplayName|Count|Average|The number of stream messages received.|Node, service, method| -|GrpcServerStreamMessagesSent|Yes|GrpcServerStreamMessagesSentDisplayName|Count|Average|The number of stream messages sent.|Node, service, method| -|GrpcServerStreamRequestsCompleted|Yes|GrpcServerStreamRequestsCompletedDisplayName|Count|Average|The number of stream requests completed.|Node, service, method, code| -|GrpcServerUnaryRequestsReceived|Yes|GrpcServerUnaryRequestsReceivedDisplayName|Count|Average|The number of unary requests received.|Node, service, method| -|IOReadBytes|Yes|IO Read Bytes|Bytes|Total|IO Read Bytes|Node| -|IOWriteBytes|Yes|IO Write Bytes|Bytes|Total|IO Write Bytes|Node| -|LedgerBlockchainHeight|Yes|LedgerBlockchainHeightDisplayName|Count|Average|Height of the chain in blocks.|Node, channel| -|LedgerTransactionCount|Yes|LedgerTransactionCountDisplayName|Count|Average|Number of transactions processed.|Node, channel, transaction_type, chaincode, validation_code| -|LoggingEntriesChecked|Yes|LoggingEntriesCheckedDisplayName|Count|Average|Number of log entries checked against the active logging level.|Node, level| -|LoggingEntriesWritten|Yes|LoggingEntriesWrittenDisplayName|Count|Average|Number of log entries that are written.|Node, level| -|MemoryLimit|Yes|Memory Limit|Bytes|Average|Memory Limit|Node| -|MemoryUsage|Yes|Memory Usage|Bytes|Average|Memory Usage|Node| -|MemoryUsagePercentageInDouble|Yes|Memory Usage Percentage|Percent|Average|Memory Usage Percentage|Node| -|PendingTransactions|Yes|Pending Transactions|Count|Average|Pending Transactions|Node| -|ProcessedBlocks|Yes|Processed Blocks|Count|Total|Processed Blocks|Node| -|ProcessedTransactions|Yes|Processed Transactions|Count|Total|Processed Transactions|Node| -|QueuedTransactions|Yes|Queued Transactions|Count|Average|Queued Transactions|Node| -|RequestHandled|Yes|Handled Requests|Count|Total|Handled Requests|Node| -|StorageUsage|Yes|Storage Usage|Bytes|Average|Storage Usage|Node| - - -## Microsoft.BotService/botServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|RequestLatency|Yes|Requests Latencies|Milliseconds|Average|How long it takes to get request response|Operation, Authentication, Protocol, ResourceId, Region| -|RequestsTraffic|Yes|Requests Traffic|Count|Average|Number of requests within a given period of time|Operation, Authentication, Protocol, ResourceId, Region, StatusCode, StatusCodeClass, StatusText| - - -## Microsoft.Cache/redis - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|allcachehits|Yes|Cache Hits (Instance Based)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allcachemisses|Yes|Cache Misses (Instance Based)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allcacheRead|Yes|Cache Read (Instance Based)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allcacheWrite|Yes|Cache Write (Instance Based)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allconnectedclients|Yes|Connected Clients (Instance Based)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allConnectionsClosedPerSecond|Yes|Connections Closed Per Second (Instance Based)|CountPerSecond|Maximum|The number of instantaneous connections closed per second on the cache via port 6379 or 6380 (SSL). For more details, see https://aka.ms/redis/metrics.|ShardId, Primary, Ssl| -|allConnectionsCreatedPerSecond|Yes|Connections Created Per Second (Instance Based)|CountPerSecond|Maximum|The number of instantaneous connections created per second on the cache via port 6379 or 6380 (SSL). For more details, see https://aka.ms/redis/metrics.|ShardId, Primary, Ssl| -|allevictedkeys|Yes|Evicted Keys (Instance Based)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allexpiredkeys|Yes|Expired Keys (Instance Based)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allgetcommands|Yes|Gets (Instance Based)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|alloperationsPerSecond|Yes|Operations Per Second (Instance Based)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allpercentprocessortime|Yes|CPU (Instance Based)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allserverLoad|Yes|Server Load (Instance Based)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allsetcommands|Yes|Sets (Instance Based)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|alltotalcommandsprocessed|Yes|Total Operations (Instance Based)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|alltotalkeys|Yes|Total Keys (Instance Based)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allusedmemory|Yes|Used Memory (Instance Based)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allusedmemorypercentage|Yes|Used Memory Percentage (Instance Based)|Percent|Maximum|The percentage of cache memory used for key/value pairs. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|allusedmemoryRss|Yes|Used Memory RSS (Instance Based)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|ShardId, Port, Primary| -|cachehits|Yes|Cache Hits|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId| -|cachehits0|Yes|Cache Hits (Shard 0)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits1|Yes|Cache Hits (Shard 1)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits2|Yes|Cache Hits (Shard 2)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits3|Yes|Cache Hits (Shard 3)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits4|Yes|Cache Hits (Shard 4)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits5|Yes|Cache Hits (Shard 5)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits6|Yes|Cache Hits (Shard 6)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits7|Yes|Cache Hits (Shard 7)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits8|Yes|Cache Hits (Shard 8)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachehits9|Yes|Cache Hits (Shard 9)|Count|Total|The number of successful key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheLatency|Yes|Cache Latency Microseconds (Preview)|Count|Average|The latency to the cache in microseconds. For more details, see https://aka.ms/redis/metrics.|ShardId| -|cachemisses|Yes|Cache Misses|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|ShardId| -|cachemisses0|Yes|Cache Misses (Shard 0)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses1|Yes|Cache Misses (Shard 1)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses2|Yes|Cache Misses (Shard 2)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses3|Yes|Cache Misses (Shard 3)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses4|Yes|Cache Misses (Shard 4)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses5|Yes|Cache Misses (Shard 5)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses6|Yes|Cache Misses (Shard 6)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses7|Yes|Cache Misses (Shard 7)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses8|Yes|Cache Misses (Shard 8)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemisses9|Yes|Cache Misses (Shard 9)|Count|Total|The number of failed key lookups. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cachemissrate|Yes|Cache Miss Rate|Percent|Total|The % of get requests that miss. For more details, see https://aka.ms/redis/metrics.|ShardId| -|cacheRead|Yes|Cache Read|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId| -|cacheRead0|Yes|Cache Read (Shard 0)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead1|Yes|Cache Read (Shard 1)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead2|Yes|Cache Read (Shard 2)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead3|Yes|Cache Read (Shard 3)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead4|Yes|Cache Read (Shard 4)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead5|Yes|Cache Read (Shard 5)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead6|Yes|Cache Read (Shard 6)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead7|Yes|Cache Read (Shard 7)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead8|Yes|Cache Read (Shard 8)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheRead9|Yes|Cache Read (Shard 9)|BytesPerSecond|Maximum|The amount of data read from the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite|Yes|Cache Write|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|ShardId| -|cacheWrite0|Yes|Cache Write (Shard 0)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite1|Yes|Cache Write (Shard 1)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite2|Yes|Cache Write (Shard 2)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite3|Yes|Cache Write (Shard 3)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite4|Yes|Cache Write (Shard 4)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite5|Yes|Cache Write (Shard 5)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite6|Yes|Cache Write (Shard 6)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite7|Yes|Cache Write (Shard 7)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite8|Yes|Cache Write (Shard 8)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|cacheWrite9|Yes|Cache Write (Shard 9)|BytesPerSecond|Maximum|The amount of data written to the cache in Megabytes per second (MB/s). For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients|Yes|Connected Clients|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| -|connectedclients0|Yes|Connected Clients (Shard 0)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients1|Yes|Connected Clients (Shard 1)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients2|Yes|Connected Clients (Shard 2)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients3|Yes|Connected Clients (Shard 3)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients4|Yes|Connected Clients (Shard 4)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients5|Yes|Connected Clients (Shard 5)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients6|Yes|Connected Clients (Shard 6)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients7|Yes|Connected Clients (Shard 7)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients8|Yes|Connected Clients (Shard 8)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|connectedclients9|Yes|Connected Clients (Shard 9)|Count|Maximum|The number of client connections to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|errors|Yes|Errors|Count|Maximum|The number errors that occurred on the cache. For more details, see https://aka.ms/redis/metrics.|ShardId, ErrorType| -|evictedkeys|Yes|Evicted Keys|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| -|evictedkeys0|Yes|Evicted Keys (Shard 0)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys1|Yes|Evicted Keys (Shard 1)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys2|Yes|Evicted Keys (Shard 2)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys3|Yes|Evicted Keys (Shard 3)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys4|Yes|Evicted Keys (Shard 4)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys5|Yes|Evicted Keys (Shard 5)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys6|Yes|Evicted Keys (Shard 6)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys7|Yes|Evicted Keys (Shard 7)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys8|Yes|Evicted Keys (Shard 8)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|evictedkeys9|Yes|Evicted Keys (Shard 9)|Count|Total|The number of items evicted from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys|Yes|Expired Keys|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| -|expiredkeys0|Yes|Expired Keys (Shard 0)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys1|Yes|Expired Keys (Shard 1)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys2|Yes|Expired Keys (Shard 2)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys3|Yes|Expired Keys (Shard 3)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys4|Yes|Expired Keys (Shard 4)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys5|Yes|Expired Keys (Shard 5)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys6|Yes|Expired Keys (Shard 6)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys7|Yes|Expired Keys (Shard 7)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys8|Yes|Expired Keys (Shard 8)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|expiredkeys9|Yes|Expired Keys (Shard 9)|Count|Total|The number of items expired from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands|Yes|Gets|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| -|getcommands0|Yes|Gets (Shard 0)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands1|Yes|Gets (Shard 1)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands2|Yes|Gets (Shard 2)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands3|Yes|Gets (Shard 3)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands4|Yes|Gets (Shard 4)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands5|Yes|Gets (Shard 5)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands6|Yes|Gets (Shard 6)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands7|Yes|Gets (Shard 7)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands8|Yes|Gets (Shard 8)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|getcommands9|Yes|Gets (Shard 9)|Count|Total|The number of get operations from the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond|Yes|Operations Per Second|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| -|operationsPerSecond0|Yes|Operations Per Second (Shard 0)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond1|Yes|Operations Per Second (Shard 1)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond2|Yes|Operations Per Second (Shard 2)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond3|Yes|Operations Per Second (Shard 3)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond4|Yes|Operations Per Second (Shard 4)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond5|Yes|Operations Per Second (Shard 5)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond6|Yes|Operations Per Second (Shard 6)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond7|Yes|Operations Per Second (Shard 7)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond8|Yes|Operations Per Second (Shard 8)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|operationsPerSecond9|Yes|Operations Per Second (Shard 9)|Count|Maximum|The number of instantaneous operations per second executed on the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime|Yes|CPU|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|ShardId| -|percentProcessorTime0|Yes|CPU (Shard 0)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime1|Yes|CPU (Shard 1)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime2|Yes|CPU (Shard 2)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime3|Yes|CPU (Shard 3)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime4|Yes|CPU (Shard 4)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime5|Yes|CPU (Shard 5)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime6|Yes|CPU (Shard 6)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime7|Yes|CPU (Shard 7)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime8|Yes|CPU (Shard 8)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|percentProcessorTime9|Yes|CPU (Shard 9)|Percent|Maximum|The CPU utilization of the Azure Redis Cache server as a percentage. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad|Yes|Server Load|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|ShardId| -|serverLoad0|Yes|Server Load (Shard 0)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad1|Yes|Server Load (Shard 1)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad2|Yes|Server Load (Shard 2)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad3|Yes|Server Load (Shard 3)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad4|Yes|Server Load (Shard 4)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad5|Yes|Server Load (Shard 5)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad6|Yes|Server Load (Shard 6)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad7|Yes|Server Load (Shard 7)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad8|Yes|Server Load (Shard 8)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|serverLoad9|Yes|Server Load (Shard 9)|Percent|Maximum|The percentage of cycles in which the Redis server is busy processing and not waiting idle for messages. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands|Yes|Sets|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| -|setcommands0|Yes|Sets (Shard 0)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands1|Yes|Sets (Shard 1)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands2|Yes|Sets (Shard 2)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands3|Yes|Sets (Shard 3)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands4|Yes|Sets (Shard 4)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands5|Yes|Sets (Shard 5)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands6|Yes|Sets (Shard 6)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands7|Yes|Sets (Shard 7)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands8|Yes|Sets (Shard 8)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|setcommands9|Yes|Sets (Shard 9)|Count|Total|The number of set operations to the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed|Yes|Total Operations|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|ShardId| -|totalcommandsprocessed0|Yes|Total Operations (Shard 0)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed1|Yes|Total Operations (Shard 1)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed2|Yes|Total Operations (Shard 2)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed3|Yes|Total Operations (Shard 3)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed4|Yes|Total Operations (Shard 4)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed5|Yes|Total Operations (Shard 5)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed6|Yes|Total Operations (Shard 6)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed7|Yes|Total Operations (Shard 7)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed8|Yes|Total Operations (Shard 8)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalcommandsprocessed9|Yes|Total Operations (Shard 9)|Count|Total|The total number of commands processed by the cache server. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys|Yes|Total Keys|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|ShardId| -|totalkeys0|Yes|Total Keys (Shard 0)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys1|Yes|Total Keys (Shard 1)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys2|Yes|Total Keys (Shard 2)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys3|Yes|Total Keys (Shard 3)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys4|Yes|Total Keys (Shard 4)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys5|Yes|Total Keys (Shard 5)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys6|Yes|Total Keys (Shard 6)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys7|Yes|Total Keys (Shard 7)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys8|Yes|Total Keys (Shard 8)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|totalkeys9|Yes|Total Keys (Shard 9)|Count|Maximum|The total number of items in the cache. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory|Yes|Used Memory|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|ShardId| -|usedmemory0|Yes|Used Memory (Shard 0)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory1|Yes|Used Memory (Shard 1)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory2|Yes|Used Memory (Shard 2)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory3|Yes|Used Memory (Shard 3)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory4|Yes|Used Memory (Shard 4)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory5|Yes|Used Memory (Shard 5)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory6|Yes|Used Memory (Shard 6)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory7|Yes|Used Memory (Shard 7)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory8|Yes|Used Memory (Shard 8)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemory9|Yes|Used Memory (Shard 9)|Bytes|Maximum|The amount of cache memory used for key/value pairs in the cache in MB. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemorypercentage|Yes|Used Memory Percentage|Percent|Maximum|The percentage of cache memory used for key/value pairs. For more details, see https://aka.ms/redis/metrics.|ShardId| -|usedmemoryRss|Yes|Used Memory RSS|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|ShardId| -|usedmemoryRss0|Yes|Used Memory RSS (Shard 0)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss1|Yes|Used Memory RSS (Shard 1)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss2|Yes|Used Memory RSS (Shard 2)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss3|Yes|Used Memory RSS (Shard 3)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss4|Yes|Used Memory RSS (Shard 4)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss5|Yes|Used Memory RSS (Shard 5)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss6|Yes|Used Memory RSS (Shard 6)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss7|Yes|Used Memory RSS (Shard 7)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss8|Yes|Used Memory RSS (Shard 8)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| -|usedmemoryRss9|Yes|Used Memory RSS (Shard 9)|Bytes|Maximum|The amount of cache memory used in MB, including fragmentation and metadata. For more details, see https://aka.ms/redis/metrics.|No Dimensions| - - -## Microsoft.Cache/redisEnterprise - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|cachehits|Yes|Cache Hits|Count|Total||No Dimensions| -|cacheLatency|Yes|Cache Latency Microseconds (Preview)|Count|Average||InstanceId| -|cachemisses|Yes|Cache Misses|Count|Total||InstanceId| -|cacheRead|Yes|Cache Read|BytesPerSecond|Maximum||InstanceId| -|cacheWrite|Yes|Cache Write|BytesPerSecond|Maximum||InstanceId| -|connectedclients|Yes|Connected Clients|Count|Maximum||InstanceId| -|errors|Yes|Errors|Count|Maximum||InstanceId, ErrorType| -|evictedkeys|Yes|Evicted Keys|Count|Total||No Dimensions| -|expiredkeys|Yes|Expired Keys|Count|Total||No Dimensions| -|geoReplicationHealthy|Yes|Geo Replication Healthy|Count|Maximum||No Dimensions| -|getcommands|Yes|Gets|Count|Total||No Dimensions| -|operationsPerSecond|Yes|Operations Per Second|Count|Maximum||No Dimensions| -|percentProcessorTime|Yes|CPU|Percent|Maximum||InstanceId| -|serverLoad|Yes|Server Load|Percent|Maximum||No Dimensions| -|setcommands|Yes|Sets|Count|Total||No Dimensions| -|totalcommandsprocessed|Yes|Total Operations|Count|Total||No Dimensions| -|totalkeys|Yes|Total Keys|Count|Maximum||No Dimensions| -|usedmemory|Yes|Used Memory|Bytes|Maximum||No Dimensions| -|usedmemorypercentage|Yes|Used Memory Percentage|Percent|Maximum||InstanceId| - - -## Microsoft.Cdn/cdnwebapplicationfirewallpolicies - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|WebApplicationFirewallRequestCount|Yes|Web Application Firewall Request Count|Count|Total|The number of client requests processed by the Web Application Firewall|PolicyName, RuleName, Action| - - -## Microsoft.Cdn/profiles - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ByteHitRatio|Yes|Byte Hit Ratio|Percent|Average|This is the ratio of the total bytes served from the cache compared to the total response bytes|Endpoint| -|OriginHealthPercentage|Yes|Origin Health Percentage|Percent|Average|The percentage of successful health probes from AFDX to backends.|Origin, OriginGroup| -|OriginLatency|Yes|Origin Latency|MilliSeconds|Average|The time calculated from when the request was sent by AFDX edge to the backend until AFDX received the last response byte from the backend.|Origin, Endpoint| -|OriginRequestCount|Yes|Origin Request Count|Count|Total|The number of requests sent from AFDX to origin.|HttpStatus, HttpStatusGroup, Origin, Endpoint| -|Percentage4XX|Yes|Percentage of 4XX|Percent|Average|The percentage of all the client requests for which the response status code is 4XX|Endpoint, ClientRegion, ClientCountry| -|Percentage5XX|Yes|Percentage of 5XX|Percent|Average|The percentage of all the client requests for which the response status code is 5XX|Endpoint, ClientRegion, ClientCountry| -|RequestCount|Yes|Request Count|Count|Total|The number of client requests served by the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| -|RequestSize|Yes|Request Size|Bytes|Total|The number of bytes sent as requests from clients to AFDX.|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| -|ResponseSize|Yes|Response Size|Bytes|Total|The number of bytes sent as responses from HTTP/S proxy to clients|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| -|TotalLatency|Yes|Total Latency|MilliSeconds|Average|The time calculated from when the client request was received by the HTTP/S proxy until the client acknowledged the last response byte from the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry, Endpoint| -|WebApplicationFirewallRequestCount|Yes|Web Application Firewall Request Count|Count|Total|The number of client requests processed by the Web Application Firewall|PolicyName, RuleName, Action| - - -## Microsoft.ClassicCompute/domainNames/slots/roles - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Disk Read Bytes/Sec|No|Disk Read|BytesPerSecond|Average|Average bytes read from disk during monitoring period.|RoleInstanceId| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS.|RoleInstanceId| -|Disk Write Bytes/Sec|No|Disk Write|BytesPerSecond|Average|Average bytes written to disk during monitoring period.|RoleInstanceId| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS.|RoleInstanceId| -|Network In|Yes|Network In|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic).|RoleInstanceId| -|Network Out|Yes|Network Out|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic).|RoleInstanceId| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s).|RoleInstanceId| - - -## Microsoft.ClassicCompute/virtualMachines - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Disk Read Bytes/Sec|No|Disk Read|BytesPerSecond|Average|Average bytes read from disk during monitoring period.|No Dimensions| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS.|No Dimensions| -|Disk Write Bytes/Sec|No|Disk Write|BytesPerSecond|Average|Average bytes written to disk during monitoring period.|No Dimensions| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS.|No Dimensions| -|Network In|Yes|Network In|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic).|No Dimensions| -|Network Out|Yes|Network Out|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic).|No Dimensions| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s).|No Dimensions| - - -## Microsoft.ClassicStorage/storageAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| -|UsedCapacity|Yes|Used capacity|Bytes|Average|Account used capacity|No Dimensions| - - -## Microsoft.ClassicStorage/storageAccounts/blobServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|BlobCapacity|No|Blob Capacity|Bytes|Average|The amount of storage used by the storage account's Blob service in bytes.|BlobType, Tier| -|BlobCount|No|Blob Count|Count|Average|The number of Blob in the storage account's Blob service.|BlobType, Tier| -|ContainerCount|Yes|Blob Container Count|Count|Average|The number of containers in the storage account's Blob service.|No Dimensions| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|IndexCapacity|No|Index Capacity|Bytes|Average|The amount of storage used by ADLS Gen2 (Hierarchical) Index in bytes.|No Dimensions| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| - - -## Microsoft.ClassicStorage/storageAccounts/fileServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication, FileShare| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication, FileShare| -|FileCapacity|No|File Capacity|Bytes|Average|The amount of storage used by the storage account's File service in bytes.|FileShare| -|FileCount|No|File Count|Count|Average|The number of files in the storage account's File service.|FileShare| -|FileShareCount|No|File Share Count|Count|Average|The number of file shares in the storage account's File service.|No Dimensions| -|FileShareQuota|No|File share quota size|Bytes|Average|The upper limit on the amount of storage that can be used by Azure Files Service in bytes.|FileShare| -|FileShareSnapshotCount|No|File Share Snapshot Count|Count|Average|The number of snapshots present on the share in storage account's Files Service.|FileShare| -|FileShareSnapshotSize|No|File Share Snapshot Size|Bytes|Average|The amount of storage used by the snapshots in storage account's File service in bytes.|FileShare| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication, FileShare| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication, FileShare| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication, FileShare| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication, FileShare| - - -## Microsoft.ClassicStorage/storageAccounts/queueServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|QueueCapacity|Yes|Queue Capacity|Bytes|Average|The amount of storage used by the storage account's Queue service in bytes.|No Dimensions| -|QueueCount|Yes|Queue Count|Count|Average|The number of queue in the storage account's Queue service.|No Dimensions| -|QueueMessageCount|Yes|Queue Message Count|Count|Average|The approximate number of queue messages in the storage account's Queue service.|No Dimensions| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| - - -## Microsoft.ClassicStorage/storageAccounts/tableServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data, in bytes. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The latency used by Azure Storage to process a successful request, in milliseconds. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|TableCapacity|Yes|Table Capacity|Bytes|Average|The amount of storage used by the storage account's Table service in bytes.|No Dimensions| -|TableCount|Yes|Table Count|Count|Average|The number of tables in the storage account's Table service.|No Dimensions| -|TableEntityCount|Yes|Table Entity Count|Count|Average|The number of table entities in the storage account's Table service.|No Dimensions| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| - - -## Microsoft.Cloudtest/hostedpools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Allocated|Yes|Allocated|Count|Average|Resources that are allocated|PoolId, SKU, Images, ProviderName| -|AllocationDurationMs|Yes|AllocationDurationMs|Milliseconds|Average|Average time to allocate requests (ms)|PoolId, Type, ResourceRequestType, Image| -|Count|Yes|Count|Count|Count|Number of requests in last dump|RequestType, Status, PoolId, Type, ErrorCode, FailureStage| -|NotReady|Yes|NotReady|Count|Average|Resources that are not ready to be used|PoolId, SKU, Images, ProviderName| -|PendingReimage|Yes|PendingReimage|Count|Average|Resources that are pending reimage|PoolId, SKU, Images, ProviderName| -|PendingReturn|Yes|PendingReturn|Count|Average|Resources that are pending return|PoolId, SKU, Images, ProviderName| -|Provisioned|Yes|Provisioned|Count|Average|Resources that are provisioned|PoolId, SKU, Images, ProviderName| -|Ready|Yes|Ready|Count|Average|Resources that are ready to be used|PoolId, SKU, Images, ProviderName| -|Starting|Yes|Starting|Count|Average|Resources that are starting|PoolId, SKU, Images, ProviderName| -|Total|Yes|Total|Count|Average|Total Number of Resources|PoolId, SKU, Images, ProviderName| - - -## Microsoft.Cloudtest/pools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Allocated|Yes|Allocated|Count|Average|Resources that are allocated|PoolId, SKU, Images, ProviderName| -|AllocationDurationMs|Yes|AllocationDurationMs|Milliseconds|Average|Average time to allocate requests (ms)|PoolId, Type, ResourceRequestType, Image| -|Count|Yes|Count|Count|Count|Number of requests in last dump|RequestType, Status, PoolId, Type, ErrorCode, FailureStage| -|NotReady|Yes|NotReady|Count|Average|Resources that are not ready to be used|PoolId, SKU, Images, ProviderName| -|PendingReimage|Yes|PendingReimage|Count|Average|Resources that are pending reimage|PoolId, SKU, Images, ProviderName| -|PendingReturn|Yes|PendingReturn|Count|Average|Resources that are pending return|PoolId, SKU, Images, ProviderName| -|Provisioned|Yes|Provisioned|Count|Average|Resources that are provisioned|PoolId, SKU, Images, ProviderName| -|Ready|Yes|Ready|Count|Average|Resources that are ready to be used|PoolId, SKU, Images, ProviderName| -|Starting|Yes|Starting|Count|Average|Resources that are starting|PoolId, SKU, Images, ProviderName| -|Total|Yes|Total|Count|Average|Total Number of Resources|PoolId, SKU, Images, ProviderName| - - -## Microsoft.ClusterStor/nodes - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|TotalCapacityAvailable|No|TotalCapacityAvailable|Bytes|Average|The total capacity available in lustre file system|filesystem_name, category, system| -|TotalCapacityUsed|No|TotalCapacityUsed|Bytes|Average|The total capacity used in lustre file system|filesystem_name, category, system| -|TotalRead|No|TotalRead|BytesPerSecond|Average|The total lustre file system read per second|filesystem_name, category, system| -|TotalWrite|No|TotalWrite|BytesPerSecond|Average|The total lustre file system writes per second|filesystem_name, category, system| - - -## Microsoft.CognitiveServices/accounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BlockedCalls|Yes|Blocked Calls|Count|Total|Number of calls that exceeded rate or quota limit.|ApiName, OperationName, Region| -|CharactersTrained|Yes|Characters Trained|Count|Total|Total number of characters trained.|ApiName, OperationName, Region| -|CharactersTranslated|Yes|Characters Translated|Count|Total|Total number of characters in incoming text request.|ApiName, OperationName, Region| -|ClientErrors|Yes|Client Errors|Count|Total|Number of calls with client side error (HTTP response code 4xx).|ApiName, OperationName, Region| -|DataIn|Yes|Data In|Bytes|Total|Size of incoming data in bytes.|ApiName, OperationName, Region| -|DataOut|Yes|Data Out|Bytes|Total|Size of outgoing data in bytes.|ApiName, OperationName, Region| -|Latency|Yes|Latency|MilliSeconds|Average|Latency in milliseconds.|ApiName, OperationName, Region| -|LearnedEvents|Yes|Learned Events|Count|Total|Number of Learned Events.|IsMatchBaseline, Mode, RunId| -|MatchedRewards|Yes|Matched Rewards|Count|Total| Number of Matched Rewards.|Mode, RunId| -|ObservedRewards|Yes|Observed Rewards|Count|Total|Number of Observed Rewards.|Mode, RunId| -|ProcessedCharacters|Yes|Processed Characters|Count|Total|Number of Characters.|ApiName, FeatureName, UsageChannel, Region| -|ProcessedTextRecords|Yes|Processed Text Records|Count|Total|Count of Text Records.|ApiName, FeatureName, UsageChannel, Region| -|ServerErrors|Yes|Server Errors|Count|Total|Number of calls with service internal error (HTTP response code 5xx).|ApiName, OperationName, Region| -|SpeechSessionDuration|Yes|Speech Session Duration|Seconds|Total|Total duration of speech session in seconds.|ApiName, OperationName, Region| -|SuccessfulCalls|Yes|Successful Calls|Count|Total|Number of successful calls.|ApiName, OperationName, Region| -|TotalCalls|Yes|Total Calls|Count|Total|Total number of calls.|ApiName, OperationName, Region| -|TotalErrors|Yes|Total Errors|Count|Total|Total number of calls with error response (HTTP response code 4xx or 5xx).|ApiName, OperationName, Region| -|TotalTokenCalls|Yes|Total Token Calls|Count|Total|Total number of token calls.|ApiName, OperationName, Region| -|TotalTransactions|Yes|Total Transactions|Count|Total|Total number of transactions.|No Dimensions| - - -## Microsoft.Communication/CommunicationServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|APIRequestAuthentication|No|Authentication API Requests|Count|Count|Count of all requests against the Communication Services Authentication endpoint.|Operation, StatusCode, StatusCodeClass| -|APIRequestCallRecording|Yes|Call Recording API Requests|Count|Count|Count of all requests against the Communication Services Call Recording endpoint.|Operation, StatusCode, StatusCodeClass| -|APIRequestChat|Yes|Chat API Requests|Count|Count|Count of all requests against the Communication Services Chat endpoint.|Operation, StatusCode, StatusCodeClass| -|APIRequestNetworkTraversal|No|Network Traversal API Requests|Count|Count|Count of all requests against the Communication Services Network Traversal endpoint.|Operation, StatusCode, StatusCodeClass| -|ApiRequests|Yes|Email Service API Requests|Count|Count|Email Communication Services API request metric for the data-plane API surface.|Operation, StatusCode, StatusCodeClass, StatusCodeReason| -|APIRequestSMS|Yes|SMS API Requests|Count|Count|Count of all requests against the Communication Services SMS endpoint.|Operation, StatusCode, StatusCodeClass, ErrorCode, NumberType| -|DeliveryStatusUpdate|Yes|Email Service Delivery Status Updates|Count|Count|Email Communication Services message delivery results.|MessageStatus, Result| -|UserEngagement|Yes|Email Service User Engagement|Count|Count|Email Communication Services user engagement metrics.|EngagementType| - - -## Microsoft.Compute/cloudServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|RoleInstanceId, RoleId| -|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|RoleInstanceId, RoleId| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|RoleInstanceId, RoleId| -|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|RoleInstanceId, RoleId| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|RoleInstanceId, RoleId| -|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|RoleInstanceId, RoleId| -|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|RoleInstanceId, RoleId| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|RoleInstanceId, RoleId| - - -## Microsoft.Compute/cloudServices/roles - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|RoleInstanceId, RoleId| -|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|RoleInstanceId, RoleId| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|RoleInstanceId, RoleId| -|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|RoleInstanceId, RoleId| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|RoleInstanceId, RoleId| -|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|RoleInstanceId, RoleId| -|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|RoleInstanceId, RoleId| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|RoleInstanceId, RoleId| - - -## microsoft.compute/disks - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Composite Disk Read Bytes/sec|No|Disk Read Bytes/sec(Preview)|BytesPerSecond|Average|Bytes/sec read from disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| -|Composite Disk Read Operations/sec|No|Disk Read Operations/sec(Preview)|CountPerSecond|Average|Number of read IOs performed on a disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| -|Composite Disk Write Bytes/sec|No|Disk Write Bytes/sec(Preview)|BytesPerSecond|Average|Bytes/sec written to disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| -|Composite Disk Write Operations/sec|No|Disk Write Operations/sec(Preview)|CountPerSecond|Average|Number of Write IOs performed on a disk during monitoring period, please note, this metric is in preview and is subject to change before becoming generally available|No Dimensions| -|DiskPaidBurstIOPS|No|Disk On-demand Burst Operations(Preview)|Count|Average|The accumulated operations of burst transactions used for disks with on-demand burst enabled. Emitted on an hour interval|No Dimensions| - - -## Microsoft.Compute/virtualMachines - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|No Dimensions| -|CPU Credits Consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the Virtual Machine. Only available on B-series burstable VMs|No Dimensions| -|CPU Credits Remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst. Only available on B-series burstable VMs|No Dimensions| -|Data Disk Bandwidth Consumed Percentage|Yes|Data Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of data disk bandwidth consumed per minute|LUN| -|Data Disk IOPS Consumed Percentage|Yes|Data Disk IOPS Consumed Percentage|Percent|Average|Percentage of data disk I/Os consumed per minute|LUN| -|Data Disk Max Burst Bandwidth|Yes|Data Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput Data Disk can achieve with bursting|LUN| -|Data Disk Max Burst IOPS|Yes|Data Disk Max Burst IOPS|Count|Average|Maximum IOPS Data Disk can achieve with bursting|LUN| -|Data Disk Queue Depth|Yes|Data Disk Queue Depth|Count|Average|Data Disk Queue Depth(or Queue Length)|LUN| -|Data Disk Read Bytes/sec|Yes|Data Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period|LUN| -|Data Disk Read Operations/Sec|Yes|Data Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period|LUN| -|Data Disk Target Bandwidth|Yes|Data Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput Data Disk can achieve without bursting|LUN| -|Data Disk Target IOPS|Yes|Data Disk Target IOPS|Count|Average|Baseline IOPS Data Disk can achieve without bursting|LUN| -|Data Disk Used Burst BPS Credits Percentage|Yes|Data Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of Data Disk burst bandwidth credits used so far|LUN| -|Data Disk Used Burst IO Credits Percentage|Yes|Data Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of Data Disk burst I/O credits used so far|LUN| -|Data Disk Write Bytes/sec|Yes|Data Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period|LUN| -|Data Disk Write Operations/Sec|Yes|Data Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period|LUN| -|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|No Dimensions| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|No Dimensions| -|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|No Dimensions| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|No Dimensions| -|Inbound Flows|Yes|Inbound Flows|Count|Average|Inbound Flows are number of current flows in the inbound direction (traffic going into the VM)|No Dimensions| -|Inbound Flows Maximum Creation Rate|Yes|Inbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of inbound flows (traffic going into the VM)|No Dimensions| -|Network In|Yes|Network In Billable (Deprecated)|Bytes|Total|The number of billable bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic) (Deprecated)|No Dimensions| -|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|No Dimensions| -|Network Out|Yes|Network Out Billable (Deprecated)|Bytes|Total|The number of billable bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic) (Deprecated)|No Dimensions| -|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|No Dimensions| -|OS Disk Bandwidth Consumed Percentage|Yes|OS Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of operating system disk bandwidth consumed per minute|LUN| -|OS Disk IOPS Consumed Percentage|Yes|OS Disk IOPS Consumed Percentage|Percent|Average|Percentage of operating system disk I/Os consumed per minute|LUN| -|OS Disk Max Burst Bandwidth|Yes|OS Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput OS Disk can achieve with bursting|LUN| -|OS Disk Max Burst IOPS|Yes|OS Disk Max Burst IOPS|Count|Average|Maximum IOPS OS Disk can achieve with bursting|LUN| -|OS Disk Queue Depth|Yes|OS Disk Queue Depth|Count|Average|OS Disk Queue Depth(or Queue Length)|No Dimensions| -|OS Disk Read Bytes/sec|Yes|OS Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period for OS disk|No Dimensions| -|OS Disk Read Operations/Sec|Yes|OS Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period for OS disk|No Dimensions| -|OS Disk Target Bandwidth|Yes|OS Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput OS Disk can achieve without bursting|LUN| -|OS Disk Target IOPS|Yes|OS Disk Target IOPS|Count|Average|Baseline IOPS OS Disk can achieve without bursting|LUN| -|OS Disk Used Burst BPS Credits Percentage|Yes|OS Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of OS Disk burst bandwidth credits used so far|LUN| -|OS Disk Used Burst IO Credits Percentage|Yes|OS Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of OS Disk burst I/O credits used so far|LUN| -|OS Disk Write Bytes/sec|Yes|OS Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period for OS disk|No Dimensions| -|OS Disk Write Operations/Sec|Yes|OS Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period for OS disk|No Dimensions| -|Outbound Flows|Yes|Outbound Flows|Count|Average|Outbound Flows are number of current flows in the outbound direction (traffic going out of the VM)|No Dimensions| -|Outbound Flows Maximum Creation Rate|Yes|Outbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of outbound flows (traffic going out of the VM)|No Dimensions| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|No Dimensions| -|Premium Data Disk Cache Read Hit|Yes|Premium Data Disk Cache Read Hit|Percent|Average|Premium Data Disk Cache Read Hit|LUN| -|Premium Data Disk Cache Read Miss|Yes|Premium Data Disk Cache Read Miss|Percent|Average|Premium Data Disk Cache Read Miss|LUN| -|Premium OS Disk Cache Read Hit|Yes|Premium OS Disk Cache Read Hit|Percent|Average|Premium OS Disk Cache Read Hit|No Dimensions| -|Premium OS Disk Cache Read Miss|Yes|Premium OS Disk Cache Read Miss|Percent|Average|Premium OS Disk Cache Read Miss|No Dimensions| -|VM Cached Bandwidth Consumed Percentage|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|No Dimensions| -|VM Cached IOPS Consumed Percentage|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|No Dimensions| -|VM Uncached Bandwidth Consumed Percentage|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|No Dimensions| -|VM Uncached IOPS Consumed Percentage|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|No Dimensions| - - -## Microsoft.Compute/virtualMachineScaleSets - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|VMName| -|CPU Credits Consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the Virtual Machine. Only available on B-series burstable VMs|No Dimensions| -|CPU Credits Remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst. Only available on B-series burstable VMs|No Dimensions| -|Data Disk Bandwidth Consumed Percentage|Yes|Data Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of data disk bandwidth consumed per minute|LUN, VMName| -|Data Disk IOPS Consumed Percentage|Yes|Data Disk IOPS Consumed Percentage|Percent|Average|Percentage of data disk I/Os consumed per minute|LUN, VMName| -|Data Disk Max Burst Bandwidth|Yes|Data Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput Data Disk can achieve with bursting|LUN, VMName| -|Data Disk Max Burst IOPS|Yes|Data Disk Max Burst IOPS|Count|Average|Maximum IOPS Data Disk can achieve with bursting|LUN, VMName| -|Data Disk Queue Depth|Yes|Data Disk Queue Depth|Count|Average|Data Disk Queue Depth(or Queue Length)|LUN, VMName| -|Data Disk Read Bytes/sec|Yes|Data Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period|LUN, VMName| -|Data Disk Read Operations/Sec|Yes|Data Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period|LUN, VMName| -|Data Disk Target Bandwidth|Yes|Data Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput Data Disk can achieve without bursting|LUN, VMName| -|Data Disk Target IOPS|Yes|Data Disk Target IOPS|Count|Average|Baseline IOPS Data Disk can achieve without bursting|LUN, VMName| -|Data Disk Used Burst BPS Credits Percentage|Yes|Data Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of Data Disk burst bandwidth credits used so far|LUN, VMName| -|Data Disk Used Burst IO Credits Percentage|Yes|Data Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of Data Disk burst I/O credits used so far|LUN, VMName| -|Data Disk Write Bytes/sec|Yes|Data Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period|LUN, VMName| -|Data Disk Write Operations/Sec|Yes|Data Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period|LUN, VMName| -|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|VMName| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|VMName| -|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|VMName| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|VMName| -|Inbound Flows|Yes|Inbound Flows|Count|Average|Inbound Flows are number of current flows in the inbound direction (traffic going into the VM)|VMName| -|Inbound Flows Maximum Creation Rate|Yes|Inbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of inbound flows (traffic going into the VM)|VMName| -|Network In|Yes|Network In Billable (Deprecated)|Bytes|Total|The number of billable bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic) (Deprecated)|VMName| -|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|VMName| -|Network Out|Yes|Network Out Billable (Deprecated)|Bytes|Total|The number of billable bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic) (Deprecated)|VMName| -|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|VMName| -|OS Disk Bandwidth Consumed Percentage|Yes|OS Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of operating system disk bandwidth consumed per minute|LUN, VMName| -|OS Disk IOPS Consumed Percentage|Yes|OS Disk IOPS Consumed Percentage|Percent|Average|Percentage of operating system disk I/Os consumed per minute|LUN, VMName| -|OS Disk Max Burst Bandwidth|Yes|OS Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput OS Disk can achieve with bursting|LUN, VMName| -|OS Disk Max Burst IOPS|Yes|OS Disk Max Burst IOPS|Count|Average|Maximum IOPS OS Disk can achieve with bursting|LUN, VMName| -|OS Disk Queue Depth|Yes|OS Disk Queue Depth|Count|Average|OS Disk Queue Depth(or Queue Length)|VMName| -|OS Disk Read Bytes/sec|Yes|OS Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period for OS disk|VMName| -|OS Disk Read Operations/Sec|Yes|OS Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period for OS disk|VMName| -|OS Disk Target Bandwidth|Yes|OS Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput OS Disk can achieve without bursting|LUN, VMName| -|OS Disk Target IOPS|Yes|OS Disk Target IOPS|Count|Average|Baseline IOPS OS Disk can achieve without bursting|LUN, VMName| -|OS Disk Used Burst BPS Credits Percentage|Yes|OS Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of OS Disk burst bandwidth credits used so far|LUN, VMName| -|OS Disk Used Burst IO Credits Percentage|Yes|OS Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of OS Disk burst I/O credits used so far|LUN, VMName| -|OS Disk Write Bytes/sec|Yes|OS Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period for OS disk|VMName| -|OS Disk Write Operations/Sec|Yes|OS Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period for OS disk|VMName| -|Outbound Flows|Yes|Outbound Flows|Count|Average|Outbound Flows are number of current flows in the outbound direction (traffic going out of the VM)|VMName| -|Outbound Flows Maximum Creation Rate|Yes|Outbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of outbound flows (traffic going out of the VM)|VMName| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|VMName| -|Premium Data Disk Cache Read Hit|Yes|Premium Data Disk Cache Read Hit|Percent|Average|Premium Data Disk Cache Read Hit|LUN, VMName| -|Premium Data Disk Cache Read Miss|Yes|Premium Data Disk Cache Read Miss|Percent|Average|Premium Data Disk Cache Read Miss|LUN, VMName| -|Premium OS Disk Cache Read Hit|Yes|Premium OS Disk Cache Read Hit|Percent|Average|Premium OS Disk Cache Read Hit|VMName| -|Premium OS Disk Cache Read Miss|Yes|Premium OS Disk Cache Read Miss|Percent|Average|Premium OS Disk Cache Read Miss|VMName| -|VM Cached Bandwidth Consumed Percentage|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|VMName| -|VM Cached IOPS Consumed Percentage|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|VMName| -|VM Uncached Bandwidth Consumed Percentage|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|VMName| -|VM Uncached IOPS Consumed Percentage|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|VMName| - - -## Microsoft.Compute/virtualMachineScaleSets/virtualMachines - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Available Memory Bytes|Yes|Available Memory Bytes (Preview)|Bytes|Average|Amount of physical memory, in bytes, immediately available for allocation to a process or for system use in the Virtual Machine|No Dimensions| -|CPU Credits Consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the Virtual Machine. Only available on B-series burstable VMs|No Dimensions| -|CPU Credits Remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst. Only available on B-series burstable VMs|No Dimensions| -|Data Disk Bandwidth Consumed Percentage|Yes|Data Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of data disk bandwidth consumed per minute|LUN| -|Data Disk IOPS Consumed Percentage|Yes|Data Disk IOPS Consumed Percentage|Percent|Average|Percentage of data disk I/Os consumed per minute|LUN| -|Data Disk Max Burst Bandwidth|Yes|Data Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput Data Disk can achieve with bursting|LUN| -|Data Disk Max Burst IOPS|Yes|Data Disk Max Burst IOPS|Count|Average|Maximum IOPS Data Disk can achieve with bursting|LUN| -|Data Disk Queue Depth|Yes|Data Disk Queue Depth|Count|Average|Data Disk Queue Depth(or Queue Length)|LUN| -|Data Disk Read Bytes/sec|Yes|Data Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period|LUN| -|Data Disk Read Operations/Sec|Yes|Data Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period|LUN| -|Data Disk Target Bandwidth|Yes|Data Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput Data Disk can achieve without bursting|LUN| -|Data Disk Target IOPS|Yes|Data Disk Target IOPS|Count|Average|Baseline IOPS Data Disk can achieve without bursting|LUN| -|Data Disk Used Burst BPS Credits Percentage|Yes|Data Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of Data Disk burst bandwidth credits used so far|LUN| -|Data Disk Used Burst IO Credits Percentage|Yes|Data Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of Data Disk burst I/O credits used so far|LUN| -|Data Disk Write Bytes/sec|Yes|Data Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period|LUN| -|Data Disk Write Operations/Sec|Yes|Data Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period|LUN| -|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Bytes read from disk during monitoring period|No Dimensions| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|Disk Read IOPS|No Dimensions| -|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Bytes written to disk during monitoring period|No Dimensions| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|Disk Write IOPS|No Dimensions| -|Inbound Flows|Yes|Inbound Flows|Count|Average|Inbound Flows are number of current flows in the inbound direction (traffic going into the VM)|No Dimensions| -|Inbound Flows Maximum Creation Rate|Yes|Inbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of inbound flows (traffic going into the VM)|No Dimensions| -|Network In|Yes|Network In Billable (Deprecated)|Bytes|Total|The number of billable bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic) (Deprecated)|No Dimensions| -|Network In Total|Yes|Network In Total|Bytes|Total|The number of bytes received on all network interfaces by the Virtual Machine(s) (Incoming Traffic)|No Dimensions| -|Network Out|Yes|Network Out Billable (Deprecated)|Bytes|Total|The number of billable bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic) (Deprecated)|No Dimensions| -|Network Out Total|Yes|Network Out Total|Bytes|Total|The number of bytes out on all network interfaces by the Virtual Machine(s) (Outgoing Traffic)|No Dimensions| -|OS Disk Bandwidth Consumed Percentage|Yes|OS Disk Bandwidth Consumed Percentage|Percent|Average|Percentage of operating system disk bandwidth consumed per minute|LUN| -|OS Disk IOPS Consumed Percentage|Yes|OS Disk IOPS Consumed Percentage|Percent|Average|Percentage of operating system disk I/Os consumed per minute|LUN| -|OS Disk Max Burst Bandwidth|Yes|OS Disk Max Burst Bandwidth|Count|Average|Maximum bytes per second throughput OS Disk can achieve with bursting|LUN| -|OS Disk Max Burst IOPS|Yes|OS Disk Max Burst IOPS|Count|Average|Maximum IOPS OS Disk can achieve with bursting|LUN| -|OS Disk Queue Depth|Yes|OS Disk Queue Depth|Count|Average|OS Disk Queue Depth(or Queue Length)|No Dimensions| -|OS Disk Read Bytes/sec|Yes|OS Disk Read Bytes/Sec|BytesPerSecond|Average|Bytes/Sec read from a single disk during monitoring period for OS disk|No Dimensions| -|OS Disk Read Operations/Sec|Yes|OS Disk Read Operations/Sec|CountPerSecond|Average|Read IOPS from a single disk during monitoring period for OS disk|No Dimensions| -|OS Disk Target Bandwidth|Yes|OS Disk Target Bandwidth|Count|Average|Baseline bytes per second throughput OS Disk can achieve without bursting|LUN| -|OS Disk Target IOPS|Yes|OS Disk Target IOPS|Count|Average|Baseline IOPS OS Disk can achieve without bursting|LUN| -|OS Disk Used Burst BPS Credits Percentage|Yes|OS Disk Used Burst BPS Credits Percentage|Percent|Average|Percentage of OS Disk burst bandwidth credits used so far|LUN| -|OS Disk Used Burst IO Credits Percentage|Yes|OS Disk Used Burst IO Credits Percentage|Percent|Average|Percentage of OS Disk burst I/O credits used so far|LUN| -|OS Disk Write Bytes/sec|Yes|OS Disk Write Bytes/Sec|BytesPerSecond|Average|Bytes/Sec written to a single disk during monitoring period for OS disk|No Dimensions| -|OS Disk Write Operations/Sec|Yes|OS Disk Write Operations/Sec|CountPerSecond|Average|Write IOPS from a single disk during monitoring period for OS disk|No Dimensions| -|Outbound Flows|Yes|Outbound Flows|Count|Average|Outbound Flows are number of current flows in the outbound direction (traffic going out of the VM)|No Dimensions| -|Outbound Flows Maximum Creation Rate|Yes|Outbound Flows Maximum Creation Rate|CountPerSecond|Average|The maximum creation rate of outbound flows (traffic going out of the VM)|No Dimensions| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The percentage of allocated compute units that are currently in use by the Virtual Machine(s)|No Dimensions| -|Premium Data Disk Cache Read Hit|Yes|Premium Data Disk Cache Read Hit|Percent|Average|Premium Data Disk Cache Read Hit|LUN| -|Premium Data Disk Cache Read Miss|Yes|Premium Data Disk Cache Read Miss|Percent|Average|Premium Data Disk Cache Read Miss|LUN| -|Premium OS Disk Cache Read Hit|Yes|Premium OS Disk Cache Read Hit|Percent|Average|Premium OS Disk Cache Read Hit|No Dimensions| -|Premium OS Disk Cache Read Miss|Yes|Premium OS Disk Cache Read Miss|Percent|Average|Premium OS Disk Cache Read Miss|No Dimensions| -|VM Cached Bandwidth Consumed Percentage|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|No Dimensions| -|VM Cached IOPS Consumed Percentage|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|No Dimensions| -|VM Uncached Bandwidth Consumed Percentage|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|No Dimensions| -|VM Uncached IOPS Consumed Percentage|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|No Dimensions| - - -## Microsoft.ConnectedCache/CacheNodes - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|egressbps|Yes|Egress Mbps|BitsPerSecond|Average|Egress Throughput|cachenodeid| -|hitRatio|Yes|Cache Efficiency|Percent|Average|Cache Efficiency|cachenodeid| -|hits|Yes|Hits|Count|Count|Count of hits|cachenodeid| -|hitsbps|Yes|Hit Mbps|BitsPerSecond|Average|Hit Throughput|cachenodeid| -|misses|Yes|Misses|Count|Count|Count of misses|cachenodeid| -|missesbps|Yes|Miss Mbps|BitsPerSecond|Average|Miss Throughput|cachenodeid| - - -## Microsoft.ConnectedVehicle/platformAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ClaimsProviderRequestLatency|Yes|Claims request execution time|Milliseconds|Average|The average execution time of requests to the customer claims provider endpoint in milliseconds.|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|ClaimsProviderRequests|Yes|Claims provider requests|Count|Total|Number of requests to claims provider|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|ConnectionServiceRequestRuntime|Yes|Vehicle connection service request execution time|Milliseconds|Average|Vehicle conneciton request execution time average in milliseconds|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|ConnectionServiceRequests|Yes|Vehicle connection service requests|Count|Total|Total number of vehicle connection requests|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|DataPipelineMessageCount|Yes|Data pipeline message count|Count|Total|The total number of messages sent to the MCVP data pipeline for storage.|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|ExtensionInvocationCount|Yes|Extension invocation count|Count|Total|Total number of times an extension was called.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| -|ExtensionInvocationRuntime|Yes|Extension invocation execution time|Milliseconds|Average|Average execution time spent inside an extension in milliseconds.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| -|MessagesInCount|Yes|Messages received count|Count|Total|The total number of vehicle-sourced publishes.|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|MessagesOutCount|Yes|Messages sent count|Count|Total|The total number of cloud-sourced publishes.|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|ProvisionerServiceRequestRuntime|Yes|Vehicle provision execution time|Milliseconds|Average|The average execution time of vehicle provision requests in milliseconds|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|ProvisionerServiceRequests|Yes|Vehicle provision service requests|Count|Total|Total number of vehicle provision requests|VehicleId, DeviceName, IsSuccessful, FailureCategory| -|StateStoreReadRequestLatency|Yes|State store read execution time|Milliseconds|Average|State store read request execution time average in milliseconds.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| -|StateStoreReadRequests|Yes|State store read requests|Count|Total|Number of read requests to state store|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| -|StateStoreWriteRequestLatency|Yes|State store write execution time|Milliseconds|Average|State store write request execution time average in milliseconds.|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| -|StateStoreWriteRequests|Yes|State store write requests|Count|Total|Number of write requests to state store|VehicleId, DeviceName, ExtensionName, IsSuccessful, FailureCategory| - - -## Microsoft.ContainerInstance/containerGroups - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CpuUsage|Yes|CPU Usage|Count|Average|CPU usage on all cores in millicores.|containerName| -|MemoryUsage|Yes|Memory Usage|Bytes|Average|Total memory usage in byte.|containerName| -|NetworkBytesReceivedPerSecond|Yes|Network Bytes Received Per Second|Bytes|Average|The network bytes received per second.|No Dimensions| -|NetworkBytesTransmittedPerSecond|Yes|Network Bytes Transmitted Per Second|Bytes|Average|The network bytes transmitted per second.|No Dimensions| - - -## Microsoft.ContainerRegistry/registries - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AgentPoolCPUTime|Yes|AgentPool CPU Time|Seconds|Total|AgentPool CPU Time in seconds|No Dimensions| -|RunDuration|Yes|Run Duration|Milliseconds|Total|Run Duration in milliseconds|No Dimensions| -|SuccessfulPullCount|Yes|Successful Pull Count|Count|Average|Number of successful image pulls|No Dimensions| -|SuccessfulPushCount|Yes|Successful Push Count|Count|Average|Number of successful image pushes|No Dimensions| -|TotalPullCount|Yes|Total Pull Count|Count|Average|Number of image pulls in total|No Dimensions| -|TotalPushCount|Yes|Total Push Count|Count|Average|Number of image pushes in total|No Dimensions| - - -## Microsoft.ContainerService/managedClusters - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|kube_node_status_allocatable_cpu_cores|No|Total number of available cpu cores in a managed cluster|Count|Average|Total number of available cpu cores in a managed cluster|No Dimensions| -|kube_node_status_allocatable_memory_bytes|No|Total amount of available memory in a managed cluster|Bytes|Average|Total amount of available memory in a managed cluster|No Dimensions| -|kube_node_status_condition|No|Statuses for various node conditions|Count|Average|Statuses for various node conditions|condition, status, status2, node| -|kube_pod_status_phase|No|Number of pods by phase|Count|Average|Number of pods by phase|phase, namespace, pod| -|kube_pod_status_ready|No|Number of pods in Ready state|Count|Average|Number of pods in Ready state|namespace, pod, condition| - - -## Microsoft.CustomProviders/resourceproviders - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|FailedRequests|Yes|Failed Requests|Count|Total|Gets the available logs for Custom Resource Providers|HttpMethod, CallPath, StatusCode| -|SuccessfullRequests|Yes|Successful Requests|Count|Total|Successful requests made by the custom provider|HttpMethod, CallPath, StatusCode| - - -## Microsoft.Dashboard/grafana - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|HttpRequestCount|No|HttpRequestCount|Count|Count|Number of HTTP requests to Azure Managed Grafana server|No Dimensions| - - -## Microsoft.DataBoxEdge/dataBoxEdgeDevices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AvailableCapacity|Yes|Available Capacity|Bytes|Average|The available capacity in bytes during the reporting period.|No Dimensions| -|BytesUploadedToCloud|Yes|Cloud Bytes Uploaded (Device)|Bytes|Average|The total number of bytes that is uploaded to Azure from a device during the reporting period.|No Dimensions| -|BytesUploadedToCloudPerShare|Yes|Cloud Bytes Uploaded (Share)|Bytes|Average|The total number of bytes that is uploaded to Azure from a share during the reporting period.|Share| -|CloudReadThroughput|Yes|Cloud Download Throughput|BytesPerSecond|Average|The cloud download throughput to Azure during the reporting period.|No Dimensions| -|CloudReadThroughputPerShare|Yes|Cloud Download Throughput (Share)|BytesPerSecond|Average|The download throughput to Azure from a share during the reporting period.|Share| -|CloudUploadThroughput|Yes|Cloud Upload Throughput|BytesPerSecond|Average|The cloud upload throughput to Azure during the reporting period.|No Dimensions| -|CloudUploadThroughputPerShare|Yes|Cloud Upload Throughput (Share)|BytesPerSecond|Average|The upload throughput to Azure from a share during the reporting period.|Share| -|HyperVMemoryUtilization|Yes|Edge Compute - Memory Usage|Percent|Average|Amount of RAM in Use|InstanceName| -|HyperVVirtualProcessorUtilization|Yes|Edge Compute - Percentage CPU|Percent|Average|Percent CPU Usage|InstanceName| -|NICReadThroughput|Yes|Read Throughput (Network)|BytesPerSecond|Average|The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.|InstanceName| -|NICWriteThroughput|Yes|Write Throughput (Network)|BytesPerSecond|Average|The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.|InstanceName| -|TotalCapacity|Yes|Total Capacity|Bytes|Average|The total capacity of the device in bytes during the reporting period.|No Dimensions| - - -## Microsoft.DataCollaboration/workspaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ComputationCount|Yes|Created Computations|Count|Maximum|Number of created computations|ComputationName| -|DataAssetCount|Yes|Created Data Assets|Count|Maximum|Number of created data assets|DataAssetName| -|PipelineCount|Yes|Created Pipelines|Count|Maximum|Number of created pipelines|PipelineName| -|ProposalCount|Yes|Created Proposals|Count|Maximum|Number of created proposals|ProposalName| -|ScriptCount|Yes|Created Scripts|Count|Maximum|Number of created scripts|ScriptName| - - -## Microsoft.DataFactory/datafactories - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|FailedRuns|Yes|Failed Runs|Count|Total||pipelineName, activityName| -|SuccessfulRuns|Yes|Successful Runs|Count|Total||pipelineName, activityName| - - -## Microsoft.DataFactory/factories - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActivityCancelledRuns|Yes|Cancelled activity runs metrics|Count|Total||ActivityType, PipelineName, FailureType, Name| -|ActivityFailedRuns|Yes|Failed activity runs metrics|Count|Total||ActivityType, PipelineName, FailureType, Name| -|ActivitySucceededRuns|Yes|Succeeded activity runs metrics|Count|Total||ActivityType, PipelineName, FailureType, Name| -|FactorySizeInGbUnits|Yes|Total factory size (GB unit)|Count|Maximum||No Dimensions| -|IntegrationRuntimeAvailableMemory|Yes|Integration runtime available memory|Bytes|Average||IntegrationRuntimeName, NodeName| -|IntegrationRuntimeAvailableNodeNumber|Yes|Integration runtime available node count|Count|Average||IntegrationRuntimeName| -|IntegrationRuntimeAverageTaskPickupDelay|Yes|Integration runtime queue duration|Seconds|Average||IntegrationRuntimeName| -|IntegrationRuntimeCpuPercentage|Yes|Integration runtime CPU utilization|Percent|Average||IntegrationRuntimeName, NodeName| -|IntegrationRuntimeQueueLength|Yes|Integration runtime queue length|Count|Average||IntegrationRuntimeName| -|MaxAllowedFactorySizeInGbUnits|Yes|Maximum allowed factory size (GB unit)|Count|Maximum||No Dimensions| -|MaxAllowedResourceCount|Yes|Maximum allowed entities count|Count|Maximum||No Dimensions| -|PipelineCancelledRuns|Yes|Cancelled pipeline runs metrics|Count|Total||FailureType, Name| -|PipelineElapsedTimeRuns|Yes|Elapsed Time Pipeline Runs Metrics|Count|Total||RunId, Name| -|PipelineFailedRuns|Yes|Failed pipeline runs metrics|Count|Total||FailureType, Name| -|PipelineSucceededRuns|Yes|Succeeded pipeline runs metrics|Count|Total||FailureType, Name| -|ResourceCount|Yes|Total entities count|Count|Maximum||No Dimensions| -|SSISIntegrationRuntimeStartCancel|Yes|Cancelled SSIS integration runtime start metrics|Count|Total||IntegrationRuntimeName| -|SSISIntegrationRuntimeStartFailed|Yes|Failed SSIS integration runtime start metrics|Count|Total||IntegrationRuntimeName| -|SSISIntegrationRuntimeStartSucceeded|Yes|Succeeded SSIS integration runtime start metrics|Count|Total||IntegrationRuntimeName| -|SSISIntegrationRuntimeStopStuck|Yes|Stuck SSIS integration runtime stop metrics|Count|Total||IntegrationRuntimeName| -|SSISIntegrationRuntimeStopSucceeded|Yes|Succeeded SSIS integration runtime stop metrics|Count|Total||IntegrationRuntimeName| -|SSISPackageExecutionCancel|Yes|Cancelled SSIS package execution metrics|Count|Total||IntegrationRuntimeName| -|SSISPackageExecutionFailed|Yes|Failed SSIS package execution metrics|Count|Total||IntegrationRuntimeName| -|SSISPackageExecutionSucceeded|Yes|Succeeded SSIS package execution metrics|Count|Total||IntegrationRuntimeName| -|TriggerCancelledRuns|Yes|Cancelled trigger runs metrics|Count|Total||Name, FailureType| -|TriggerFailedRuns|Yes|Failed trigger runs metrics|Count|Total||Name, FailureType| -|TriggerSucceededRuns|Yes|Succeeded trigger runs metrics|Count|Total||Name, FailureType| - - -## Microsoft.DataLakeAnalytics/accounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|JobAUEndedCancelled|Yes|Cancelled AU Time|Seconds|Total|Total AU time for cancelled jobs.|No Dimensions| -|JobAUEndedFailure|Yes|Failed AU Time|Seconds|Total|Total AU time for failed jobs.|No Dimensions| -|JobAUEndedSuccess|Yes|Successful AU Time|Seconds|Total|Total AU time for successful jobs.|No Dimensions| -|JobEndedCancelled|Yes|Cancelled Jobs|Count|Total|Count of cancelled jobs.|No Dimensions| -|JobEndedFailure|Yes|Failed Jobs|Count|Total|Count of failed jobs.|No Dimensions| -|JobEndedSuccess|Yes|Successful Jobs|Count|Total|Count of successful jobs.|No Dimensions| -|JobStage|Yes|Jobs in Stage|Count|Total|Number of jobs in each stage.|No Dimensions| - - -## Microsoft.DataLakeStore/accounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|DataRead|Yes|Data Read|Bytes|Total|Total amount of data read from the account.|No Dimensions| -|DataWritten|Yes|Data Written|Bytes|Total|Total amount of data written to the account.|No Dimensions| -|ReadRequests|Yes|Read Requests|Count|Total|Count of data read requests to the account.|No Dimensions| -|TotalStorage|Yes|Total Storage|Bytes|Maximum|Total amount of data stored in the account.|No Dimensions| -|WriteRequests|Yes|Write Requests|Count|Total|Count of data write requests to the account.|No Dimensions| - - -## Microsoft.DataProtection/BackupVaults - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BackupHealthEvent|Yes|Backup Health Events (preview)|Count|Count|The count of health events pertaining to backup job health|dataSourceURL, backupInstanceUrl, dataSourceType, healthStatus, backupInstanceName| -|RestoreHealthEvent|Yes|Restore Health Events (preview)|Count|Count|The count of health events pertaining to restore job health|dataSourceURL, backupInstanceUrl, dataSourceType, healthStatus, backupInstanceName| - - -## Microsoft.DataShare/accounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|FailedShareSubscriptionSynchronizations|Yes|Received Share Failed Snapshots|Count|Count|Number of received share failed snapshots in the account|No Dimensions| -|FailedShareSynchronizations|Yes|Sent Share Failed Snapshots|Count|Count|Number of sent share failed snapshots in the account|No Dimensions| -|ShareCount|Yes|Sent Shares|Count|Maximum|Number of sent shares in the account|ShareName| -|ShareSubscriptionCount|Yes|Received Shares|Count|Maximum|Number of received shares in the account|ShareSubscriptionName| -|SucceededShareSubscriptionSynchronizations|Yes|Received Share Succeeded Snapshots|Count|Count|Number of received share succeeded snapshots in the account|No Dimensions| -|SucceededShareSynchronizations|Yes|Sent Share Succeeded Snapshots|Count|Count|Number of sent share succeeded snapshots in the account|No Dimensions| - - -## Microsoft.DBforMariaDB/servers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| -|backup_storage_used|Yes|Backup Storage used|Bytes|Average|Backup Storage used|No Dimensions| -|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| -|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| -|io_consumption_percent|Yes|IO percent|Percent|Average|IO percent|No Dimensions| -|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| -|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| -|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| -|seconds_behind_master|Yes|Replication lag in seconds|Count|Maximum|Replication lag in seconds|No Dimensions| -|serverlog_storage_limit|Yes|Server Log storage limit|Bytes|Maximum|Server Log storage limit|No Dimensions| -|serverlog_storage_percent|Yes|Server Log storage percent|Percent|Average|Server Log storage percent|No Dimensions| -|serverlog_storage_usage|Yes|Server Log storage used|Bytes|Average|Server Log storage used|No Dimensions| -|storage_limit|Yes|Storage limit|Bytes|Maximum|Storage limit|No Dimensions| -|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| -|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| - - -## Microsoft.DBforMySQL/flexibleServers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|aborted_connections|Yes|Aborted Connections|Count|Total|Aborted Connections|No Dimensions| -|active_connections|Yes|Active Connections|Count|Maximum|Active Connections|No Dimensions| -|backup_storage_used|Yes|Backup Storage Used|Bytes|Maximum|Backup Storage Used|No Dimensions| -|cpu_credits_consumed|Yes|CPU Credits Consumed|Count|Maximum|CPU Credits Consumed|No Dimensions| -|cpu_credits_remaining|Yes|CPU Credits Remaining|Count|Maximum|CPU Credits Remaining|No Dimensions| -|cpu_percent|Yes|Host CPU Percent|Percent|Maximum|Host CPU Percent|No Dimensions| -|io_consumption_percent|Yes|IO Percent|Percent|Maximum|IO Percent|No Dimensions| -|memory_percent|Yes|Host Memory Percent|Percent|Maximum|Host Memory Percent|No Dimensions| -|network_bytes_egress|Yes|Host Network Out|Bytes|Total|Host Network egress in bytes|No Dimensions| -|network_bytes_ingress|Yes|Host Network In|Bytes|Total|Host Network ingress in bytes|No Dimensions| -|Queries|Yes|Queries|Count|Total|Queries|No Dimensions| -|replication_lag|Yes|Replication Lag In Seconds|Seconds|Maximum|Replication lag in seconds|No Dimensions| -|storage_limit|Yes|Storage Limit|Bytes|Maximum|Storage Limit|No Dimensions| -|storage_percent|Yes|Storage Percent|Percent|Maximum|Storage Percent|No Dimensions| -|storage_used|Yes|Storage Used|Bytes|Maximum|Storage Used|No Dimensions| -|total_connections|Yes|Total Connections|Count|Total|Total Connections|No Dimensions| - - -## Microsoft.DBforMySQL/servers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| -|backup_storage_used|Yes|Backup Storage used|Bytes|Average|Backup Storage used|No Dimensions| -|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| -|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| -|io_consumption_percent|Yes|IO percent|Percent|Average|IO percent|No Dimensions| -|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| -|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| -|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| -|seconds_behind_master|Yes|Replication lag in seconds|Count|Maximum|Replication lag in seconds|No Dimensions| -|serverlog_storage_limit|Yes|Server Log storage limit|Bytes|Maximum|Server Log storage limit|No Dimensions| -|serverlog_storage_percent|Yes|Server Log storage percent|Percent|Average|Server Log storage percent|No Dimensions| -|serverlog_storage_usage|Yes|Server Log storage used|Bytes|Average|Server Log storage used|No Dimensions| -|storage_limit|Yes|Storage limit|Bytes|Maximum|Storage limit|No Dimensions| -|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| -|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| - - -## Microsoft.DBforPostgreSQL/flexibleServers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| -|backup_storage_used|Yes|Backup Storage Used|Bytes|Average|Backup Storage Used|No Dimensions| -|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| -|connections_succeeded|Yes|Succeeded Connections|Count|Total|Succeeded Connections|No Dimensions| -|cpu_credits_consumed|Yes|CPU Credits Consumed|Count|Average|Total number of credits consumed by the database server|No Dimensions| -|cpu_credits_remaining|Yes|CPU Credits Remaining|Count|Average|Total number of credits available to burst|No Dimensions| -|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| -|disk_queue_depth|Yes|Disk Queue Depth|Count|Average|Number of outstanding I/O operations to the data disk|No Dimensions| -|iops|Yes|IOPS|Count|Average|IO Operations per second|No Dimensions| -|maximum_used_transactionIDs|Yes|Maximum Used Transaction IDs|Count|Average|Maximum Used Transaction IDs|No Dimensions| -|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| -|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| -|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| -|read_iops|Yes|Read IOPS|Count|Average|Number of data disk I/O read operations per second|No Dimensions| -|read_throughput|Yes|Read Throughput Bytes/Sec|Count|Average|Bytes read per second from the data disk during monitoring period|No Dimensions| -|storage_free|Yes|Storage Free|Bytes|Average|Storage Free|No Dimensions| -|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| -|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| -|txlogs_storage_used|Yes|Transaction Log Storage Used|Bytes|Average|Transaction Log Storage Used|No Dimensions| -|write_iops|Yes|Write IOPS|Count|Average|Number of data disk I/O write operations per second|No Dimensions| -|write_throughput|Yes|Write Throughput Bytes/Sec|Count|Average|Bytes written per second to the data disk during monitoring period|No Dimensions| - - -## Microsoft.DBForPostgreSQL/serverGroupsv2 - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active_connections|Yes|Active Connections|Count|Average|Active Connections|ServerName| -|apps_reserved_memory_percent|Yes|Reserved Memory percent|Percent|Average|Percentage of Commit Memory Limit Reserved by Applications|ServerName| -|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|ServerName| -|iops|Yes|IOPS|Count|Average|IO operations per second|ServerName| -|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|ServerName| -|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|ServerName| -|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|ServerName| -|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|ServerName| -|storage_used|Yes|Storage used|Bytes|Average|Storage used|ServerName| -|vm_cached_bandwidth_percent|Yes|VM Cached Bandwidth Consumed Percentage|Percent|Average|Percentage of cached disk bandwidth consumed by the VM|ServerName| -|vm_cached_iops_percent|Yes|VM Cached IOPS Consumed Percentage|Percent|Average|Percentage of cached disk IOPS consumed by the VM|ServerName| -|vm_uncached_bandwidth_percent|Yes|VM Uncached Bandwidth Consumed Percentage|Percent|Average|Percentage of uncached disk bandwidth consumed by the VM|ServerName| -|vm_uncached_iops_percent|Yes|VM Uncached IOPS Consumed Percentage|Percent|Average|Percentage of uncached disk IOPS consumed by the VM|ServerName| - - -## Microsoft.DBforPostgreSQL/servers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| -|backup_storage_used|Yes|Backup Storage Used|Bytes|Average|Backup Storage Used|No Dimensions| -|connections_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| -|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| -|io_consumption_percent|Yes|IO percent|Percent|Average|IO percent|No Dimensions| -|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| -|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| -|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| -|pg_replica_log_delay_in_bytes|Yes|Max Lag Across Replicas|Bytes|Maximum|Lag in bytes of the most lagging replica|No Dimensions| -|pg_replica_log_delay_in_seconds|Yes|Replica Lag|Seconds|Maximum|Replica lag in seconds|No Dimensions| -|serverlog_storage_limit|Yes|Server Log storage limit|Bytes|Maximum|Server Log storage limit|No Dimensions| -|serverlog_storage_percent|Yes|Server Log storage percent|Percent|Average|Server Log storage percent|No Dimensions| -|serverlog_storage_usage|Yes|Server Log storage used|Bytes|Average|Server Log storage used|No Dimensions| -|storage_limit|Yes|Storage limit|Bytes|Maximum|Storage limit|No Dimensions| -|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| -|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| - - -## Microsoft.DBforPostgreSQL/serversv2 - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active_connections|Yes|Active Connections|Count|Average|Active Connections|No Dimensions| -|cpu_percent|Yes|CPU percent|Percent|Average|CPU percent|No Dimensions| -|iops|Yes|IOPS|Count|Average|IO Operations per second|No Dimensions| -|memory_percent|Yes|Memory percent|Percent|Average|Memory percent|No Dimensions| -|network_bytes_egress|Yes|Network Out|Bytes|Total|Network Out across active connections|No Dimensions| -|network_bytes_ingress|Yes|Network In|Bytes|Total|Network In across active connections|No Dimensions| -|storage_percent|Yes|Storage percent|Percent|Average|Storage percent|No Dimensions| -|storage_used|Yes|Storage used|Bytes|Average|Storage used|No Dimensions| - - -## Microsoft.Devices/ElasticPools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|elasticPool.requestedUsageRate|Yes|requested usage rate|Percent|Average|requested usage rate|No Dimensions| - - -## Microsoft.Devices/ElasticPools/IotHubTenants - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|broker.msgs.delivered|Yes|Broker: Messages Delivered (Preview)|Count|Total|Total number of messages delivered by the broker|Result, FailureReasonCategory, QoS, TopicSpaceName| -|broker.msgs.delivery.throttlingLatency|Yes|Broker: Message delivery latency from throttling (Preview)|Milliseconds|Average|The average egress message delivery latency due to throttling|No Dimensions| -|broker.msgs.published|Yes|Broker: Messages Published (Preview)|Count|Total|Total number of messages published to the broker|Result, FailureReasonCategory, QoS| -|c2d.commands.egress.abandon.success|Yes|C2D messages abandoned|Count|Total|Number of cloud-to-device messages abandoned by the device|No Dimensions| -|c2d.commands.egress.complete.success|Yes|C2D message deliveries completed|Count|Total|Number of cloud-to-device message deliveries completed successfully by the device|No Dimensions| -|c2d.commands.egress.reject.success|Yes|C2D messages rejected|Count|Total|Number of cloud-to-device messages rejected by the device|No Dimensions| -|c2d.methods.failure|Yes|Failed direct method invocations|Count|Total|The count of all failed direct method calls.|No Dimensions| -|c2d.methods.requestSize|Yes|Request size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method requests.|No Dimensions| -|c2d.methods.responseSize|Yes|Response size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method responses.|No Dimensions| -|c2d.methods.success|Yes|Successful direct method invocations|Count|Total|The count of all successful direct method calls.|No Dimensions| -|c2d.twin.read.failure|Yes|Failed twin reads from back end|Count|Total|The count of all failed back-end-initiated twin reads.|No Dimensions| -|c2d.twin.read.size|Yes|Response size of twin reads from back end|Bytes|Average|The average, min, and max of all successful back-end-initiated twin reads.|No Dimensions| -|c2d.twin.read.success|Yes|Successful twin reads from back end|Count|Total|The count of all successful back-end-initiated twin reads.|No Dimensions| -|c2d.twin.update.failure|Yes|Failed twin updates from back end|Count|Total|The count of all failed back-end-initiated twin updates.|No Dimensions| -|c2d.twin.update.size|Yes|Size of twin updates from back end|Bytes|Average|The average, min, and max size of all successful back-end-initiated twin updates.|No Dimensions| -|c2d.twin.update.success|Yes|Successful twin updates from back end|Count|Total|The count of all successful back-end-initiated twin updates.|No Dimensions| -|C2DMessagesExpired|Yes|C2D Messages Expired|Count|Total|Number of expired cloud-to-device messages|No Dimensions| -|configurations|Yes|Configuration Metrics|Count|Total|Metrics for Configuration Operations|No Dimensions| -|connectedDeviceCount|Yes|Connected devices|Count|Average|Number of devices connected to your IoT hub|No Dimensions| -|d2c.endpoints.egress.builtIn.events|Yes|Routing: messages delivered to messages/events|Count|Total|The number of times IoT Hub routing successfully delivered messages to the built-in endpoint (messages/events).|No Dimensions| -|d2c.endpoints.egress.eventHubs|Yes|Routing: messages delivered to Event Hub|Count|Total|The number of times IoT Hub routing successfully delivered messages to Event Hub endpoints.|No Dimensions| -|d2c.endpoints.egress.serviceBusQueues|Yes|Routing: messages delivered to Service Bus Queue|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus queue endpoints.|No Dimensions| -|d2c.endpoints.egress.serviceBusTopics|Yes|Routing: messages delivered to Service Bus Topic|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus topic endpoints.|No Dimensions| -|d2c.endpoints.egress.storage|Yes|Routing: messages delivered to storage|Count|Total|The number of times IoT Hub routing successfully delivered messages to storage endpoints.|No Dimensions| -|d2c.endpoints.egress.storage.blobs|Yes|Routing: blobs delivered to storage|Count|Total|The number of times IoT Hub routing delivered blobs to storage endpoints.|No Dimensions| -|d2c.endpoints.egress.storage.bytes|Yes|Routing: data delivered to storage|Bytes|Total|The amount of data (bytes) IoT Hub routing delivered to storage endpoints.|No Dimensions| -|d2c.endpoints.latency.builtIn.events|Yes|Routing: message latency for messages/events|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into the built-in endpoint (messages/events).|No Dimensions| -|d2c.endpoints.latency.eventHubs|Yes|Routing: message latency for Event Hub|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and message ingress into an Event Hub endpoint.|No Dimensions| -|d2c.endpoints.latency.serviceBusQueues|Yes|Routing: message latency for Service Bus Queue|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus queue endpoint.|No Dimensions| -|d2c.endpoints.latency.serviceBusTopics|Yes|Routing: message latency for Service Bus Topic|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus topic endpoint.|No Dimensions| -|d2c.endpoints.latency.storage|Yes|Routing: message latency for storage|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a storage endpoint.|No Dimensions| -|d2c.telemetry.egress.dropped|Yes|Routing: telemetry messages dropped|Count|Total|The number of times messages were dropped by IoT Hub routing due to dead endpoints. This value does not count messages delivered to fallback route as dropped messages are not delivered there.|No Dimensions| -|d2c.telemetry.egress.fallback|Yes|Routing: messages delivered to fallback|Count|Total|The number of times IoT Hub routing delivered messages to the endpoint associated with the fallback route.|No Dimensions| -|d2c.telemetry.egress.invalid|Yes|Routing: telemetry messages incompatible|Count|Total|The number of times IoT Hub routing failed to deliver messages due to an incompatibility with the endpoint. This value does not include retries.|No Dimensions| -|d2c.telemetry.egress.orphaned|Yes|Routing: telemetry messages orphaned|Count|Total|The number of times messages were orphaned by IoT Hub routing because they didn't match any routing rules (including the fallback rule).|No Dimensions| -|d2c.telemetry.egress.success|Yes|Routing: telemetry messages delivered|Count|Total|The number of times messages were successfully delivered to all endpoints using IoT Hub routing. If a message is routed to multiple endpoints, this value increases by one for each successful delivery. If a message is delivered to the same endpoint multiple times, this value increases by one for each successful delivery.|No Dimensions| -|d2c.telemetry.ingress.allProtocol|Yes|Telemetry message send attempts|Count|Total|Number of device-to-cloud telemetry messages attempted to be sent to your IoT hub|No Dimensions| -|d2c.telemetry.ingress.sendThrottle|Yes|Number of throttling errors|Count|Total|Number of throttling errors due to device throughput throttles|No Dimensions| -|d2c.telemetry.ingress.success|Yes|Telemetry messages sent|Count|Total|Number of device-to-cloud telemetry messages sent successfully to your IoT hub|No Dimensions| -|d2c.twin.read.failure|Yes|Failed twin reads from devices|Count|Total|The count of all failed device-initiated twin reads.|No Dimensions| -|d2c.twin.read.size|Yes|Response size of twin reads from devices|Bytes|Average|The average, min, and max of all successful device-initiated twin reads.|No Dimensions| -|d2c.twin.read.success|Yes|Successful twin reads from devices|Count|Total|The count of all successful device-initiated twin reads.|No Dimensions| -|d2c.twin.update.failure|Yes|Failed twin updates from devices|Count|Total|The count of all failed device-initiated twin updates.|No Dimensions| -|d2c.twin.update.size|Yes|Size of twin updates from devices|Bytes|Average|The average, min, and max size of all successful device-initiated twin updates.|No Dimensions| -|d2c.twin.update.success|Yes|Successful twin updates from devices|Count|Total|The count of all successful device-initiated twin updates.|No Dimensions| -|dailyMessageQuotaUsed|Yes|Total number of messages used|Count|Maximum|Number of total messages used today|No Dimensions| -|deviceDataUsage|Yes|Total device data usage|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| -|deviceDataUsageV2|Yes|Total device data usage (preview)|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| -|devices.connectedDevices.allProtocol|Yes|Connected devices (deprecated) |Count|Total|Number of devices connected to your IoT hub|No Dimensions| -|devices.totalDevices|Yes|Total devices (deprecated)|Count|Total|Number of devices registered to your IoT hub|No Dimensions| -|EventGridDeliveries|Yes|Event Grid deliveries|Count|Total|The number of IoT Hub events published to Event Grid. Use the Result dimension for the number of successful and failed requests. EventType dimension shows the type of event (https://aka.ms/ioteventgrid).|Result, EventType| -|EventGridLatency|Yes|Event Grid latency|Milliseconds|Average|The average latency (milliseconds) from when the Iot Hub event was generated to when the event was published to Event Grid. This number is an average between all event types. Use the EventType dimension to see latency of a specific type of event.|EventType| -|jobs.cancelJob.failure|Yes|Failed job cancellations|Count|Total|The count of all failed calls to cancel a job.|No Dimensions| -|jobs.cancelJob.success|Yes|Successful job cancellations|Count|Total|The count of all successful calls to cancel a job.|No Dimensions| -|jobs.completed|Yes|Completed jobs|Count|Total|The count of all completed jobs.|No Dimensions| -|jobs.createDirectMethodJob.failure|Yes|Failed creations of method invocation jobs|Count|Total|The count of all failed creation of direct method invocation jobs.|No Dimensions| -|jobs.createDirectMethodJob.success|Yes|Successful creations of method invocation jobs|Count|Total|The count of all successful creation of direct method invocation jobs.|No Dimensions| -|jobs.createTwinUpdateJob.failure|Yes|Failed creations of twin update jobs|Count|Total|The count of all failed creation of twin update jobs.|No Dimensions| -|jobs.createTwinUpdateJob.success|Yes|Successful creations of twin update jobs|Count|Total|The count of all successful creation of twin update jobs.|No Dimensions| -|jobs.failed|Yes|Failed jobs|Count|Total|The count of all failed jobs.|No Dimensions| -|jobs.listJobs.failure|Yes|Failed calls to list jobs|Count|Total|The count of all failed calls to list jobs.|No Dimensions| -|jobs.listJobs.success|Yes|Successful calls to list jobs|Count|Total|The count of all successful calls to list jobs.|No Dimensions| -|jobs.queryJobs.failure|Yes|Failed job queries|Count|Total|The count of all failed calls to query jobs.|No Dimensions| -|jobs.queryJobs.success|Yes|Successful job queries|Count|Total|The count of all successful calls to query jobs.|No Dimensions| -|mqtt.connections|Yes|MQTT: New Connections (Preview)|Count|Total|The number of new connections per IoT Hub|SessionType, MqttEndpoint| -|mqtt.sessions|Yes|MQTT: New Sessions (Preview)|Count|Total|The number of new sessions per IoT Hub|SessionType, MqttEndpoint| -|mqtt.sessions.dropped|Yes|MQTT: Dropped Sessions (Preview)|Percent|Average|The rate of dropped sessions per IoT Hub|DropReason| -|mqtt.subscriptions|Yes|MQTT: New Subscriptions (Preview)|Count|Total|The number of subscriptions|Result, FailureReasonCategory, OperationType, TopicSpaceName| -|RoutingDataSizeInBytesDelivered|Yes|Routing Delivery Message Size in Bytes (preview)|Bytes|Total|The total size in bytes of messages delivered by IoT hub to an endpoint. You can use the EndpointName and EndpointType dimensions to view the size of the messages in bytes delivered to your different endpoints. The metric value increases for every message delivered, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, RoutingSource| -|RoutingDeliveries|Yes|Routing Deliveries (preview)|Count|Total|The number of times IoT Hub attempted to deliver messages to all endpoints using routing. To see the number of successful or failed attempts, use the Result dimension. To see the reason of failure, like invalid, dropped, or orphaned, use the FailureReasonCategory dimension. You can also use the EndpointName and EndpointType dimensions to understand how many messages were delivered to your different endpoints. The metric value increases by one for each delivery attempt, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, FailureReasonCategory, Result, RoutingSource| -|RoutingDeliveryLatency|Yes|Routing Delivery Latency (preview)|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into an endpoint. You can use the EndpointName and EndpointType dimensions to understand the latency to your different endpoints.|EndpointType, EndpointName, RoutingSource| -|tenantHub.requestedUsageRate|Yes|requested usage rate|Percent|Average|requested usage rate|No Dimensions| -|totalDeviceCount|Yes|Total devices|Count|Average|Number of devices registered to your IoT hub|No Dimensions| -|twinQueries.failure|Yes|Failed twin queries|Count|Total|The count of all failed twin queries.|No Dimensions| -|twinQueries.resultSize|Yes|Twin queries result size|Bytes|Average|The average, min, and max of the result size of all successful twin queries.|No Dimensions| -|twinQueries.success|Yes|Successful twin queries|Count|Total|The count of all successful twin queries.|No Dimensions| - - -## Microsoft.Devices/IotHubs - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|c2d.commands.egress.abandon.success|Yes|C2D messages abandoned|Count|Total|Number of cloud-to-device messages abandoned by the device|No Dimensions| -|c2d.commands.egress.complete.success|Yes|C2D message deliveries completed|Count|Total|Number of cloud-to-device message deliveries completed successfully by the device|No Dimensions| -|c2d.commands.egress.reject.success|Yes|C2D messages rejected|Count|Total|Number of cloud-to-device messages rejected by the device|No Dimensions| -|c2d.methods.failure|Yes|Failed direct method invocations|Count|Total|The count of all failed direct method calls.|No Dimensions| -|c2d.methods.requestSize|Yes|Request size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method requests.|No Dimensions| -|c2d.methods.responseSize|Yes|Response size of direct method invocations|Bytes|Average|The average, min, and max of all successful direct method responses.|No Dimensions| -|c2d.methods.success|Yes|Successful direct method invocations|Count|Total|The count of all successful direct method calls.|No Dimensions| -|c2d.twin.read.failure|Yes|Failed twin reads from back end|Count|Total|The count of all failed back-end-initiated twin reads.|No Dimensions| -|c2d.twin.read.size|Yes|Response size of twin reads from back end|Bytes|Average|The average, min, and max of all successful back-end-initiated twin reads.|No Dimensions| -|c2d.twin.read.success|Yes|Successful twin reads from back end|Count|Total|The count of all successful back-end-initiated twin reads.|No Dimensions| -|c2d.twin.update.failure|Yes|Failed twin updates from back end|Count|Total|The count of all failed back-end-initiated twin updates.|No Dimensions| -|c2d.twin.update.size|Yes|Size of twin updates from back end|Bytes|Average|The average, min, and max size of all successful back-end-initiated twin updates.|No Dimensions| -|c2d.twin.update.success|Yes|Successful twin updates from back end|Count|Total|The count of all successful back-end-initiated twin updates.|No Dimensions| -|C2DMessagesExpired|Yes|C2D Messages Expired|Count|Total|Number of expired cloud-to-device messages|No Dimensions| -|configurations|Yes|Configuration Metrics|Count|Total|Metrics for Configuration Operations|No Dimensions| -|connectedDeviceCount|No|Connected devices|Count|Average|Number of devices connected to your IoT hub|No Dimensions| -|d2c.endpoints.egress.builtIn.events|Yes|Routing: messages delivered to messages/events|Count|Total|The number of times IoT Hub routing successfully delivered messages to the built-in endpoint (messages/events).|No Dimensions| -|d2c.endpoints.egress.eventHubs|Yes|Routing: messages delivered to Event Hub|Count|Total|The number of times IoT Hub routing successfully delivered messages to Event Hub endpoints.|No Dimensions| -|d2c.endpoints.egress.serviceBusQueues|Yes|Routing: messages delivered to Service Bus Queue|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus queue endpoints.|No Dimensions| -|d2c.endpoints.egress.serviceBusTopics|Yes|Routing: messages delivered to Service Bus Topic|Count|Total|The number of times IoT Hub routing successfully delivered messages to Service Bus topic endpoints.|No Dimensions| -|d2c.endpoints.egress.storage|Yes|Routing: messages delivered to storage|Count|Total|The number of times IoT Hub routing successfully delivered messages to storage endpoints.|No Dimensions| -|d2c.endpoints.egress.storage.blobs|Yes|Routing: blobs delivered to storage|Count|Total|The number of times IoT Hub routing delivered blobs to storage endpoints.|No Dimensions| -|d2c.endpoints.egress.storage.bytes|Yes|Routing: data delivered to storage|Bytes|Total|The amount of data (bytes) IoT Hub routing delivered to storage endpoints.|No Dimensions| -|d2c.endpoints.latency.builtIn.events|Yes|Routing: message latency for messages/events|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into the built-in endpoint (messages/events).|No Dimensions| -|d2c.endpoints.latency.eventHubs|Yes|Routing: message latency for Event Hub|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and message ingress into an Event Hub endpoint.|No Dimensions| -|d2c.endpoints.latency.serviceBusQueues|Yes|Routing: message latency for Service Bus Queue|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus queue endpoint.|No Dimensions| -|d2c.endpoints.latency.serviceBusTopics|Yes|Routing: message latency for Service Bus Topic|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a Service Bus topic endpoint.|No Dimensions| -|d2c.endpoints.latency.storage|Yes|Routing: message latency for storage|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into a storage endpoint.|No Dimensions| -|d2c.telemetry.egress.dropped|Yes|Routing: telemetry messages dropped|Count|Total|The number of times messages were dropped by IoT Hub routing due to dead endpoints. This value does not count messages delivered to fallback route as dropped messages are not delivered there.|No Dimensions| -|d2c.telemetry.egress.fallback|Yes|Routing: messages delivered to fallback|Count|Total|The number of times IoT Hub routing delivered messages to the endpoint associated with the fallback route.|No Dimensions| -|d2c.telemetry.egress.invalid|Yes|Routing: telemetry messages incompatible|Count|Total|The number of times IoT Hub routing failed to deliver messages due to an incompatibility with the endpoint. This value does not include retries.|No Dimensions| -|d2c.telemetry.egress.orphaned|Yes|Routing: telemetry messages orphaned|Count|Total|The number of times messages were orphaned by IoT Hub routing because they didn't match any routing rules (including the fallback rule).|No Dimensions| -|d2c.telemetry.egress.success|Yes|Routing: telemetry messages delivered|Count|Total|The number of times messages were successfully delivered to all endpoints using IoT Hub routing. If a message is routed to multiple endpoints, this value increases by one for each successful delivery. If a message is delivered to the same endpoint multiple times, this value increases by one for each successful delivery.|No Dimensions| -|d2c.telemetry.ingress.allProtocol|Yes|Telemetry message send attempts|Count|Total|Number of device-to-cloud telemetry messages attempted to be sent to your IoT hub|No Dimensions| -|d2c.telemetry.ingress.sendThrottle|Yes|Number of throttling errors|Count|Total|Number of throttling errors due to device throughput throttles|No Dimensions| -|d2c.telemetry.ingress.success|Yes|Telemetry messages sent|Count|Total|Number of device-to-cloud telemetry messages sent successfully to your IoT hub|No Dimensions| -|d2c.twin.read.failure|Yes|Failed twin reads from devices|Count|Total|The count of all failed device-initiated twin reads.|No Dimensions| -|d2c.twin.read.size|Yes|Response size of twin reads from devices|Bytes|Average|The average, min, and max of all successful device-initiated twin reads.|No Dimensions| -|d2c.twin.read.success|Yes|Successful twin reads from devices|Count|Total|The count of all successful device-initiated twin reads.|No Dimensions| -|d2c.twin.update.failure|Yes|Failed twin updates from devices|Count|Total|The count of all failed device-initiated twin updates.|No Dimensions| -|d2c.twin.update.size|Yes|Size of twin updates from devices|Bytes|Average|The average, min, and max size of all successful device-initiated twin updates.|No Dimensions| -|d2c.twin.update.success|Yes|Successful twin updates from devices|Count|Total|The count of all successful device-initiated twin updates.|No Dimensions| -|dailyMessageQuotaUsed|Yes|Total number of messages used|Count|Maximum|Number of total messages used today|No Dimensions| -|deviceDataUsage|Yes|Total device data usage|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| -|deviceDataUsageV2|Yes|Total device data usage (preview)|Bytes|Total|Bytes transferred to and from any devices connected to IotHub|No Dimensions| -|devices.connectedDevices.allProtocol|Yes|Connected devices (deprecated) |Count|Total|Number of devices connected to your IoT hub|No Dimensions| -|devices.totalDevices|Yes|Total devices (deprecated)|Count|Total|Number of devices registered to your IoT hub|No Dimensions| -|EventGridDeliveries|Yes|Event Grid deliveries|Count|Total|The number of IoT Hub events published to Event Grid. Use the Result dimension for the number of successful and failed requests. EventType dimension shows the type of event (https://aka.ms/ioteventgrid).|Result, EventType| -|EventGridLatency|Yes|Event Grid latency|Milliseconds|Average|The average latency (milliseconds) from when the Iot Hub event was generated to when the event was published to Event Grid. This number is an average between all event types. Use the EventType dimension to see latency of a specific type of event.|EventType| -|jobs.cancelJob.failure|Yes|Failed job cancellations|Count|Total|The count of all failed calls to cancel a job.|No Dimensions| -|jobs.cancelJob.success|Yes|Successful job cancellations|Count|Total|The count of all successful calls to cancel a job.|No Dimensions| -|jobs.completed|Yes|Completed jobs|Count|Total|The count of all completed jobs.|No Dimensions| -|jobs.createDirectMethodJob.failure|Yes|Failed creations of method invocation jobs|Count|Total|The count of all failed creation of direct method invocation jobs.|No Dimensions| -|jobs.createDirectMethodJob.success|Yes|Successful creations of method invocation jobs|Count|Total|The count of all successful creation of direct method invocation jobs.|No Dimensions| -|jobs.createTwinUpdateJob.failure|Yes|Failed creations of twin update jobs|Count|Total|The count of all failed creation of twin update jobs.|No Dimensions| -|jobs.createTwinUpdateJob.success|Yes|Successful creations of twin update jobs|Count|Total|The count of all successful creation of twin update jobs.|No Dimensions| -|jobs.failed|Yes|Failed jobs|Count|Total|The count of all failed jobs.|No Dimensions| -|jobs.listJobs.failure|Yes|Failed calls to list jobs|Count|Total|The count of all failed calls to list jobs.|No Dimensions| -|jobs.listJobs.success|Yes|Successful calls to list jobs|Count|Total|The count of all successful calls to list jobs.|No Dimensions| -|jobs.queryJobs.failure|Yes|Failed job queries|Count|Total|The count of all failed calls to query jobs.|No Dimensions| -|jobs.queryJobs.success|Yes|Successful job queries|Count|Total|The count of all successful calls to query jobs.|No Dimensions| -|RoutingDataSizeInBytesDelivered|Yes|Routing Delivery Message Size in Bytes (preview)|Bytes|Total|The total size in bytes of messages delivered by IoT hub to an endpoint. You can use the EndpointName and EndpointType dimensions to view the size of the messages in bytes delivered to your different endpoints. The metric value increases for every message delivered, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, RoutingSource| -|RoutingDeliveries|Yes|Routing Deliveries (preview)|Count|Total|The number of times IoT Hub attempted to deliver messages to all endpoints using routing. To see the number of successful or failed attempts, use the Result dimension. To see the reason of failure, like invalid, dropped, or orphaned, use the FailureReasonCategory dimension. You can also use the EndpointName and EndpointType dimensions to understand how many messages were delivered to your different endpoints. The metric value increases by one for each delivery attempt, including if the message is delivered to multiple endpoints or if the message is delivered to the same endpoint multiple times.|EndpointType, EndpointName, FailureReasonCategory, Result, RoutingSource| -|RoutingDeliveryLatency|Yes|Routing Delivery Latency (preview)|Milliseconds|Average|The average latency (milliseconds) between message ingress to IoT Hub and telemetry message ingress into an endpoint. You can use the EndpointName and EndpointType dimensions to understand the latency to your different endpoints.|EndpointType, EndpointName, RoutingSource| -|totalDeviceCount|No|Total devices|Count|Average|Number of devices registered to your IoT hub|No Dimensions| -|twinQueries.failure|Yes|Failed twin queries|Count|Total|The count of all failed twin queries.|No Dimensions| -|twinQueries.resultSize|Yes|Twin queries result size|Bytes|Average|The average, min, and max of the result size of all successful twin queries.|No Dimensions| -|twinQueries.success|Yes|Successful twin queries|Count|Total|The count of all successful twin queries.|No Dimensions| - - -## Microsoft.Devices/provisioningServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AttestationAttempts|Yes|Attestation attempts|Count|Total|Number of device attestations attempted|ProvisioningServiceName, Status, Protocol| -|DeviceAssignments|Yes|Devices assigned|Count|Total|Number of devices assigned to an IoT hub|ProvisioningServiceName, IotHubName| -|RegistrationAttempts|Yes|Registration attempts|Count|Total|Number of device registrations attempted|ProvisioningServiceName, IotHubName, Status| - - -## Microsoft.DigitalTwins/digitalTwinsInstances - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ApiRequests|Yes|API Requests|Count|Total|The number of API requests made for Digital Twins read, write, delete and query operations.|Operation, Authentication, Protocol, StatusCode, StatusCodeClass, StatusText| -|ApiRequestsFailureRate|Yes|API Requests Failure Rate|Percent|Average|The percentage of API requests that the service receives for your instance that return an internal error (500) response code for Digital Twins read, write, delete and query operations.|Operation, Authentication, Protocol| -|ApiRequestsLatency|Yes|API Requests Latency|Milliseconds|Average|The response time for API requests, i.e. from when the request is received by Azure Digital Twins until the service sends a success/fail result for Digital Twins read, write, delete and query operations.|Operation, Authentication, Protocol, StatusCode, StatusCodeClass, StatusText| -|BillingApiOperations|Yes|Billing API Operations|Count|Total|Billing metric for the count of all API requests made against the Azure Digital Twins service.|MeterId| -|BillingMessagesProcessed|Yes|Billing Messages Processed|Count|Total|Billing metric for the number of messages sent out from Azure Digital Twins to external endpoints.|MeterId| -|BillingQueryUnits|Yes|Billing Query Units|Count|Total|The number of Query Units, an internally computed measure of service resource usage, consumed to execute queries.|MeterId| -|DataHistoryRouting|Yes|Data History Messages Routed (preview)|Count|Total|The number of messages routed to a time series database.|EndpointType, Result| -|DataHistoryRoutingFailureRate|Yes|Data History Routing Failure Rate (preview)|Percent|Average|The percentage of events that result in an error as they are routed from Azure Digital Twins to a time series database.|EndpointType| -|DataHistoryRoutingLatency|Yes|Data History Routing Latency (preview)|Milliseconds|Average|Time elapsed between an event getting routed from Azure Digital Twins to when it is posted to a time series database.|EndpointType, Result| -|IngressEvents|Yes|Ingress Events|Count|Total|The number of incoming telemetry events into Azure Digital Twins.|Result| -|IngressEventsFailureRate|Yes|Ingress Events Failure Rate|Percent|Average|The percentage of incoming telemetry events for which the service returns an internal error (500) response code.|No Dimensions| -|IngressEventsLatency|Yes|Ingress Events Latency|Milliseconds|Average|The time from when an event arrives to when it is ready to be egressed by Azure Digital Twins, at which point the service sends a success/fail result.|Result| -|ModelCount|Yes|Model Count|Count|Total|Total number of models in the Azure Digital Twins instance. Use this metric to determine if you are approaching the service limit for max number of models allowed per instance.|No Dimensions| -|Routing|Yes|Messages Routed|Count|Total|The number of messages routed to an endpoint Azure service such as Event Hub, Service Bus or Event Grid.|EndpointType, Result| -|RoutingFailureRate|Yes|Routing Failure Rate|Percent|Average|The percentage of events that result in an error as they are routed from Azure Digital Twins to an endpoint Azure service such as Event Hub, Service Bus or Event Grid.|EndpointType| -|RoutingLatency|Yes|Routing Latency|Milliseconds|Average|Time elapsed between an event getting routed from Azure Digital Twins to when it is posted to the endpoint Azure service such as Event Hub, Service Bus or Event Grid.|EndpointType, Result| -|TwinCount|Yes|Twin Count|Count|Total|Total number of twins in the Azure Digital Twins instance. Use this metric to determine if you are approaching the service limit for max number of twins allowed per instance.|No Dimensions| - - -## Microsoft.DocumentDB/cassandraClusters - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|cassandra_cache_capacity|No|capacity|Bytes|Average|Cache capacity in bytes.|cassandra_datacenter, cassandra_node, cache_name| -|cassandra_cache_entries|No|entries|Count|Average|Total number of cache entries.|cassandra_datacenter, cassandra_node, cache_name| -|cassandra_cache_hit_rate|No|hit rate|Percent|Average|All time cache hit rate.|cassandra_datacenter, cassandra_node, cache_name| -|cassandra_cache_hits|No|hits|Count|Average|Total number of cache hits.|cassandra_datacenter, cassandra_node, cache_name| -|cassandra_cache_miss_latency_histogram|No|cache miss latency histogram|Count|Average|Histogram of cache miss latency (in microseconds).|cassandra_datacenter, cassandra_node, quantile| -|cassandra_cache_miss_latency_p99|No|miss latency p99 (in microseconds)|Count|Average|p99 Latency of misses.|cassandra_datacenter, cassandra_node, cache_name| -|cassandra_cache_requests|No|requests|Count|Average|Total number of cache requests.|cassandra_datacenter, cassandra_node, cache_name| -|cassandra_cache_size|No|size|Bytes|Average|Total size of occupied cache, in bytes.|cassandra_datacenter, cassandra_node, cache_name| -|cassandra_client_auth_failure|No|auth failure|Count|Average|Number of failed client authentication requests.|cassandra_datacenter, cassandra_node| -|cassandra_client_auth_success|No|auth success|Count|Average|Number of successful client authentication requests.|cassandra_datacenter, cassandra_node| -|cassandra_client_request_condition_not_met|No|condition not met|Count|Average|Number of transaction preconditions did not match current values.|cassandra_datacenter, cassandra_node, request_type| -|cassandra_client_request_contention_histogram|No|contention|Count|Average|How many contended reads/writes were encountered.|cassandra_datacenter, cassandra_node, request_type| -|cassandra_client_request_contention_histogram_p99|No|contention histogram p99|Count|Average|p99 How many contended writes were encountered.|cassandra_datacenter, cassandra_node, request_type| -|cassandra_client_request_failures|No|failures|Count|Average|Number of transaction failures encountered.|cassandra_datacenter, cassandra_node, request_type| -|cassandra_client_request_latency_histogram|No|client request latency histogram|Count|Average|Histogram of client request latency (in microseconds).|cassandra_datacenter, cassandra_node, quantile, request_type| -|cassandra_client_request_latency_p99|No|latency p99 (in microseconds)|Count|Average|p99 Latency.|cassandra_datacenter, cassandra_node, request_type| -|cassandra_client_request_timeouts|No|timeouts|Count|Average|Number of timeouts encountered.|cassandra_datacenter, cassandra_node, request_type| -|cassandra_client_request_unfinished_commit|No|unfinished commit|Count|Average|Number of transactions that were committed on write.|cassandra_datacenter, cassandra_node, request_type| -|cassandra_commit_log_waiting_on_commit_latency_histogram|No|waiting on commit latency histogram|Count|Average|Histogram of the time spent waiting on CL fsync (in microseconds); for Periodic this is only occurs when the sync is lagging its sync interval.|cassandra_datacenter, cassandra_node, quantile| -|cassandra_cql_prepared_statements_executed|No|prepared statements executed|Count|Average|Number of prepared statements executed.|cassandra_datacenter, cassandra_node| -|cassandra_cql_regular_statements_executed|No|regular statements executed|Count|Average|Number of non prepared statements executed.|cassandra_datacenter, cassandra_node| -|cassandra_jvm_gc_count|No|gc count|Count|Average|Total number of collections that have occurred.|cassandra_datacenter, cassandra_node| -|cassandra_jvm_gc_time|No|gc time|MilliSeconds|Average|Approximate accumulated collection elapsed time.|cassandra_datacenter, cassandra_node| -|cassandra_table_all_memtables_live_data_size|No|all memtables live data size|Count|Average|Total amount of live data stored in the memtables (2i and pending flush memtables included) that resides off-heap, excluding any data structure overhead.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_all_memtables_off_heap_size|No|all memtables off heap size|Count|Average|Total amount of data stored in the memtables (2i and pending flush memtables included) that resides off-heap.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_bloom_filter_disk_space_used|No|bloom filter disk space used|Bytes|Average|Disk space used by bloom filter (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_bloom_filter_false_positives|No|bloom filter false positives|Count|Average|Number of false positives on table's bloom filter.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_bloom_filter_false_ratio|No|bloom filter false ratio|Percent|Average|False positive ratio of table's bloom filter.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_bloom_filter_off_heap_memory_used|No|bloom filter off-heap memory used|Count|Average|Off-heap memory used by bloom filter.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_bytes_flushed|No|bytes flushed|Bytes|Average|Total number of bytes flushed since server [re]start.|cassandra_datacenter, cassandra_node| -|cassandra_table_cas_commit|No|cas commit (in microseconds)|Count|Average|Latency of paxos commit round.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_cas_commit_p99|No|cas commit p99 (in microseconds)|Count|Average|p99 Latency of paxos commit round.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_cas_prepare|No|cas prepare (in microseconds)|Count|Average|Latency of paxos prepare round.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_cas_prepare_p99|No|cas prepare p99 (in microseconds)|Count|Average|p99 Latency of paxos prepare round.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_cas_propose|No|cas propose (in microseconds)|Count|Average|Latency of paxos propose round.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_cas_propose_p99|No|cas propose p99 (in microseconds)|Count|Average|p99 Latency of paxos propose round.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_col_update_time_delta_histogram|No|col update time delta|Count|Average|Column update time delta on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_col_update_time_delta_histogram_p99|No|col update time delta p99|Count|Average|p99 Column update time delta on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_compaction_bytes_written|No|compaction bytes written|Bytes|Average|Total number of bytes written by compaction since server [re]start.|cassandra_datacenter, cassandra_node| -|cassandra_table_compression_metadata_off_heap_memory_used|No|compression metadata off heap memory used|Count|Average|Off-heap memory used by compression meta data.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_compression_ratio|No|compression ratio|Percent|Average|Current compression ratio for all SSTables.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_coordinator_read_latency|No|coordinator read latency (in microseconds)|Count|Average|Coordinator read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_coordinator_read_latency_p99|No|coordinator read latency p99 (in microseconds)|Count|Average|p99 Coordinator read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_coordinator_scan_latency|No|coordinator scan latency (in microseconds)|Count|Average|Coordinator range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_coordinator_scan_latency_p99|No|coordinator scan latency p99 (in microseconds)|Count|Average|p99 Coordinator range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_dropped_mutations|No|dropped mutations|Count|Average|Number of dropped mutations on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_estimated_column_count_histogram|No|estimated column count|Count|Average|Estimated number of columns.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_estimated_column_count_histogram_p99|No|estimated column count p99|Count|Average|p99 Estimated number of columns.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_estimated_partition_count|No|estimated partition count|Count|Average|Approximate number of keys in table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_estimated_partition_size_histogram|No|estimated partition size histogram|Bytes|Average|Histogram of estimated partition size.|cassandra_datacenter, cassandra_node, quantile| -|cassandra_table_estimated_partition_size_histogram_p99|No|estimated partition size p99|Bytes|Average|p99 Estimated partition size (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_index_summary_off_heap_memory_used|No|index summary off heap memory used|Count|Average|Off-heap memory used by index summary.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_key_cache_hit_rate|No|key cache hit rate|Percent|Average|Key cache hit rate for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_live_disk_space_used|No|live disk space used|Bytes|Average|Disk space used by SSTables belonging to this table (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_live_scanned_histogram|No|live scanned|Count|Average|Live cells scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_live_scanned_histogram_p99|No|live scanned p99|Count|Average|p99 Live cells scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_live_sstable_count|No|live sstable count|Count|Average|Number of SSTables on disk for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_max_partition_size|No|max partition size|Bytes|Average|Size of the largest compacted partition (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_mean_partition_size|No|mean partition size|Bytes|Average|Size of the average compacted partition (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_memtable_columns_count|No|memtable columns count|Count|Average|Total number of columns present in the memtable.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_memtable_off_heap_size|No|memtable off heap size|Count|Average|Total amount of data stored in the memtable that resides off-heap, including column related overhead and partitions overwritten.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_memtable_on_heap_size|No|memtable on heap size|Count|Average|Total amount of data stored in the memtable that resides on-heap, including column related overhead and partitions overwritten.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_memtable_switch_count|No|memtable switch count|Count|Average|Number of times flush has resulted in the memtable being switched out.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_min_partition_size|No|min partition size|Bytes|Average|Size of the smallest compacted partition (in bytes).|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_pending_compactions|No|pending compactions|Count|Average|Estimate of number of pending compactions for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_pending_flushes|No|pending flushes|Count|Average|Estimated number of flush tasks pending for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_percent_repaired|No|percent repaired|Percent|Average|Percent of table data that is repaired on disk.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_range_latency|No|range latency (in microseconds)|Count|Average|Local range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_range_latency_p99|No|range latency p99 (in microseconds)|Count|Average|p99 Local range scan latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_read_latency|No|read latency (in microseconds)|Count|Average|Local read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_read_latency_p99|No|read latency p99 (in microseconds)|Count|Average|p99 Local read latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_row_cache_hit|No|row cache hit|Count|Average|Number of table row cache hits.|cassandra_datacenter, cassandra_node| -|cassandra_table_row_cache_hit_out_of_range|No|row cache hit out of range|Count|Average|Number of table row cache hits that do not satisfy the query filter, thus went to disk.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_row_cache_miss|No|row cache miss|Count|Average|Number of table row cache misses.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_speculative_retries|No|speculative retries|Count|Average|Number of times speculative retries were sent for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_sstables_per_read_histogram|No|sstables per read|Count|Average|Number of sstable data files accessed per single partition read. SSTables skipped due to Bloom Filters, min-max key or partition index lookup are not taken into account.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_sstables_per_read_histogram_p99|No|sstables per read p99|Count|Average|p99 Number of sstable data files accessed per single partition read. SSTables skipped due to Bloom Filters, min-max key or partition index lookup are not taken into account.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_tombstone_scanned_histogram|No|tombstone scanned|Count|Average|Tombstones scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_tombstone_scanned_histogram_p99|No|tombstone scanned p99|Count|Average|p99 Tombstones scanned in queries on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_total_disk_space_used|No|total disk space used|Count|Average|Total disk space used by SSTables belonging to this table, including obsolete ones waiting to be GC'd.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_view_lock_acquire_time|No|view lock acquire time|Count|Average|Time taken acquiring a partition lock for materialized view updates on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_view_lock_acquire_time_p99|No|view lock acquire time p99|Count|Average|p99 Time taken acquiring a partition lock for materialized view updates on this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_view_read_time|No|view read time|Count|Average|Time taken during the local read of a materialized view update.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_view_read_time_p99|No|view read time p99|Count|Average|p99 Time taken during the local read of a materialized view update.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_waiting_on_free_memtable_space|No|waiting on free memtable space|Count|Average|Time spent waiting for free memtable space, either on- or off-heap.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_waiting_on_free_memtable_space_p99|No|waiting on free memtable space p99|Count|Average|p99 Time spent waiting for free memtable space, either on- or off-heap.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_write_latency|No|write latency (in microseconds)|Count|Average|Local write latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_table_write_latency_p99|No|write latency p99 (in microseconds)|Count|Average|p99 Local write latency for this table.|cassandra_datacenter, cassandra_node, table, keyspace| -|cassandra_thread_pools_active_tasks|No|active tasks|Count|Average|Number of tasks being actively worked on by this pool.|cassandra_datacenter, cassandra_node, pool_name, pool_type| -|cassandra_thread_pools_currently_blocked_tasks|No|currently blocked tasks|Count|Average|Number of tasks that are currently blocked due to queue saturation but on retry will become unblocked.|cassandra_datacenter, cassandra_node, pool_name, pool_type| -|cassandra_thread_pools_max_pool_size|No|max pool size|Count|Average|The maximum number of threads in this pool.|cassandra_datacenter, cassandra_node, pool_name, pool_type| -|cassandra_thread_pools_pending_tasks|No|pending tasks|Count|Average|Number of queued tasks queued up on this pool.|cassandra_datacenter, cassandra_node, pool_name, pool_type| -|cassandra_thread_pools_total_blocked_tasks|No|total blocked tasks|Count|Average|Number of tasks that were blocked due to queue saturation.|cassandra_datacenter, cassandra_node, pool_name, pool_type| - - -## Microsoft.DocumentDB/databaseAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AddRegion|Yes|Region Added|Count|Count|Region Added|Region| -|AutoscaleMaxThroughput|No|Autoscale Max Throughput|Count|Maximum|Autoscale Max Throughput|DatabaseName, CollectionName| -|AvailableStorage|No|(deprecated) Available Storage|Bytes|Total|"Available Storage" will be removed from Azure Monitor at the end of September 2023. Cosmos DB collection storage size is now unlimited. The only restriction is that the storage size for each logical partition key is 20GB. You can enable PartitionKeyStatistics in Diagnostic Log to know the storage consumption for top partition keys. For more info about Cosmos DB storage quota, please check this doc https://learn.microsoft.com/azure/cosmos-db/concepts-limits. After deprecation, the remaining alert rules still defined on the deprecated metric will be automatically disabled post the deprecation date.|CollectionName, DatabaseName, Region| -|CassandraConnectionClosures|No|Cassandra Connection Closures|Count|Total|Number of Cassandra connections that were closed, reported at a 1 minute granularity|Region, ClosureReason| -|CassandraConnectorAvgReplicationLatency|No|Cassandra Connector Average ReplicationLatency|MilliSeconds|Average|Cassandra Connector Average ReplicationLatency|No Dimensions| -|CassandraConnectorReplicationHealthStatus|No|Cassandra Connector Replication Health Status|Count|Count|Cassandra Connector Replication Health Status|NotStarted, ReplicationInProgress, Error| -|CassandraKeyspaceCreate|No|Cassandra Keyspace Created|Count|Count|Cassandra Keyspace Created|ResourceName, | -|CassandraKeyspaceDelete|No|Cassandra Keyspace Deleted|Count|Count|Cassandra Keyspace Deleted|ResourceName, | -|CassandraKeyspaceThroughputUpdate|No|Cassandra Keyspace Throughput Updated|Count|Count|Cassandra Keyspace Throughput Updated|ResourceName, | -|CassandraKeyspaceUpdate|No|Cassandra Keyspace Updated|Count|Count|Cassandra Keyspace Updated|ResourceName, | -|CassandraRequestCharges|No|Cassandra Request Charges|Count|Total|RUs consumed for Cassandra requests made|DatabaseName, CollectionName, Region, OperationType, ResourceType| -|CassandraRequests|No|Cassandra Requests|Count|Count|Number of Cassandra requests made|DatabaseName, CollectionName, Region, OperationType, ResourceType, ErrorCode| -|CassandraTableCreate|No|Cassandra Table Created|Count|Count|Cassandra Table Created|ResourceName, ChildResourceName, | -|CassandraTableDelete|No|Cassandra Table Deleted|Count|Count|Cassandra Table Deleted|ResourceName, ChildResourceName, | -|CassandraTableThroughputUpdate|No|Cassandra Table Throughput Updated|Count|Count|Cassandra Table Throughput Updated|ResourceName, ChildResourceName, | -|CassandraTableUpdate|No|Cassandra Table Updated|Count|Count|Cassandra Table Updated|ResourceName, ChildResourceName, | -|CreateAccount|Yes|Account Created|Count|Count|Account Created|No Dimensions| -|DataUsage|No|Data Usage|Bytes|Total|Total data usage reported at 5 minutes granularity|CollectionName, DatabaseName, Region| -|DedicatedGatewayAverageCPUUsage|No|DedicatedGatewayAverageCPUUsage|Percent|Average|Average CPU usage across dedicated gateway instances|Region, | -|DedicatedGatewayAverageMemoryUsage|No|DedicatedGatewayAverageMemoryUsage|Bytes|Average|Average memory usage across dedicated gateway instances, which is used for both routing requests and caching data|Region| -|DedicatedGatewayMaximumCPUUsage|No|DedicatedGatewayMaximumCPUUsage|Percent|Average|Average Maximum CPU usage across dedicated gateway instances|Region, | -|DedicatedGatewayRequests|Yes|DedicatedGatewayRequests|Count|Count|Requests at the dedicated gateway|DatabaseName, CollectionName, CacheExercised, OperationName, Region| -|DeleteAccount|Yes|Account Deleted|Count|Count|Account Deleted|No Dimensions| -|DocumentCount|No|Document Count|Count|Total|Total document count reported at 5 minutes granularity|CollectionName, DatabaseName, Region| -|DocumentQuota|No|Document Quota|Bytes|Total|Total storage quota reported at 5 minutes granularity|CollectionName, DatabaseName, Region| -|GremlinDatabaseCreate|No|Gremlin Database Created|Count|Count|Gremlin Database Created|ResourceName, | -|GremlinDatabaseDelete|No|Gremlin Database Deleted|Count|Count|Gremlin Database Deleted|ResourceName, | -|GremlinDatabaseThroughputUpdate|No|Gremlin Database Throughput Updated|Count|Count|Gremlin Database Throughput Updated|ResourceName, | -|GremlinDatabaseUpdate|No|Gremlin Database Updated|Count|Count|Gremlin Database Updated|ResourceName, | -|GremlinGraphCreate|No|Gremlin Graph Created|Count|Count|Gremlin Graph Created|ResourceName, ChildResourceName, | -|GremlinGraphDelete|No|Gremlin Graph Deleted|Count|Count|Gremlin Graph Deleted|ResourceName, ChildResourceName, | -|GremlinGraphThroughputUpdate|No|Gremlin Graph Throughput Updated|Count|Count|Gremlin Graph Throughput Updated|ResourceName, ChildResourceName, | -|GremlinGraphUpdate|No|Gremlin Graph Updated|Count|Count|Gremlin Graph Updated|ResourceName, ChildResourceName, | -|IndexUsage|No|Index Usage|Bytes|Total|Total index usage reported at 5 minutes granularity|CollectionName, DatabaseName, Region| -|IntegratedCacheEvictedEntriesSize|No|IntegratedCacheEvictedEntriesSize|Bytes|Average|Size of the entries evicted from the integrated cache|Region| -|IntegratedCacheItemExpirationCount|No|IntegratedCacheItemExpirationCount|Count|Average|Number of items evicted from the integrated cache due to TTL expiration|Region, | -|IntegratedCacheItemHitRate|No|IntegratedCacheItemHitRate|Percent|Average|Number of point reads that used the integrated cache divided by number of point reads routed through the dedicated gateway with eventual consistency|Region, | -|IntegratedCacheQueryExpirationCount|No|IntegratedCacheQueryExpirationCount|Count|Average|Number of queries evicted from the integrated cache due to TTL expiration|Region, | -|IntegratedCacheQueryHitRate|No|IntegratedCacheQueryHitRate|Percent|Average|Number of queries that used the integrated cache divided by number of queries routed through the dedicated gateway with eventual consistency|Region, | -|MetadataRequests|No|Metadata Requests|Count|Count|Count of metadata requests. Cosmos DB maintains system metadata collection for each account, that allows you to enumerate collections, databases, etc, and their configurations, free of charge.|DatabaseName, CollectionName, Region, StatusCode, | -|MongoCollectionCreate|No|Mongo Collection Created|Count|Count|Mongo Collection Created|ResourceName, ChildResourceName, | -|MongoCollectionDelete|No|Mongo Collection Deleted|Count|Count|Mongo Collection Deleted|ResourceName, ChildResourceName, | -|MongoCollectionThroughputUpdate|No|Mongo Collection Throughput Updated|Count|Count|Mongo Collection Throughput Updated|ResourceName, ChildResourceName, | -|MongoCollectionUpdate|No|Mongo Collection Updated|Count|Count|Mongo Collection Updated|ResourceName, ChildResourceName, | -|MongoDatabaseDelete|No|Mongo Database Deleted|Count|Count|Mongo Database Deleted|ResourceName, | -|MongoDatabaseThroughputUpdate|No|Mongo Database Throughput Updated|Count|Count|Mongo Database Throughput Updated|ResourceName, | -|MongoDBDatabaseCreate|No|Mongo Database Created|Count|Count|Mongo Database Created|ResourceName, | -|MongoDBDatabaseUpdate|No|Mongo Database Updated|Count|Count|Mongo Database Updated|ResourceName, | -|MongoRequestCharge|Yes|Mongo Request Charge|Count|Total|Mongo Request Units Consumed|DatabaseName, CollectionName, Region, CommandName, ErrorCode, Status| -|MongoRequests|Yes|Mongo Requests|Count|Count|Number of Mongo Requests Made|DatabaseName, CollectionName, Region, CommandName, ErrorCode, Status| -|MongoRequestsCount|No|(deprecated) Mongo Request Rate|CountPerSecond|Average|Mongo request Count per second|DatabaseName, CollectionName, Region, ErrorCode| -|MongoRequestsDelete|No|(deprecated) Mongo Delete Request Rate|CountPerSecond|Average|Mongo Delete request per second|DatabaseName, CollectionName, Region, ErrorCode| -|MongoRequestsInsert|No|(deprecated) Mongo Insert Request Rate|CountPerSecond|Average|Mongo Insert count per second|DatabaseName, CollectionName, Region, ErrorCode| -|MongoRequestsQuery|No|(deprecated) Mongo Query Request Rate|CountPerSecond|Average|Mongo Query request per second|DatabaseName, CollectionName, Region, ErrorCode| -|MongoRequestsUpdate|No|(deprecated) Mongo Update Request Rate|CountPerSecond|Average|Mongo Update request per second|DatabaseName, CollectionName, Region, ErrorCode| -|NormalizedRUConsumption|No|Normalized RU Consumption|Percent|Maximum|Max RU consumption percentage per minute|CollectionName, DatabaseName, Region, PartitionKeyRangeId| -|ProvisionedThroughput|No|Provisioned Throughput|Count|Maximum|Provisioned Throughput|DatabaseName, CollectionName| -|RegionFailover|Yes|Region Failed Over|Count|Count|Region Failed Over|No Dimensions| -|RemoveRegion|Yes|Region Removed|Count|Count|Region Removed|Region| -|ReplicationLatency|Yes|P99 Replication Latency|MilliSeconds|Average|P99 Replication Latency across source and target regions for geo-enabled account|SourceRegion, TargetRegion| -|ServerSideLatency|No|Server Side Latency|MilliSeconds|Average|Server Side Latency|DatabaseName, CollectionName, Region, ConnectionMode, OperationType, PublicAPIType| -|ServiceAvailability|No|Service Availability|Percent|Average|Account requests availability at one hour, day or month granularity|No Dimensions| -|SqlContainerCreate|No|Sql Container Created|Count|Count|Sql Container Created|ResourceName, ChildResourceName, | -|SqlContainerDelete|No|Sql Container Deleted|Count|Count|Sql Container Deleted|ResourceName, ChildResourceName, | -|SqlContainerThroughputUpdate|No|Sql Container Throughput Updated|Count|Count|Sql Container Throughput Updated|ResourceName, ChildResourceName, | -|SqlContainerUpdate|No|Sql Container Updated|Count|Count|Sql Container Updated|ResourceName, ChildResourceName, | -|SqlDatabaseCreate|No|Sql Database Created|Count|Count|Sql Database Created|ResourceName, | -|SqlDatabaseDelete|No|Sql Database Deleted|Count|Count|Sql Database Deleted|ResourceName, | -|SqlDatabaseThroughputUpdate|No|Sql Database Throughput Updated|Count|Count|Sql Database Throughput Updated|ResourceName, | -|SqlDatabaseUpdate|No|Sql Database Updated|Count|Count|Sql Database Updated|ResourceName, | -|TableTableCreate|No|AzureTable Table Created|Count|Count|AzureTable Table Created|ResourceName, | -|TableTableDelete|No|AzureTable Table Deleted|Count|Count|AzureTable Table Deleted|ResourceName, | -|TableTableThroughputUpdate|No|AzureTable Table Throughput Updated|Count|Count|AzureTable Table Throughput Updated|ResourceName, | -|TableTableUpdate|No|AzureTable Table Updated|Count|Count|AzureTable Table Updated|ResourceName, | -|TotalRequests|Yes|Total Requests|Count|Count|Number of requests made|DatabaseName, CollectionName, Region, StatusCode, OperationType, Status| -|TotalRequestUnits|Yes|Total Request Units|Count|Total|Request Units consumed|DatabaseName, CollectionName, Region, StatusCode, OperationType, Status| -|UpdateAccountKeys|Yes|Account Keys Updated|Count|Count|Account Keys Updated|KeyType| -|UpdateAccountNetworkSettings|Yes|Account Network Settings Updated|Count|Count|Account Network Settings Updated|No Dimensions| -|UpdateAccountReplicationSettings|Yes|Account Replication Settings Updated|Count|Count|Account Replication Settings Updated|No Dimensions| -|UpdateDiagnosticsSettings|No|Account Diagnostic Settings Updated|Count|Count|Account Diagnostic Settings Updated|DiagnosticSettingsName, ResourceGroupName| - - -## microsoft.edgezones/edgezones - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|DiskStorageIOPSUsage|No|Disk IOPS|CountPerSecond|Average|The total IOPS generated by Managed Disks in Azure Edge Zone Enterprise site.|No Dimensions| -|DiskStorageUsedSizeUsage|Yes|Disk Usage Percentage|Percent|Average|The utilization of the Managed Disk capacity in Azure Edge Zone Enterprise site.|No Dimensions| -|TotalDiskStorageSizeCapacity|Yes|Total Disk Capacity|Bytes|Average|The total capacity of Managed Disk in Azure Edge Zone Enterprise site.|No Dimensions| -|TotalVcoreCapacity|Yes|Total VCore Capacity|Count|Average|The total capacity of the General-Purpose Compute vcore in Edge Zone Enterprise site. |No Dimensions| -|VcoresUsage|Yes|Vcore Usage Percentage|Percent|Average|The utilization of the General-Purpose Compute vcores in Edge Zone Enterprise site |No Dimensions| - - -## Microsoft.EventGrid/domains - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|Topic, EventSubscriptionName, DomainEventSubscriptionName| -|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName, DeadLetterReason| -|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName, Error, ErrorType| -|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName| -|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|Topic, EventSubscriptionName, DomainEventSubscriptionName| -|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName, DropReason| -|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|Topic, EventSubscriptionName, DomainEventSubscriptionName| -|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|Topic, ErrorType, Error| -|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|Topic| -|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| - - -## Microsoft.EventGrid/eventSubscriptions - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason| -|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType| -|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|No Dimensions| -|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|No Dimensions| -|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason| -|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|No Dimensions| - - -## Microsoft.EventGrid/extensionTopics - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| -|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| -|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| -|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| - - -## Microsoft.EventGrid/partnerNamespaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| -|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| -|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| -|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| - - -## Microsoft.EventGrid/partnerTopics - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|EventSubscriptionName| -|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason, EventSubscriptionName| -|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType, EventSubscriptionName| -|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|EventSubscriptionName| -|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|EventSubscriptionName| -|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason, EventSubscriptionName| -|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|EventSubscriptionName| -|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| -|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| - - -## Microsoft.EventGrid/systemTopics - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|EventSubscriptionName| -|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason, EventSubscriptionName| -|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType, EventSubscriptionName| -|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|EventSubscriptionName| -|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|EventSubscriptionName| -|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason, EventSubscriptionName| -|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|EventSubscriptionName| -|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| -|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| -|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| -|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| - - -## Microsoft.EventGrid/topics - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AdvancedFilterEvaluationCount|Yes|Advanced Filter Evaluations|Count|Total|Total advanced filters evaluated across event subscriptions for this topic.|EventSubscriptionName| -|DeadLetteredCount|Yes|Dead Lettered Events|Count|Total|Total dead lettered events matching to this event subscription|DeadLetterReason, EventSubscriptionName| -|DeliveryAttemptFailCount|No|Delivery Failed Events|Count|Total|Total events failed to deliver to this event subscription|Error, ErrorType, EventSubscriptionName| -|DeliverySuccessCount|Yes|Delivered Events|Count|Total|Total events delivered to this event subscription|EventSubscriptionName| -|DestinationProcessingDurationInMs|No|Destination Processing Duration|Milliseconds|Average|Destination processing duration in milliseconds|EventSubscriptionName| -|DroppedEventCount|Yes|Dropped Events|Count|Total|Total dropped events matching to this event subscription|DropReason, EventSubscriptionName| -|MatchedEventCount|Yes|Matched Events|Count|Total|Total events matched to this event subscription|EventSubscriptionName| -|PublishFailCount|Yes|Publish Failed Events|Count|Total|Total events failed to publish to this topic|ErrorType, Error| -|PublishSuccessCount|Yes|Published Events|Count|Total|Total events published to this topic|No Dimensions| -|PublishSuccessLatencyInMs|Yes|Publish Success Latency|Milliseconds|Total|Publish success latency in milliseconds|No Dimensions| -|UnmatchedEventCount|Yes|Unmatched Events|Count|Total|Total events not matching any of the event subscriptions for this topic|No Dimensions| - - -## Microsoft.EventHub/clusters - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActiveConnections|No|ActiveConnections|Count|Maximum|Total Active Connections for Microsoft.EventHub.|No Dimensions| -|AvailableMemory|No|Available Memory|Percent|Maximum|Available memory for the Event Hub Cluster as a percentage of total memory.|Role| -|CaptureBacklog|No|Capture Backlog.|Count|Total|Capture Backlog for Microsoft.EventHub.|No Dimensions| -|CapturedBytes|No|Captured Bytes.|Bytes|Total|Captured Bytes for Microsoft.EventHub.|No Dimensions| -|CapturedMessages|No|Captured Messages.|Count|Total|Captured Messages for Microsoft.EventHub.|No Dimensions| -|ConnectionsClosed|No|Connections Closed.|Count|Maximum|Connections Closed for Microsoft.EventHub.|No Dimensions| -|ConnectionsOpened|No|Connections Opened.|Count|Maximum|Connections Opened for Microsoft.EventHub.|No Dimensions| -|CPU|No|CPU|Percent|Maximum|CPU utilization for the Event Hub Cluster as a percentage|Role| -|IncomingBytes|Yes|Incoming Bytes.|Bytes|Total|Incoming Bytes for Microsoft.EventHub.|No Dimensions| -|IncomingMessages|Yes|Incoming Messages|Count|Total|Incoming Messages for Microsoft.EventHub.|No Dimensions| -|IncomingRequests|Yes|Incoming Requests|Count|Total|Incoming Requests for Microsoft.EventHub.|No Dimensions| -|OutgoingBytes|Yes|Outgoing Bytes.|Bytes|Total|Outgoing Bytes for Microsoft.EventHub.|No Dimensions| -|OutgoingMessages|Yes|Outgoing Messages|Count|Total|Outgoing Messages for Microsoft.EventHub.|No Dimensions| -|QuotaExceededErrors|No|Quota Exceeded Errors.|Count|Total|Quota Exceeded Errors for Microsoft.EventHub.|No Dimensions| -|ServerErrors|No|Server Errors.|Count|Total|Server Errors for Microsoft.EventHub.|No Dimensions| -|Size|No|Size|Bytes|Average|Size of an EventHub in Bytes.|Role| -|SuccessfulRequests|No|Successful Requests|Count|Total|Successful Requests for Microsoft.EventHub.|No Dimensions| -|ThrottledRequests|No|Throttled Requests.|Count|Total|Throttled Requests for Microsoft.EventHub.|No Dimensions| -|UserErrors|No|User Errors.|Count|Total|User Errors for Microsoft.EventHub.|No Dimensions| - - -## Microsoft.EventHub/namespaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActiveConnections|No|ActiveConnections|Count|Maximum|Total Active Connections for Microsoft.EventHub.|No Dimensions| -|CaptureBacklog|No|Capture Backlog.|Count|Total|Capture Backlog for Microsoft.EventHub.|EntityName| -|CapturedBytes|No|Captured Bytes.|Bytes|Total|Captured Bytes for Microsoft.EventHub.|EntityName| -|CapturedMessages|No|Captured Messages.|Count|Total|Captured Messages for Microsoft.EventHub.|EntityName| -|ConnectionsClosed|No|Connections Closed.|Count|Maximum|Connections Closed for Microsoft.EventHub.|EntityName| -|ConnectionsOpened|No|Connections Opened.|Count|Maximum|Connections Opened for Microsoft.EventHub.|EntityName| -|EHABL|Yes|Archive backlog messages (Deprecated)|Count|Total|Event Hub archive messages in backlog for a namespace (Deprecated)|No Dimensions| -|EHAMBS|Yes|Archive message throughput (Deprecated)|Bytes|Total|Event Hub archived message throughput in a namespace (Deprecated)|No Dimensions| -|EHAMSGS|Yes|Archive messages (Deprecated)|Count|Total|Event Hub archived messages in a namespace (Deprecated)|No Dimensions| -|EHINBYTES|Yes|Incoming bytes (Deprecated)|Bytes|Total|Event Hub incoming message throughput for a namespace (Deprecated)|No Dimensions| -|EHINMBS|Yes|Incoming bytes (obsolete) (Deprecated)|Bytes|Total|Event Hub incoming message throughput for a namespace. This metric is deprecated. Please use Incoming bytes metric instead (Deprecated)|No Dimensions| -|EHINMSGS|Yes|Incoming Messages (Deprecated)|Count|Total|Total incoming messages for a namespace (Deprecated)|No Dimensions| -|EHOUTBYTES|Yes|Outgoing bytes (Deprecated)|Bytes|Total|Event Hub outgoing message throughput for a namespace (Deprecated)|No Dimensions| -|EHOUTMBS|Yes|Outgoing bytes (obsolete) (Deprecated)|Bytes|Total|Event Hub outgoing message throughput for a namespace. This metric is deprecated. Please use Outgoing bytes metric instead (Deprecated)|No Dimensions| -|EHOUTMSGS|Yes|Outgoing Messages (Deprecated)|Count|Total|Total outgoing messages for a namespace (Deprecated)|No Dimensions| -|FAILREQ|Yes|Failed Requests (Deprecated)|Count|Total|Total failed requests for a namespace (Deprecated)|No Dimensions| -|IncomingBytes|Yes|Incoming Bytes.|Bytes|Total|Incoming Bytes for Microsoft.EventHub.|EntityName| -|IncomingMessages|Yes|Incoming Messages|Count|Total|Incoming Messages for Microsoft.EventHub.|EntityName| -|IncomingRequests|Yes|Incoming Requests|Count|Total|Incoming Requests for Microsoft.EventHub.|EntityName| -|INMSGS|Yes|Incoming Messages (obsolete) (Deprecated)|Count|Total|Total incoming messages for a namespace. This metric is deprecated. Please use Incoming Messages metric instead (Deprecated)|No Dimensions| -|INREQS|Yes|Incoming Requests (Deprecated)|Count|Total|Total incoming send requests for a namespace (Deprecated)|No Dimensions| -|INTERR|Yes|Internal Server Errors (Deprecated)|Count|Total|Total internal server errors for a namespace (Deprecated)|No Dimensions| -|MISCERR|Yes|Other Errors (Deprecated)|Count|Total|Total failed requests for a namespace (Deprecated)|No Dimensions| -|NamespaceCpuUsage|No|CPU|Percent|Maximum|CPU usage metric for Premium SKU namespaces.|No Dimensions| -|NamespaceMemoryUsage|No|Memory Usage|Percent|Maximum|Memory usage metric for Premium SKU namespaces.|No Dimensions| -|OutgoingBytes|Yes|Outgoing Bytes.|Bytes|Total|Outgoing Bytes for Microsoft.EventHub.|EntityName| -|OutgoingMessages|Yes|Outgoing Messages|Count|Total|Outgoing Messages for Microsoft.EventHub.|EntityName| -|OUTMSGS|Yes|Outgoing Messages (obsolete) (Deprecated)|Count|Total|Total outgoing messages for a namespace. This metric is deprecated. Please use Outgoing Messages metric instead (Deprecated)|No Dimensions| -|QuotaExceededErrors|No|Quota Exceeded Errors.|Count|Total|Quota Exceeded Errors for Microsoft.EventHub.|EntityName, | -|ServerErrors|No|Server Errors.|Count|Total|Server Errors for Microsoft.EventHub.|EntityName, | -|Size|No|Size|Bytes|Average|Size of an EventHub in Bytes.|EntityName| -|SuccessfulRequests|No|Successful Requests|Count|Total|Successful Requests for Microsoft.EventHub.|EntityName, | -|SUCCREQ|Yes|Successful Requests (Deprecated)|Count|Total|Total successful requests for a namespace (Deprecated)|No Dimensions| -|SVRBSY|Yes|Server Busy Errors (Deprecated)|Count|Total|Total server busy errors for a namespace (Deprecated)|No Dimensions| -|ThrottledRequests|No|Throttled Requests.|Count|Total|Throttled Requests for Microsoft.EventHub.|EntityName, | -|UserErrors|No|User Errors.|Count|Total|User Errors for Microsoft.EventHub.|EntityName, | - - -## Microsoft.HDInsight/clusters - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CategorizedGatewayRequests|Yes|Categorized Gateway Requests|Count|Total|Number of gateway requests by categories (1xx/2xx/3xx/4xx/5xx)|HttpStatus| -|GatewayRequests|Yes|Gateway Requests|Count|Total|Number of gateway requests|HttpStatus| -|KafkaRestProxy.ConsumerRequest.m1_delta|Yes|REST proxy Consumer RequestThroughput|CountPerSecond|Total|Number of consumer requests to Kafka REST proxy|Machine, Topic| -|KafkaRestProxy.ConsumerRequestFail.m1_delta|Yes|REST proxy Consumer Unsuccessful Requests|CountPerSecond|Total|Consumer request exceptions|Machine, Topic| -|KafkaRestProxy.ConsumerRequestTime.p95|Yes|REST proxy Consumer RequestLatency|Milliseconds|Average|Message latency in a consumer request through Kafka REST proxy|Machine, Topic| -|KafkaRestProxy.ConsumerRequestWaitingInQueueTime.p95|Yes|REST proxy Consumer Request Backlog|Milliseconds|Average|Consumer REST proxy queue length|Machine, Topic| -|KafkaRestProxy.MessagesIn.m1_delta|Yes|REST proxy Producer MessageThroughput|CountPerSecond|Total|Number of producer messages through Kafka REST proxy|Machine, Topic| -|KafkaRestProxy.MessagesOut.m1_delta|Yes|REST proxy Consumer MessageThroughput|CountPerSecond|Total|Number of consumer messages through Kafka REST proxy|Machine, Topic| -|KafkaRestProxy.OpenConnections|Yes|REST proxy ConcurrentConnections|Count|Total|Number of concurrent connections through Kafka REST proxy|Machine, Topic| -|KafkaRestProxy.ProducerRequest.m1_delta|Yes|REST proxy Producer RequestThroughput|CountPerSecond|Total|Number of producer requests to Kafka REST proxy|Machine, Topic| -|KafkaRestProxy.ProducerRequestFail.m1_delta|Yes|REST proxy Producer Unsuccessful Requests|CountPerSecond|Total|Producer request exceptions|Machine, Topic| -|KafkaRestProxy.ProducerRequestTime.p95|Yes|REST proxy Producer RequestLatency|Milliseconds|Average|Message latency in a producer request through Kafka REST proxy|Machine, Topic| -|KafkaRestProxy.ProducerRequestWaitingInQueueTime.p95|Yes|REST proxy Producer Request Backlog|Milliseconds|Average|Producer REST proxy queue length|Machine, Topic| -|NumActiveWorkers|Yes|Number of Active Workers|Count|Maximum|Number of Active Workers|MetricName| -|PendingCPU|Yes|Pending CPU|Count|Maximum|Pending CPU Requests in YARN|No Dimensions| -|PendingMemory|Yes|Pending Memory|Count|Maximum|Pending Memory Requests in YARN|No Dimensions| - - -## Microsoft.HealthcareApis/services - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The availability rate of the service.|No Dimensions| -|CosmosDbCollectionSize|Yes|Cosmos DB Collection Size|Bytes|Total|The size of the backing Cosmos DB collection, in bytes.|No Dimensions| -|CosmosDbIndexSize|Yes|Cosmos DB Index Size|Bytes|Total|The size of the backing Cosmos DB collection's index, in bytes.|No Dimensions| -|CosmosDbRequestCharge|Yes|Cosmos DB RU usage|Count|Total|The RU usage of requests to the service's backing Cosmos DB.|Operation, ResourceType| -|CosmosDbRequests|Yes|Service Cosmos DB requests|Count|Sum|The total number of requests made to a service's backing Cosmos DB.|Operation, ResourceType| -|CosmosDbThrottleRate|Yes|Service Cosmos DB throttle rate|Count|Sum|The total number of 429 responses from a service's backing Cosmos DB.|Operation, ResourceType| -|IoTConnectorDeviceEvent|Yes|Number of Incoming Messages|Count|Sum|The total number of messages received by the Azure IoT Connector for FHIR prior to any normalization.|Operation, ConnectorName| -|IoTConnectorDeviceEventProcessingLatencyMs|Yes|Average Normalize Stage Latency|Milliseconds|Average|The average time between an event's ingestion time and the time the event is processed for normalization.|Operation, ConnectorName| -|IoTConnectorMeasurement|Yes|Number of Measurements|Count|Sum|The number of normalized value readings received by the FHIR conversion stage of the Azure IoT Connector for FHIR.|Operation, ConnectorName| -|IoTConnectorMeasurementGroup|Yes|Number of Message Groups|Count|Sum|The total number of unique groupings of measurements across type, device, patient, and configured time period generated by the FHIR conversion stage.|Operation, ConnectorName| -|IoTConnectorMeasurementIngestionLatencyMs|Yes|Average Group Stage Latency|Milliseconds|Average|The time period between when the IoT Connector received the device data and when the data is processed by the FHIR conversion stage.|Operation, ConnectorName| -|IoTConnectorNormalizedEvent|Yes|Number of Normalized Messages|Count|Sum|The total number of mapped normalized values outputted from the normalization stage of the the Azure IoT Connector for FHIR.|Operation, ConnectorName| -|IoTConnectorTotalErrors|Yes|Total Error Count|Count|Sum|The total number of errors logged by the Azure IoT Connector for FHIR|Name, Operation, ErrorType, ErrorSeverity, ConnectorName| -|TotalErrors|Yes|Total Errors|Count|Sum|The total number of internal server errors encountered by the service.|Protocol, StatusCode, StatusCodeClass, StatusCodeText| -|TotalLatency|Yes|Total Latency|Milliseconds|Average|The response latency of the service.|Protocol| -|TotalRequests|Yes|Total Requests|Count|Sum|The total number of requests received by the service.|Protocol| - - -## Microsoft.HealthcareApis/workspaces/fhirservices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The availability rate of the service.|No Dimensions| -|TotalDataSize|Yes|Total Data Size|Bytes|Total|Total size of the data in the backing database, in bytes.|No Dimensions| -|TotalErrors|Yes|Total Errors|Count|Sum|The total number of internal server errors encountered by the service.|Protocol, StatusCode, StatusCodeClass, StatusCodeText| -|TotalLatency|Yes|Total Latency|Milliseconds|Average|The response latency of the service.|Protocol| -|TotalRequests|Yes|Total Requests|Count|Sum|The total number of requests received by the service.|Protocol| - - -## Microsoft.HealthcareApis/workspaces/iotconnectors - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|DeviceEvent|Yes|Number of Incoming Messages|Count|Sum|The total number of messages received by the Azure IoT Connector for FHIR prior to any normalization.|Operation, ResourceName| -|DeviceEventProcessingLatencyMs|Yes|Average Normalize Stage Latency|Milliseconds|Average|The average time between an event's ingestion time and the time the event is processed for normalization.|Operation, ResourceName| -|FhirResourceSaved|Yes|Number of Fhir resources saved|Count|Sum|The total number of FHIR resources saved by the Azure IoT Connector|Operation, ResourceName, Name| -|IotConnectorStatus|Yes|IotConnector Health Status|Percent|Average|Health checks which indicate the overall health of the IoT Connector.|Operation, ResourceName, HealthCheckName| -|Measurement|Yes|Number of Measurements|Count|Sum|The number of normalized value readings received by the FHIR conversion stage of the Azure IoT Connector for FHIR.|Operation, ResourceName| -|MeasurementGroup|Yes|Number of Message Groups|Count|Sum|The total number of unique groupings of measurements across type, device, patient, and configured time period generated by the FHIR conversion stage.|Operation, ResourceName| -|MeasurementIngestionLatencyMs|Yes|Average Group Stage Latency|Milliseconds|Average|The time period between when the IoT Connector received the device data and when the data is processed by the FHIR conversion stage.|Operation, ResourceName| -|NormalizedEvent|Yes|Number of Normalized Messages|Count|Sum|The total number of mapped normalized values outputted from the normalization stage of the the Azure IoT Connector for FHIR.|Operation, ResourceName| -|TotalErrors|Yes|Total Error Count|Count|Sum|The total number of errors logged by the Azure IoT Connector for FHIR|Name, Operation, ErrorType, ErrorSeverity, ResourceName| - - -## microsoft.hybridnetwork/networkfunctions - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|HyperVVirtualProcessorUtilization|Yes|Average CPU Utilization|Percent|Average|Total average percentage of virtual CPU utilization at one minute interval. The total number of virtual CPU is based on user configured value in SKU definition. Further filter can be applied based on RoleName defined in SKU.|InstanceName| - - -## microsoft.hybridnetwork/virtualnetworkfunctions - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|HyperVVirtualProcessorUtilization|Yes|Average CPU Utilization|Percent|Average|Total average percentage of virtual CPU utilization at one minute interval. The total number of virtual CPU is based on user configured value in SKU definition. Further filter can be applied based on RoleName defined in SKU.|InstanceName| - - -## Microsoft.Insights/AutoscaleSettings - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|MetricThreshold|Yes|Metric Threshold|Count|Average|The configured autoscale threshold when autoscale ran.|MetricTriggerRule| -|ObservedCapacity|Yes|Observed Capacity|Count|Average|The capacity reported to autoscale when it executed.|No Dimensions| -|ObservedMetricValue|Yes|Observed Metric Value|Count|Average|The value computed by autoscale when executed|MetricTriggerSource| -|ScaleActionsInitiated|Yes|Scale Actions Initiated|Count|Total|The direction of the scale operation.|ScaleDirection| - - -## Microsoft.Insights/Components - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|availabilityResults/availabilityPercentage|Yes|Availability|Percent|Average|Percentage of successfully completed availability tests|availabilityResult/name, availabilityResult/location| -|availabilityResults/count|No|Availability tests|Count|Count|Count of availability tests|availabilityResult/name, availabilityResult/location, availabilityResult/success| -|availabilityResults/duration|Yes|Availability test duration|MilliSeconds|Average|Availability test duration|availabilityResult/name, availabilityResult/location, availabilityResult/success| -|browserTimings/networkDuration|Yes|Page load network connect time|MilliSeconds|Average|Time between user request and network connection. Includes DNS lookup and transport connection.|No Dimensions| -|browserTimings/processingDuration|Yes|Client processing time|MilliSeconds|Average|Time between receiving the last byte of a document until the DOM is loaded. Async requests may still be processing.|No Dimensions| -|browserTimings/receiveDuration|Yes|Receiving response time|MilliSeconds|Average|Time between the first and last bytes, or until disconnection.|No Dimensions| -|browserTimings/sendDuration|Yes|Send request time|MilliSeconds|Average|Time between network connection and receiving the first byte.|No Dimensions| -|browserTimings/totalDuration|Yes|Browser page load time|MilliSeconds|Average|Time from user request until DOM, stylesheets, scripts and images are loaded.|No Dimensions| -|dependencies/count|No|Dependency calls|Count|Count|Count of calls made by the application to external resources.|dependency/type, dependency/performanceBucket, dependency/success, dependency/target, dependency/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| -|dependencies/duration|Yes|Dependency duration|MilliSeconds|Average|Duration of calls made by the application to external resources.|dependency/type, dependency/performanceBucket, dependency/success, dependency/target, dependency/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| -|dependencies/failed|No|Dependency call failures|Count|Count|Count of failed dependency calls made by the application to external resources.|dependency/type, dependency/performanceBucket, dependency/target, dependency/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| -|exceptions/browser|No|Browser exceptions|Count|Count|Count of uncaught exceptions thrown in the browser.|cloud/roleName| -|exceptions/count|Yes|Exceptions|Count|Count|Combined count of all uncaught exceptions.|cloud/roleName, cloud/roleInstance, client/type| -|exceptions/server|No|Server exceptions|Count|Count|Count of uncaught exceptions thrown in the server application.|cloud/roleName, cloud/roleInstance| -|pageViews/count|Yes|Page views|Count|Count|Count of page views.|operation/synthetic, cloud/roleName| -|pageViews/duration|Yes|Page view load time|MilliSeconds|Average|Page view load time|operation/synthetic, cloud/roleName| -|performanceCounters/exceptionsPerSecond|Yes|Exception rate|CountPerSecond|Average|Count of handled and unhandled exceptions reported to windows, including .NET exceptions and unmanaged exceptions that are converted into .NET exceptions.|cloud/roleInstance| -|performanceCounters/memoryAvailableBytes|Yes|Available memory|Bytes|Average|Physical memory immediately available for allocation to a process or for system use.|cloud/roleInstance| -|performanceCounters/processCpuPercentage|Yes|Process CPU|Percent|Average|The percentage of elapsed time that all process threads used the processor to execute instructions. This can vary between 0 to 100. This metric indicates the performance of w3wp process alone.|cloud/roleInstance| -|performanceCounters/processIOBytesPerSecond|Yes|Process IO rate|BytesPerSecond|Average|Total bytes per second read and written to files, network and devices.|cloud/roleInstance| -|performanceCounters/processorCpuPercentage|Yes|Processor time|Percent|Average|The percentage of time that the processor spends in non-idle threads.|cloud/roleInstance| -|performanceCounters/processPrivateBytes|Yes|Process private bytes|Bytes|Average|Memory exclusively assigned to the monitored application's processes.|cloud/roleInstance| -|performanceCounters/requestExecutionTime|Yes|HTTP request execution time|MilliSeconds|Average|Execution time of the most recent request.|cloud/roleInstance| -|performanceCounters/requestsInQueue|Yes|HTTP requests in application queue|Count|Average|Length of the application request queue.|cloud/roleInstance| -|performanceCounters/requestsPerSecond|Yes|HTTP request rate|CountPerSecond|Average|Rate of all requests to the application per second from ASP.NET.|cloud/roleInstance| -|requests/count|No|Server requests|Count|Count|Count of HTTP requests completed.|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, request/success, cloud/roleName| -|requests/duration|Yes|Server response time|MilliSeconds|Average|Time between receiving an HTTP request and finishing sending the response.|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, request/success, cloud/roleName| -|requests/failed|No|Failed requests|Count|Count|Count of HTTP requests marked as failed. In most cases these are requests with a response code >= 400 and not equal to 401.|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, cloud/roleName| -|requests/rate|No|Server request rate|CountPerSecond|Average|Rate of server requests per second|request/performanceBucket, request/resultCode, operation/synthetic, cloud/roleInstance, request/success, cloud/roleName| -|traces/count|Yes|Traces|Count|Count|Trace document count|trace/severityLevel, operation/synthetic, cloud/roleName, cloud/roleInstance| - - -## Microsoft.IoTCentral/IoTApps - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|c2d.commands.failure|Yes|Failed command invocations|Count|Total|The count of all failed command requests initiated from IoT Central|No Dimensions| -|c2d.commands.requestSize|Yes|Request size of command invocations|Bytes|Total|Request size of all command requests initiated from IoT Central|No Dimensions| -|c2d.commands.responseSize|Yes|Response size of command invocations|Bytes|Total|Response size of all command responses initiated from IoT Central|No Dimensions| -|c2d.commands.success|Yes|Successful command invocations|Count|Total|The count of all successful command requests initiated from IoT Central|No Dimensions| -|c2d.property.read.failure|Yes|Failed Device Property Reads from IoT Central|Count|Total|The count of all failed property reads initiated from IoT Central|No Dimensions| -|c2d.property.read.success|Yes|Successful Device Property Reads from IoT Central|Count|Total|The count of all successful property reads initiated from IoT Central|No Dimensions| -|c2d.property.update.failure|Yes|Failed Device Property Updates from IoT Central|Count|Total|The count of all failed property updates initiated from IoT Central|No Dimensions| -|c2d.property.update.success|Yes|Successful Device Property Updates from IoT Central|Count|Total|The count of all successful property updates initiated from IoT Central|No Dimensions| -|connectedDeviceCount|No|Total Connected Devices|Count|Average|Number of devices connected to IoT Central|No Dimensions| -|d2c.property.read.failure|Yes|Failed Device Property Reads from Devices|Count|Total|The count of all failed property reads initiated from devices|No Dimensions| -|d2c.property.read.success|Yes|Successful Device Property Reads from Devices|Count|Total|The count of all successful property reads initiated from devices|No Dimensions| -|d2c.property.update.failure|Yes|Failed Device Property Updates from Devices|Count|Total|The count of all failed property updates initiated from devices|No Dimensions| -|d2c.property.update.success|Yes|Successful Device Property Updates from Devices|Count|Total|The count of all successful property updates initiated from devices|No Dimensions| -|d2c.telemetry.ingress.allProtocol|Yes|Total Telemetry Message Send Attempts|Count|Total|Number of device-to-cloud telemetry messages attempted to be sent to the IoT Central application|No Dimensions| -|d2c.telemetry.ingress.success|Yes|Total Telemetry Messages Sent|Count|Total|Number of device-to-cloud telemetry messages successfully sent to the IoT Central application|No Dimensions| -|dataExport.error|Yes|Data Export Errors|Count|Total|Number of errors encountered for data export|exportId, exportDisplayName, destinationId, destinationDisplayName| -|dataExport.messages.filtered|Yes|Data Export Messages Filtered|Count|Total|Number of messages that have passed through filters in data export|exportId, exportDisplayName, destinationId, destinationDisplayName| -|dataExport.messages.received|Yes|Data Export Messages Received|Count|Total|Number of messages incoming to data export, before filtering and enrichment processing|exportId, exportDisplayName, destinationId, destinationDisplayName| -|dataExport.messages.written|Yes|Data Export Messages Written|Count|Total|Number of messages written to a destination|exportId, exportDisplayName, destinationId, destinationDisplayName| -|dataExport.statusChange|Yes|Data Export Status Change|Count|Total|Number of status changes|exportId, exportDisplayName, destinationId, destinationDisplayName, status| -|deviceDataUsage|Yes|Total Device Data Usage|Bytes|Total|Bytes transferred to and from any devices connected to IoT Central application|No Dimensions| -|provisionedDeviceCount|No|Total Provisioned Devices|Count|Average|Number of devices provisioned in IoT Central application|No Dimensions| - - -## Microsoft.KeyVault/managedHSMs - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|No|Overall Vault Availability|Percent|Average|Vault requests availability|ActivityType, ActivityName, StatusCode, StatusCodeClass| -|ServiceApiHit|Yes|Total Service Api Hits|Count|Count|Number of total service api hits|ActivityType, ActivityName| -|ServiceApiLatency|No|Overall Service Api Latency|Milliseconds|Average|Overall latency of service api requests|ActivityType, ActivityName, StatusCode, StatusCodeClass| -|ServiceApiResult|Yes|Total Service Api Results|Count|Count|Gets the available metrics for a Managed HSM pool|ActivityType, ActivityName, StatusCode, StatusCodeClass| - - -## Microsoft.KeyVault/vaults - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Overall Vault Availability|Percent|Average|Vault requests availability|ActivityType, ActivityName, StatusCode, StatusCodeClass| -|SaturationShoebox|No|Overall Vault Saturation|Percent|Average|Vault capacity used|ActivityType, ActivityName, TransactionType| -|ServiceApiHit|Yes|Total Service Api Hits|Count|Count|Number of total service api hits|ActivityType, ActivityName| -|ServiceApiLatency|Yes|Overall Service Api Latency|Milliseconds|Average|Overall latency of service api requests|ActivityType, ActivityName, StatusCode, StatusCodeClass| -|ServiceApiResult|Yes|Total Service Api Results|Count|Count|Number of total service api results|ActivityType, ActivityName, StatusCode, StatusCodeClass| - - -## microsoft.kubernetes/connectedClusters - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|capacity_cpu_cores|Yes|Total number of cpu cores in a connected cluster|Count|Total|Total number of cpu cores in a connected cluster|No Dimensions| - - -## Microsoft.Kusto/Clusters - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BatchBlobCount|Yes|Batch Blob Count|Count|Average|Number of data sources in an aggregated batch for ingestion.|Database| -|BatchDuration|Yes|Batch Duration|Seconds|Average|The duration of the aggregation phase in the ingestion flow.|Database| -|BatchesProcessed|Yes|Batches Processed|Count|Total|Number of batches aggregated for ingestion. Batching Type: whether the batch reached batching time, data size or number of files limit set by batching policy|Database, SealReason| -|BatchSize|Yes|Batch Size|Bytes|Average|Uncompressed expected data size in an aggregated batch for ingestion.|Database| -|BlobsDropped|Yes|Blobs Dropped|Count|Total|Number of blobs permanently rejected by a component.|Database, ComponentType, ComponentName| -|BlobsProcessed|Yes|Blobs Processed|Count|Total|Number of blobs processed by a component.|Database, ComponentType, ComponentName| -|BlobsReceived|Yes|Blobs Received|Count|Total|Number of blobs received from input stream by a component.|Database, ComponentType, ComponentName| -|CacheUtilization|Yes|Cache utilization|Percent|Average|Utilization level in the cluster scope|No Dimensions| -|CacheUtilizationFactor|Yes|Cache utilization factor|Percent|Average|Percentage difference between the current number of instances and the optimal number of instances (per cache utilization)|No Dimensions| -|ContinuousExportMaxLatenessMinutes|Yes|Continuous Export Max Lateness|Count|Maximum|The lateness (in minutes) reported by the continuous export jobs in the cluster|No Dimensions| -|ContinuousExportNumOfRecordsExported|Yes|Continuous export - num of exported records|Count|Total|Number of records exported, fired for every storage artifact written during the export operation|ContinuousExportName, Database| -|ContinuousExportPendingCount|Yes|Continuous Export Pending Count|Count|Maximum|The number of pending continuous export jobs ready for execution|No Dimensions| -|ContinuousExportResult|Yes|Continuous Export Result|Count|Count|Indicates whether Continuous Export succeeded or failed|ContinuousExportName, Result, Database| -|CPU|Yes|CPU|Percent|Average|CPU utilization level|No Dimensions| -|DiscoveryLatency|Yes|Discovery Latency|Seconds|Average|Reported by data connections (if exist). Time in seconds from when a message is enqueued or event is created until it is discovered by data connection. This time is not included in the Azure Data Explorer total ingestion duration.|ComponentType, ComponentName| -|EventsDropped|Yes|Events Dropped|Count|Total|Number of events dropped permanently by data connection. An Ingestion result metric with a failure reason will be sent.|ComponentType, ComponentName| -|EventsProcessed|Yes|Events Processed|Count|Total|Number of events processed by the cluster|ComponentType, ComponentName| -|EventsProcessedForEventHubs|Yes|Events Processed (for Event/IoT Hubs)|Count|Total|Number of events processed by the cluster when ingesting from Event/IoT Hub|EventStatus| -|EventsReceived|Yes|Events Received|Count|Total|Number of events received by data connection.|ComponentType, ComponentName| -|ExportUtilization|Yes|Export Utilization|Percent|Maximum|Export utilization|No Dimensions| -|IngestionLatencyInSeconds|Yes|Ingestion Latency|Seconds|Average|Latency of data ingested, from the time the data was received in the cluster until it's ready for query. The ingestion latency period depends on the ingestion scenario.|No Dimensions| -|IngestionResult|Yes|Ingestion result|Count|Total|Total number of sources that either failed or succeeded to be ingested. Splitting the metric by status, you can get detailed information about the status of the ingestion operations.|IngestionResultDetails, FailureKind| -|IngestionUtilization|Yes|Ingestion utilization|Percent|Average|Ratio of used ingestion slots in the cluster|No Dimensions| -|IngestionVolumeInMB|Yes|Ingestion Volume|Bytes|Total|Overall volume of ingested data to the cluster|Database| -|InstanceCount|Yes|Instance Count|Count|Average|Total instance count|No Dimensions| -|KeepAlive|Yes|Keep alive|Count|Average|Sanity check indicates the cluster responds to queries|No Dimensions| -|MaterializedViewAgeMinutes|Yes|Materialized View Age|Count|Average|The materialized view age in minutes|Database, MaterializedViewName| -|MaterializedViewAgeSeconds|Yes|Materialized View Age|Seconds|Average|The materialized view age in seconds|Database, MaterializedViewName| -|MaterializedViewDataLoss|Yes|Materialized View Data Loss|Count|Maximum|Indicates potential data loss in materialized view|Database, MaterializedViewName, Kind| -|MaterializedViewExtentsRebuild|Yes|Materialized View Extents Rebuild|Count|Average|Number of extents rebuild|Database, MaterializedViewName| -|MaterializedViewHealth|Yes|Materialized View Health|Count|Average|The health of the materialized view (1 for healthy, 0 for non-healthy)|Database, MaterializedViewName| -|MaterializedViewRecordsInDelta|Yes|Materialized View Records In Delta|Count|Average|The number of records in the non-materialized part of the view|Database, MaterializedViewName| -|MaterializedViewResult|Yes|Materialized View Result|Count|Average|The result of the materialization process|Database, MaterializedViewName, Result| -|QueryDuration|Yes|Query duration|Milliseconds|Average|Queries' duration in seconds|QueryStatus| -|QueryResult|No|Query Result|Count|Count|Total number of queries.|QueryStatus| -|QueueLength|Yes|Queue Length|Count|Average|Number of pending messages in a component's queue.|ComponentType| -|QueueOldestMessage|Yes|Queue Oldest Message|Count|Average|Time in seconds from when the oldest message in queue was inserted.|ComponentType| -|ReceivedDataSizeBytes|Yes|Received Data Size Bytes|Bytes|Average|Size of data received by data connection. This is the size of the data stream, or of raw data size if provided.|ComponentType, ComponentName| -|StageLatency|Yes|Stage Latency|Seconds|Average|Cumulative time from when a message is discovered until it is received by the reporting component for processing (discovery time is set when message is enqueued for ingestion queue, or when discovered by data connection).|Database, ComponentType| -|SteamingIngestRequestRate|Yes|Streaming Ingest Request Rate|Count|RateRequestsPerSecond|Streaming ingest request rate (requests per second)|No Dimensions| -|StreamingIngestDataRate|Yes|Streaming Ingest Data Rate|Count|Average|Streaming ingest data rate (MB per second)|No Dimensions| -|StreamingIngestDuration|Yes|Streaming Ingest Duration|Milliseconds|Average|Streaming ingest duration in milliseconds|No Dimensions| -|StreamingIngestResults|Yes|Streaming Ingest Result|Count|Count|Streaming ingest result|Result| -|TotalNumberOfConcurrentQueries|Yes|Total number of concurrent queries|Count|Maximum|Total number of concurrent queries|No Dimensions| -|TotalNumberOfExtents|Yes|Total number of extents|Count|Average|Total number of data extents|No Dimensions| -|TotalNumberOfThrottledCommands|Yes|Total number of throttled commands|Count|Total|Total number of throttled commands|CommandType| -|TotalNumberOfThrottledQueries|Yes|Total number of throttled queries|Count|Maximum|Total number of throttled queries|No Dimensions| -|WeakConsistencyLatency|Yes|Weak consistency latency|Seconds|Average|The max latency between the previous metadata sync and the next one (in DB/node scope)|Database, RoleInstance| - - -## Microsoft.Logic/integrationServiceEnvironments - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActionLatency|Yes|Action Latency |Seconds|Average|Latency of completed workflow actions.|No Dimensions| -|ActionsCompleted|Yes|Actions Completed |Count|Total|Number of workflow actions completed.|No Dimensions| -|ActionsFailed|Yes|Actions Failed |Count|Total|Number of workflow actions failed.|No Dimensions| -|ActionsSkipped|Yes|Actions Skipped |Count|Total|Number of workflow actions skipped.|No Dimensions| -|ActionsStarted|Yes|Actions Started |Count|Total|Number of workflow actions started.|No Dimensions| -|ActionsSucceeded|Yes|Actions Succeeded |Count|Total|Number of workflow actions succeeded.|No Dimensions| -|ActionSuccessLatency|Yes|Action Success Latency |Seconds|Average|Latency of succeeded workflow actions.|No Dimensions| -|ActionThrottledEvents|Yes|Action Throttled Events|Count|Total|Number of workflow action throttled events..|No Dimensions| -|IntegrationServiceEnvironmentConnectorMemoryUsage|Yes|Connector Memory Usage for Integration Service Environment|Percent|Average|Connector memory usage for integration service environment.|No Dimensions| -|IntegrationServiceEnvironmentConnectorProcessorUsage|Yes|Connector Processor Usage for Integration Service Environment|Percent|Average|Connector processor usage for integration service environment.|No Dimensions| -|IntegrationServiceEnvironmentWorkflowMemoryUsage|Yes|Workflow Memory Usage for Integration Service Environment|Percent|Average|Workflow memory usage for integration service environment.|No Dimensions| -|IntegrationServiceEnvironmentWorkflowProcessorUsage|Yes|Workflow Processor Usage for Integration Service Environment|Percent|Average|Workflow processor usage for integration service environment.|No Dimensions| -|RunFailurePercentage|Yes|Run Failure Percentage|Percent|Total|Percentage of workflow runs failed.|No Dimensions| -|RunLatency|Yes|Run Latency|Seconds|Average|Latency of completed workflow runs.|No Dimensions| -|RunsCancelled|Yes|Runs Cancelled|Count|Total|Number of workflow runs cancelled.|No Dimensions| -|RunsCompleted|Yes|Runs Completed|Count|Total|Number of workflow runs completed.|No Dimensions| -|RunsFailed|Yes|Runs Failed|Count|Total|Number of workflow runs failed.|No Dimensions| -|RunsStarted|Yes|Runs Started|Count|Total|Number of workflow runs started.|No Dimensions| -|RunsSucceeded|Yes|Runs Succeeded|Count|Total|Number of workflow runs succeeded.|No Dimensions| -|RunStartThrottledEvents|Yes|Run Start Throttled Events|Count|Total|Number of workflow run start throttled events.|No Dimensions| -|RunSuccessLatency|Yes|Run Success Latency|Seconds|Average|Latency of succeeded workflow runs.|No Dimensions| -|RunThrottledEvents|Yes|Run Throttled Events|Count|Total|Number of workflow action or trigger throttled events.|No Dimensions| -|TriggerFireLatency|Yes|Trigger Fire Latency |Seconds|Average|Latency of fired workflow triggers.|No Dimensions| -|TriggerLatency|Yes|Trigger Latency |Seconds|Average|Latency of completed workflow triggers.|No Dimensions| -|TriggersCompleted|Yes|Triggers Completed |Count|Total|Number of workflow triggers completed.|No Dimensions| -|TriggersFailed|Yes|Triggers Failed |Count|Total|Number of workflow triggers failed.|No Dimensions| -|TriggersFired|Yes|Triggers Fired |Count|Total|Number of workflow triggers fired.|No Dimensions| -|TriggersSkipped|Yes|Triggers Skipped|Count|Total|Number of workflow triggers skipped.|No Dimensions| -|TriggersStarted|Yes|Triggers Started |Count|Total|Number of workflow triggers started.|No Dimensions| -|TriggersSucceeded|Yes|Triggers Succeeded |Count|Total|Number of workflow triggers succeeded.|No Dimensions| -|TriggerSuccessLatency|Yes|Trigger Success Latency |Seconds|Average|Latency of succeeded workflow triggers.|No Dimensions| -|TriggerThrottledEvents|Yes|Trigger Throttled Events|Count|Total|Number of workflow trigger throttled events.|No Dimensions| - - -## Microsoft.Logic/workflows - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActionLatency|Yes|Action Latency |Seconds|Average|Latency of completed workflow actions.|No Dimensions| -|ActionsCompleted|Yes|Actions Completed |Count|Total|Number of workflow actions completed.|No Dimensions| -|ActionsFailed|Yes|Actions Failed |Count|Total|Number of workflow actions failed.|No Dimensions| -|ActionsSkipped|Yes|Actions Skipped |Count|Total|Number of workflow actions skipped.|No Dimensions| -|ActionsStarted|Yes|Actions Started |Count|Total|Number of workflow actions started.|No Dimensions| -|ActionsSucceeded|Yes|Actions Succeeded |Count|Total|Number of workflow actions succeeded.|No Dimensions| -|ActionSuccessLatency|Yes|Action Success Latency |Seconds|Average|Latency of succeeded workflow actions.|No Dimensions| -|ActionThrottledEvents|Yes|Action Throttled Events|Count|Total|Number of workflow action throttled events..|No Dimensions| -|BillableActionExecutions|Yes|Billable Action Executions|Count|Total|Number of workflow action executions getting billed.|No Dimensions| -|BillableTriggerExecutions|Yes|Billable Trigger Executions|Count|Total|Number of workflow trigger executions getting billed.|No Dimensions| -|BillingUsageNativeOperation|Yes|Billing Usage for Native Operation Executions|Count|Total|Number of native operation executions getting billed.|No Dimensions| -|BillingUsageStandardConnector|Yes|Billing Usage for Standard Connector Executions|Count|Total|Number of standard connector executions getting billed.|No Dimensions| -|BillingUsageStorageConsumption|Yes|Billing Usage for Storage Consumption Executions|Count|Total|Number of storage consumption executions getting billed.|No Dimensions| -|RunFailurePercentage|Yes|Run Failure Percentage|Percent|Total|Percentage of workflow runs failed.|No Dimensions| -|RunLatency|Yes|Run Latency|Seconds|Average|Latency of completed workflow runs.|No Dimensions| -|RunsCancelled|Yes|Runs Cancelled|Count|Total|Number of workflow runs cancelled.|No Dimensions| -|RunsCompleted|Yes|Runs Completed|Count|Total|Number of workflow runs completed.|No Dimensions| -|RunsFailed|Yes|Runs Failed|Count|Total|Number of workflow runs failed.|No Dimensions| -|RunsStarted|Yes|Runs Started|Count|Total|Number of workflow runs started.|No Dimensions| -|RunsSucceeded|Yes|Runs Succeeded|Count|Total|Number of workflow runs succeeded.|No Dimensions| -|RunStartThrottledEvents|Yes|Run Start Throttled Events|Count|Total|Number of workflow run start throttled events.|No Dimensions| -|RunSuccessLatency|Yes|Run Success Latency|Seconds|Average|Latency of succeeded workflow runs.|No Dimensions| -|RunThrottledEvents|Yes|Run Throttled Events|Count|Total|Number of workflow action or trigger throttled events.|No Dimensions| -|TotalBillableExecutions|Yes|Total Billable Executions|Count|Total|Number of workflow executions getting billed.|No Dimensions| -|TriggerFireLatency|Yes|Trigger Fire Latency |Seconds|Average|Latency of fired workflow triggers.|No Dimensions| -|TriggerLatency|Yes|Trigger Latency |Seconds|Average|Latency of completed workflow triggers.|No Dimensions| -|TriggersCompleted|Yes|Triggers Completed |Count|Total|Number of workflow triggers completed.|No Dimensions| -|TriggersFailed|Yes|Triggers Failed |Count|Total|Number of workflow triggers failed.|No Dimensions| -|TriggersFired|Yes|Triggers Fired |Count|Total|Number of workflow triggers fired.|No Dimensions| -|TriggersSkipped|Yes|Triggers Skipped|Count|Total|Number of workflow triggers skipped.|No Dimensions| -|TriggersStarted|Yes|Triggers Started |Count|Total|Number of workflow triggers started.|No Dimensions| -|TriggersSucceeded|Yes|Triggers Succeeded |Count|Total|Number of workflow triggers succeeded.|No Dimensions| -|TriggerSuccessLatency|Yes|Trigger Success Latency |Seconds|Average|Latency of succeeded workflow triggers.|No Dimensions| -|TriggerThrottledEvents|Yes|Trigger Throttled Events|Count|Total|Number of workflow trigger throttled events.|No Dimensions| - - -## Microsoft.MachineLearningServices/workspaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Active Cores|Yes|Active Cores|Count|Average|Number of active cores|Scenario, ClusterName| -|Active Nodes|Yes|Active Nodes|Count|Average|Number of Acitve nodes. These are the nodes which are actively running a job.|Scenario, ClusterName| -|Cancel Requested Runs|Yes|Cancel Requested Runs|Count|Total|Number of runs where cancel was requested for this workspace. Count is updated when cancellation request has been received for a run.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Cancelled Runs|Yes|Cancelled Runs|Count|Total|Number of runs cancelled for this workspace. Count is updated when a run is successfully cancelled.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Completed Runs|Yes|Completed Runs|Count|Total|Number of runs completed successfully for this workspace. Count is updated when a run has completed and output has been collected.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|CpuCapacityMillicores|Yes|CpuCapacityMillicores|Count|Average|Maximum capacity of a CPU node in millicores. Capacity is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|CpuMemoryCapacityMegabytes|Yes|CpuMemoryCapacityMegabytes|Count|Average|Maximum memory utilization of a CPU node in megabytes. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|CpuMemoryUtilizationMegabytes|Yes|CpuMemoryUtilizationMegabytes|Count|Average|Memory utilization of a CPU node in megabytes. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|CpuMemoryUtilizationPercentage|Yes|CpuMemoryUtilizationPercentage|Count|Average|Memory utilization percentage of a CPU node. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|CpuUtilization|Yes|CpuUtilization|Count|Average|Percentage of utilization on a CPU node. Utilization is reported at one minute intervals.|Scenario, runId, NodeId, ClusterName| -|CpuUtilizationMillicores|Yes|CpuUtilizationMillicores|Count|Average|Utilization of a CPU node in millicores. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|CpuUtilizationPercentage|Yes|CpuUtilizationPercentage|Count|Average|Utilization percentage of a CPU node. Utilization is aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|DiskAvailMegabytes|Yes|DiskAvailMegabytes|Count|Average|Available disk space in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|DiskReadMegabytes|Yes|DiskReadMegabytes|Count|Average|Data read from disk in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|DiskUsedMegabytes|Yes|DiskUsedMegabytes|Count|Average|Used disk space in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|DiskWriteMegabytes|Yes|DiskWriteMegabytes|Count|Average|Data written into disk in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|Errors|Yes|Errors|Count|Total|Number of run errors in this workspace. Count is updated whenever run encounters an error.|Scenario| -|Failed Runs|Yes|Failed Runs|Count|Total|Number of runs failed for this workspace. Count is updated when a run fails.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Finalizing Runs|Yes|Finalizing Runs|Count|Total|Number of runs entered finalizing state for this workspace. Count is updated when a run has completed but output collection still in progress.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|GpuCapacityMilliGPUs|Yes|GpuCapacityMilliGPUs|Count|Average|Maximum capacity of a GPU device in milli-GPUs. Capacity is aggregated in one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| -|GpuEnergyJoules|Yes|GpuEnergyJoules|Count|Total|Interval energy in Joules on a GPU node. Energy is reported at one minute intervals.|Scenario, runId, rootRunId, InstanceId, DeviceId, ComputeName| -|GpuMemoryCapacityMegabytes|Yes|GpuMemoryCapacityMegabytes|Count|Average|Maximum memory capacity of a GPU device in megabytes. Capacity aggregated in at one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| -|GpuMemoryUtilization|Yes|GpuMemoryUtilization|Count|Average|Percentage of memory utilization on a GPU node. Utilization is reported at one minute intervals.|Scenario, runId, NodeId, DeviceId, ClusterName| -|GpuMemoryUtilizationMegabytes|Yes|GpuMemoryUtilizationMegabytes|Count|Average|Memory utilization of a GPU device in megabytes. Utilization aggregated in at one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| -|GpuMemoryUtilizationPercentage|Yes|GpuMemoryUtilizationPercentage|Count|Average|Memory utilization percentage of a GPU device. Utilization aggregated in at one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| -|GpuUtilization|Yes|GpuUtilization|Count|Average|Percentage of utilization on a GPU node. Utilization is reported at one minute intervals.|Scenario, runId, NodeId, DeviceId, ClusterName| -|GpuUtilizationMilliGPUs|Yes|GpuUtilizationMilliGPUs|Count|Average|Utilization of a GPU device in milli-GPUs. Utilization is aggregated in one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| -|GpuUtilizationPercentage|Yes|GpuUtilizationPercentage|Count|Average|Utilization percentage of a GPU device. Utilization is aggregated in one minute intervals.|RunId, InstanceId, DeviceId, ComputeName| -|IBReceiveMegabytes|Yes|IBReceiveMegabytes|Count|Average|Network data received over InfiniBand in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|IBTransmitMegabytes|Yes|IBTransmitMegabytes|Count|Average|Network data sent over InfiniBand in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|Idle Cores|Yes|Idle Cores|Count|Average|Number of idle cores|Scenario, ClusterName| -|Idle Nodes|Yes|Idle Nodes|Count|Average|Number of idle nodes. Idle nodes are the nodes which are not running any jobs but can accept new job if available.|Scenario, ClusterName| -|Leaving Cores|Yes|Leaving Cores|Count|Average|Number of leaving cores|Scenario, ClusterName| -|Leaving Nodes|Yes|Leaving Nodes|Count|Average|Number of leaving nodes. Leaving nodes are the nodes which just finished processing a job and will go to Idle state.|Scenario, ClusterName| -|Model Deploy Failed|Yes|Model Deploy Failed|Count|Total|Number of model deployments that failed in this workspace|Scenario, StatusCode| -|Model Deploy Started|Yes|Model Deploy Started|Count|Total|Number of model deployments started in this workspace|Scenario| -|Model Deploy Succeeded|Yes|Model Deploy Succeeded|Count|Total|Number of model deployments that succeeded in this workspace|Scenario| -|Model Register Failed|Yes|Model Register Failed|Count|Total|Number of model registrations that failed in this workspace|Scenario, StatusCode| -|Model Register Succeeded|Yes|Model Register Succeeded|Count|Total|Number of model registrations that succeeded in this workspace|Scenario| -|NetworkInputMegabytes|Yes|NetworkInputMegabytes|Count|Average|Network data received in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|NetworkOutputMegabytes|Yes|NetworkOutputMegabytes|Count|Average|Network data sent in megabytes. Metrics are aggregated in one minute intervals.|RunId, InstanceId, ComputeName| -|Not Responding Runs|Yes|Not Responding Runs|Count|Total|Number of runs not responding for this workspace. Count is updated when a run enters Not Responding state.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Not Started Runs|Yes|Not Started Runs|Count|Total|Number of runs in Not Started state for this workspace. Count is updated when a request is received to create a run but run information has not yet been populated. |Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Preempted Cores|Yes|Preempted Cores|Count|Average|Number of preempted cores|Scenario, ClusterName| -|Preempted Nodes|Yes|Preempted Nodes|Count|Average|Number of preempted nodes. These nodes are the low priority nodes which are taken away from the available node pool.|Scenario, ClusterName| -|Preparing Runs|Yes|Preparing Runs|Count|Total|Number of runs that are preparing for this workspace. Count is updated when a run enters Preparing state while the run environment is being prepared.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Provisioning Runs|Yes|Provisioning Runs|Count|Total|Number of runs that are provisioning for this workspace. Count is updated when a run is waiting on compute target creation or provisioning.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Queued Runs|Yes|Queued Runs|Count|Total|Number of runs that are queued for this workspace. Count is updated when a run is queued in compute target. Can occure when waiting for required compute nodes to be ready.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Quota Utilization Percentage|Yes|Quota Utilization Percentage|Count|Average|Percent of quota utilized|Scenario, ClusterName, VmFamilyName, VmPriority| -|Started Runs|Yes|Started Runs|Count|Total|Number of runs running for this workspace. Count is updated when run starts running on required resources.|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|Starting Runs|Yes|Starting Runs|Count|Total|Number of runs started for this workspace. Count is updated after request to create run and run info, such as the Run Id, has been populated|Scenario, RunType, PublishedPipelineId, ComputeType, PipelineStepType, ExperimentName| -|StorageAPIFailureCount|Yes|StorageAPIFailureCount|Count|Total|Azure Blob Storage API calls failure count.|RunId, InstanceId, ComputeName| -|StorageAPISuccessCount|Yes|StorageAPISuccessCount|Count|Total|Azure Blob Storage API calls success count.|RunId, InstanceId, ComputeName| -|Total Cores|Yes|Total Cores|Count|Average|Number of total cores|Scenario, ClusterName| -|Total Nodes|Yes|Total Nodes|Count|Average|Number of total nodes. This total includes some of Active Nodes, Idle Nodes, Unusable Nodes, Premepted Nodes, Leaving Nodes|Scenario, ClusterName| -|Unusable Cores|Yes|Unusable Cores|Count|Average|Number of unusable cores|Scenario, ClusterName| -|Unusable Nodes|Yes|Unusable Nodes|Count|Average|Number of unusable nodes. Unusable nodes are not functional due to some unresolvable issue. Azure will recycle these nodes.|Scenario, ClusterName| -|Warnings|Yes|Warnings|Count|Total|Number of run warnings in this workspace. Count is updated whenever a run encounters a warning.|Scenario| - - -## Microsoft.Maps/accounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|Availability of the APIs|ApiCategory, ApiName| -|CreatorUsage|No|Creator Usage|Bytes|Average|Azure Maps Creator usage statistics|ServiceName| -|Usage|No|Usage|Count|Count|Count of API calls|ApiCategory, ApiName, ResultType, ResponseCode| - - -## Microsoft.Media/mediaservices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AssetCount|Yes|Asset count|Count|Average|How many assets are already created in current media service account|No Dimensions| -|AssetQuota|Yes|Asset quota|Count|Average|How many assets are allowed for current media service account|No Dimensions| -|AssetQuotaUsedPercentage|Yes|Asset quota used percentage|Percent|Average|Asset used percentage in current media service account|No Dimensions| -|ChannelsAndLiveEventsCount|Yes|Live event count|Count|Average|The total number of live events in the current media services account|No Dimensions| -|ContentKeyPolicyCount|Yes|Content Key Policy count|Count|Average|How many content key policies are already created in current media service account|No Dimensions| -|ContentKeyPolicyQuota|Yes|Content Key Policy quota|Count|Average|How many content key polices are allowed for current media service account|No Dimensions| -|ContentKeyPolicyQuotaUsedPercentage|Yes|Content Key Policy quota used percentage|Percent|Average|Content Key Policy used percentage in current media service account|No Dimensions| -|MaxChannelsAndLiveEventsCount|Yes|Max live event quota|Count|Average|The maximum number of live events allowed in the current media services account|No Dimensions| -|MaxRunningChannelsAndLiveEventsCount|Yes|Max running live event quota|Count|Average|The maximum number of running live events allowed in the current media services account|No Dimensions| -|RunningChannelsAndLiveEventsCount|Yes|Running live event count|Count|Average|The total number of running live events in the current media services account|No Dimensions| -|StreamingPolicyCount|Yes|Streaming Policy count|Count|Average|How many streaming policies are already created in current media service account|No Dimensions| -|StreamingPolicyQuota|Yes|Streaming Policy quota|Count|Average|How many streaming policies are allowed for current media service account|No Dimensions| -|StreamingPolicyQuotaUsedPercentage|Yes|Streaming Policy quota used percentage|Percent|Average|Streaming Policy used percentage in current media service account|No Dimensions| - - -## Microsoft.Media/mediaservices/liveEvents - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|IngestBitrate|Yes|Live Event ingest bitrate|BitsPerSecond|Average|The incoming bitrate ingested for a live event, in bits per second.|TrackName| -|IngestDriftValue|Yes|Live Event ingest drift value|Seconds|Maximum|Drift between the timestamp of the ingested content and the system clock, measured in seconds per minute. A non zero value indicates that the ingested content is arriving slower than system clock time.|TrackName| -|IngestLastTimestamp|Yes|Live Event ingest last timestamp|Milliseconds|Maximum|Last timestamp ingested for a live event.|TrackName| -|LiveOutputLastTimestamp|Yes|Last output timestamp|Milliseconds|Maximum|Timestamp of the last fragment uploaded to storage for a live event output.|TrackName| - - -## Microsoft.Media/mediaservices/streamingEndpoints - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CPU|Yes|CPU usage|Percent|Average|CPU usage for premium streaming endpoints. This data is not available for standard streaming endpoints.|No Dimensions| -|Egress|Yes|Egress|Bytes|Total|The amount of Egress data, in bytes.|OutputFormat| -|EgressBandwidth|No|Egress bandwidth|BitsPerSecond|Average|Egress bandwidth in bits per second.|No Dimensions| -|Requests|Yes|Requests|Count|Total|Requests to a Streaming Endpoint.|OutputFormat, HttpStatusCode, ErrorCode| -|SuccessE2ELatency|Yes|Success end to end Latency|Milliseconds|Average|The average latency for successful requests in milliseconds.|OutputFormat| - - -## Microsoft.Media/videoanalyzers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|IngressBytes|Yes|Ingress Bytes|Bytes|Total|The number of bytes ingressed by the pipeline node.|PipelineKind, PipelineTopology, Pipeline, Node| -|Pipelines|Yes|Pipelines|Count|Total|The number of pipelines of each kind and state|PipelineKind, PipelineTopology, PipelineState| - - -## Microsoft.MixedReality/remoteRenderingAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActiveRenderingSessions|Yes|Active Rendering Sessions|Count|Average|Total number of active rendering sessions|SessionType, SDKVersion| -|AssetsConverted|Yes|Assets Converted|Count|Total|Total number of assets converted|SDKVersion| - - -## Microsoft.MixedReality/spatialAnchorsAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AnchorsCreated|Yes|Anchors Created|Count|Total|Number of Anchors created|DeviceFamily, SDKVersion| -|AnchorsDeleted|Yes|Anchors Deleted|Count|Total|Number of Anchors deleted|DeviceFamily, SDKVersion| -|AnchorsQueried|Yes|Anchors Queried|Count|Total|Number of Spatial Anchors queried|DeviceFamily, SDKVersion| -|AnchorsUpdated|Yes|Anchors Updated|Count|Total|Number of Anchors updated|DeviceFamily, SDKVersion| -|PosesFound|Yes|Poses Found|Count|Total|Number of Poses returned|DeviceFamily, SDKVersion| -|TotalDailyAnchors|Yes|Total Daily Anchors|Count|Average|Total number of Anchors - Daily|DeviceFamily, SDKVersion| - - -## Microsoft.NetApp/netAppAccounts/capacityPools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|VolumePoolAllocatedSize|Yes|Pool Allocated Size|Bytes|Average|Provisioned size of this pool|No Dimensions| -|VolumePoolAllocatedToVolumeThroughput|Yes|Pool allocated throughput|BytesPerSecond|Average|Sum of the throughput of all the volumes belonging to the pool|No Dimensions| -|VolumePoolAllocatedUsed|Yes|Pool Allocated To Volume Size|Bytes|Average|Allocated used size of the pool|No Dimensions| -|VolumePoolProvisionedThroughput|Yes|Provisioned throughput for the pool|BytesPerSecond|Average|Provisioned throughput of this pool|No Dimensions| -|VolumePoolTotalLogicalSize|Yes|Pool Consumed Size|Bytes|Average|Sum of the logical size of all the volumes belonging to the pool|No Dimensions| -|VolumePoolTotalSnapshotSize|Yes|Total Snapshot size for the pool|Bytes|Average|Sum of snapshot size of all volumes in this pool|No Dimensions| - - -## Microsoft.NetApp/netAppAccounts/capacityPools/volumes - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AverageReadLatency|Yes|Average read latency|MilliSeconds|Average|Average read latency in milliseconds per operation|No Dimensions| -|AverageWriteLatency|Yes|Average write latency|MilliSeconds|Average|Average write latency in milliseconds per operation|No Dimensions| -|CbsVolumeBackupActive|Yes|Is Volume Backup suspended|Count|Average|Is the backup policy suspended for the volume? 0 if yes, 1 if no.|No Dimensions| -|CbsVolumeLogicalBackupBytes|Yes|Volume Backup Bytes|Bytes|Average|Total bytes backed up for this Volume.|No Dimensions| -|CbsVolumeOperationComplete|Yes|Is Volume Backup Operation Complete|Count|Average|Did the last volume backup or restore operation complete successfully? 1 if yes, 0 if no.|No Dimensions| -|CbsVolumeOperationTransferredBytes|Yes|Volume Backup Last Transferred Bytes|Bytes|Average|Total bytes transferred for last backup or restore operation.|No Dimensions| -|CbsVolumeProtected|Yes|Is Volume Backup Enabled|Count|Average|Is backup enabled for the volume? 1 if yes, 0 if no.|No Dimensions| -|OtherThroughput|Yes|Other throughput|BytesPerSecond|Average|Other throughput (that is not read or write) in bytes per second|No Dimensions| -|ReadIops|Yes|Read iops|CountPerSecond|Average|Read In/out operations per second|No Dimensions| -|ReadThroughput|Yes|Read throughput|BytesPerSecond|Average|Read throughput in bytes per second|No Dimensions| -|TotalThroughput|Yes|Total throughput|BytesPerSecond|Average|Sum of all throughput in bytes per second|No Dimensions| -|VolumeAllocatedSize|Yes|Volume allocated size|Bytes|Average|The provisioned size of a volume|No Dimensions| -|VolumeConsumedSizePercentage|Yes|Percentage Volume Consumed Size|Percent|Average|The percentage of the volume consumed including snapshots.|No Dimensions| -|VolumeCoolTierDataReadSize|Yes|Volume cool tier data read size|Bytes|Average|Data read in using GET per volume|No Dimensions| -|VolumeCoolTierDataWriteSize|Yes|Volume cool tier data write size|Bytes|Average|Data tiered out using PUT per volume|No Dimensions| -|VolumeCoolTierSize|Yes|Volume cool tier size|Bytes|Average|Volume Footprint for Cool Tier|No Dimensions| -|VolumeLogicalSize|Yes|Volume Consumed Size|Bytes|Average|Logical size of the volume (used bytes)|No Dimensions| -|VolumeSnapshotSize|Yes|Volume snapshot size|Bytes|Average|Size of all snapshots in volume|No Dimensions| -|WriteIops|Yes|Write iops|CountPerSecond|Average|Write In/out operations per second|No Dimensions| -|WriteThroughput|Yes|Write throughput|BytesPerSecond|Average|Write throughput in bytes per second|No Dimensions| -|XregionReplicationHealthy|Yes|Is volume replication status healthy|Count|Average|Condition of the relationship, 1 or 0.|No Dimensions| -|XregionReplicationLagTime|Yes|Volume replication lag time|Seconds|Average|The amount of time in seconds by which the data on the mirror lags behind the source.|No Dimensions| -|XregionReplicationLastTransferDuration|Yes|Volume replication last transfer duration|Seconds|Average|The amount of time in seconds it took for the last transfer to complete.|No Dimensions| -|XregionReplicationLastTransferSize|Yes|Volume replication last transfer size|Bytes|Average|The total number of bytes transferred as part of the last transfer.|No Dimensions| -|XregionReplicationRelationshipProgress|Yes|Volume replication progress|Bytes|Average|Total amount of data transferred for the current transfer operation.|No Dimensions| -|XregionReplicationRelationshipTransferring|Yes|Is volume replication transferring|Count|Average|Whether the status of the Volume Replication is 'transferring'.|No Dimensions| -|XregionReplicationTotalTransferBytes|Yes|Volume replication total transfer|Bytes|Average|Cumulative bytes transferred for the relationship.|No Dimensions| - - -## Microsoft.Network/applicationGateways - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ApplicationGatewayTotalTime|No|Application Gateway Total Time|MilliSeconds|Average|Average time that it takes for a request to be processed and its response to be sent. This is calculated as average of the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes. It's important to note that this usually includes the Application Gateway processing time, time that the request and response packets are traveling over the network and the time the backend server took to respond.|Listener| -|AvgRequestCountPerHealthyHost|No|Requests per minute per Healthy Host|Count|Average|Average request count per minute per healthy backend host in a pool|BackendSettingsPool| -|BackendConnectTime|No|Backend Connect Time|MilliSeconds|Average|Time spent establishing a connection with a backend server|Listener, BackendServer, BackendPool, BackendHttpSetting| -|BackendFirstByteResponseTime|No|Backend First Byte Response Time|MilliSeconds|Average|Time interval between start of establishing a connection to backend server and receiving the first byte of the response header, approximating processing time of backend server|Listener, BackendServer, BackendPool, BackendHttpSetting| -|BackendLastByteResponseTime|No|Backend Last Byte Response Time|MilliSeconds|Average|Time interval between start of establishing a connection to backend server and receiving the last byte of the response body|Listener, BackendServer, BackendPool, BackendHttpSetting| -|BackendResponseStatus|Yes|Backend Response Status|Count|Total|The number of HTTP response codes generated by the backend members. This does not include any response codes generated by the Application Gateway.|BackendServer, BackendPool, BackendHttpSetting, HttpStatusGroup| -|BlockedCount|Yes|Web Application Firewall Blocked Requests Rule Distribution|Count|Total|Web Application Firewall blocked requests rule distribution|RuleGroup, RuleId| -|BlockedReqCount|Yes|Web Application Firewall Blocked Requests Count|Count|Total|Web Application Firewall blocked requests count|No Dimensions| -|BytesReceived|Yes|Bytes Received|Bytes|Total|The total number of bytes received by the Application Gateway from the clients|Listener| -|BytesSent|Yes|Bytes Sent|Bytes|Total|The total number of bytes sent by the Application Gateway to the clients|Listener| -|CapacityUnits|No|Current Capacity Units|Count|Average|Capacity Units consumed|No Dimensions| -|ClientRtt|No|Client RTT|MilliSeconds|Average|Average round trip time between clients and Application Gateway. This metric indicates how long it takes to establish connections and return acknowledgements|Listener| -|ComputeUnits|No|Current Compute Units|Count|Average|Compute Units consumed|No Dimensions| -|CpuUtilization|No|CPU Utilization|Percent|Average|Current CPU utilization of the Application Gateway|No Dimensions| -|CurrentConnections|Yes|Current Connections|Count|Total|Count of current connections established with Application Gateway|No Dimensions| -|EstimatedBilledCapacityUnits|No|Estimated Billed Capacity Units|Count|Average|Estimated capacity units that will be charged|No Dimensions| -|FailedRequests|Yes|Failed Requests|Count|Total|Count of failed requests that Application Gateway has served|BackendSettingsPool| -|FixedBillableCapacityUnits|No|Fixed Billable Capacity Units|Count|Average|Minimum capacity units that will be charged|No Dimensions| -|HealthyHostCount|Yes|Healthy Host Count|Count|Average|Number of healthy backend hosts|BackendSettingsPool| -|MatchedCount|Yes|Web Application Firewall Total Rule Distribution|Count|Total|Web Application Firewall Total Rule Distribution for the incoming traffic|RuleGroup, RuleId| -|NewConnectionsPerSecond|No|New connections per second|CountPerSecond|Average|New connections per second established with Application Gateway|No Dimensions| -|ResponseStatus|Yes|Response Status|Count|Total|Http response status returned by Application Gateway|HttpStatusGroup| -|Throughput|No|Throughput|BytesPerSecond|Average|Number of bytes per second the Application Gateway has served|No Dimensions| -|TlsProtocol|Yes|Client TLS Protocol|Count|Total|The number of TLS and non-TLS requests initiated by the client that established connection with the Application Gateway. To view TLS protocol distribution, filter by the dimension TLS Protocol.|Listener, TlsProtocol| -|TotalRequests|Yes|Total Requests|Count|Total|Count of successful requests that Application Gateway has served|BackendSettingsPool| -|UnhealthyHostCount|Yes|Unhealthy Host Count|Count|Average|Number of unhealthy backend hosts|BackendSettingsPool| - - -## Microsoft.Network/azurefirewalls - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ApplicationRuleHit|Yes|Application rules hit count|Count|Total|Number of times Application rules were hit|Status, Reason, Protocol| -|DataProcessed|Yes|Data processed|Bytes|Total|Total amount of data processed by this firewall|No Dimensions| -|FirewallHealth|Yes|Firewall health state|Percent|Average|Indicates the overall health of this firewall|Status, Reason| -|NetworkRuleHit|Yes|Network rules hit count|Count|Total|Number of times Network rules were hit|Status, Reason, Protocol| -|SNATPortUtilization|Yes|SNAT port utilization|Percent|Average|Percentage of outbound SNAT ports currently in use|Protocol| -|Throughput|No|Throughput|BitsPerSecond|Average|Throughput processed by this firewall|No Dimensions| - - -## microsoft.network/bastionHosts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|pingmesh|No|Bastion Communication Status|Count|Average|Communication status shows 1 if all communication is good and 0 if its bad.|No Dimensions| -|sessions|No|Session Count|Count|Total|Sessions Count for the Bastion. View in sum and per instance.|host| -|total|Yes|Total Memory|Count|Average|Total memory stats.|host| -|usage_user|No|CPU Usage|Count|Average|CPU Usage stats.|cpu, host| -|used|Yes|Memory Usage|Count|Average|Memory Usage stats.|host| - - -## Microsoft.Network/connections - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BitsInPerSecond|Yes|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|No Dimensions| -|BitsOutPerSecond|Yes|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|No Dimensions| - - -## Microsoft.Network/dnsForwardingRulesets - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ForwardingRuleCount|Yes|Forwarding Rule Count|Count|Maximum|This metric indicates the number of forwarding rules present in each DNS forwarding ruleset.|No Dimensions| -|VirtualNetworkLinkCount|Yes|Virtual Network Link Count|Count|Maximum|This metric indicates the number of associated virtual network links to a DNS forwarding ruleset.|No Dimensions| - - -## Microsoft.Network/dnsResolvers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|InboundEndpointCount|No|Inbound Endpoint Count|Count|Maximum|This metric indicates the number of inbound endpoints created for a DNS Resolver.|No Dimensions| -|OutboundEndpointCount|No|Outbound Endpoint Count|Count|Maximum|This metric indicates the number of outbound endpoints created for a DNS Resolver.|No Dimensions| - - -## Microsoft.Network/dnszones - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|QueryVolume|No|Query Volume|Count|Total|Number of queries served for a DNS zone|No Dimensions| -|RecordSetCapacityUtilization|No|Record Set Capacity Utilization|Percent|Maximum|Percent of Record Set capacity utilized by a DNS zone|No Dimensions| -|RecordSetCount|No|Record Set Count|Count|Maximum|Number of Record Sets in a DNS zone|No Dimensions| - - -## Microsoft.Network/expressRouteCircuits - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ArpAvailability|Yes|Arp Availability|Percent|Average|ARP Availability from MSEE towards all peers.|PeeringType, Peer| -|BgpAvailability|Yes|Bgp Availability|Percent|Average|BGP Availability from MSEE towards all peers.|PeeringType, Peer| -|BitsInPerSecond|Yes|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|PeeringType, DeviceRole| -|BitsOutPerSecond|Yes|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|PeeringType, DeviceRole| -|GlobalReachBitsInPerSecond|No|GlobalReachBitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|PeeredCircuitSKey| -|GlobalReachBitsOutPerSecond|No|GlobalReachBitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|PeeredCircuitSKey| -|QosDropBitsInPerSecond|Yes|DroppedInBitsPerSecond|BitsPerSecond|Average|Ingress bits of data dropped per second|No Dimensions| -|QosDropBitsOutPerSecond|Yes|DroppedOutBitsPerSecond|BitsPerSecond|Average|Egress bits of data dropped per second|No Dimensions| - - -## Microsoft.Network/expressRouteCircuits/peerings - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BitsInPerSecond|Yes|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|No Dimensions| -|BitsOutPerSecond|Yes|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|No Dimensions| - - -## Microsoft.Network/expressRouteGateways - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ErGatewayConnectionBitsInPerSecond|No|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|ConnectionName| -|ErGatewayConnectionBitsOutPerSecond|No|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|ConnectionName| -|ExpressRouteGatewayCountOfRoutesAdvertisedToPeer|Yes|Count Of Routes Advertised to Peer|Count|Maximum|Count Of Routes Advertised To Peer by ExpressRouteGateway|roleInstance| -|ExpressRouteGatewayCountOfRoutesLearnedFromPeer|Yes|Count Of Routes Learned from Peer|Count|Maximum|Count Of Routes Learned From Peer by ExpressRouteGateway|roleInstance| -|ExpressRouteGatewayCpuUtilization|Yes|CPU utilization|Percent|Average|CPU Utilization of the ExpressRoute Gateway|roleInstance| -|ExpressRouteGatewayFrequencyOfRoutesChanged|No|Frequency of Routes change|Count|Total|Frequency of Routes change in ExpressRoute Gateway|roleInstance| -|ExpressRouteGatewayNumberOfVmInVnet|No|Number of VMs in the Virtual Network|Count|Maximum|Number of VMs in the Virtual Network|No Dimensions| -|ExpressRouteGatewayPacketsPerSecond|No|Packets per second|CountPerSecond|Average|Packet count of ExpressRoute Gateway|roleInstance| - - -## Microsoft.Network/expressRoutePorts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AdminState|Yes|AdminState|Count|Average|Admin state of the port|Link| -|LineProtocol|Yes|LineProtocol|Count|Average|Line protocol status of the port|Link| -|PortBitsInPerSecond|No|BitsInPerSecond|BitsPerSecond|Average|Bits ingressing Azure per second|Link| -|PortBitsOutPerSecond|No|BitsOutPerSecond|BitsPerSecond|Average|Bits egressing Azure per second|Link| -|RxLightLevel|Yes|RxLightLevel|Count|Average|Rx Light level in dBm|Link, Lane| -|TxLightLevel|Yes|TxLightLevel|Count|Average|Tx light level in dBm|Link, Lane| - - -## Microsoft.Network/frontdoors - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BackendHealthPercentage|Yes|Backend Health Percentage|Percent|Average|The percentage of successful health probes from the HTTP/S proxy to backends|Backend, BackendPool| -|BackendRequestCount|Yes|Backend Request Count|Count|Total|The number of requests sent from the HTTP/S proxy to backends|HttpStatus, HttpStatusGroup, Backend| -|BackendRequestLatency|Yes|Backend Request Latency|MilliSeconds|Average|The time calculated from when the request was sent by the HTTP/S proxy to the backend until the HTTP/S proxy received the last response byte from the backend|Backend| -|BillableResponseSize|Yes|Billable Response Size|Bytes|Total|The number of billable bytes (minimum 2KB per request) sent as responses from HTTP/S proxy to clients.|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| -|RequestCount|Yes|Request Count|Count|Total|The number of client requests served by the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| -|RequestSize|Yes|Request Size|Bytes|Total|The number of bytes sent as requests from clients to the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| -|ResponseSize|Yes|Response Size|Bytes|Total|The number of bytes sent as responses from HTTP/S proxy to clients|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| -|TotalLatency|Yes|Total Latency|MilliSeconds|Average|The time calculated from when the client request was received by the HTTP/S proxy until the client acknowledged the last response byte from the HTTP/S proxy|HttpStatus, HttpStatusGroup, ClientRegion, ClientCountry| -|WebApplicationFirewallRequestCount|Yes|Web Application Firewall Request Count|Count|Total|The number of client requests processed by the Web Application Firewall|PolicyName, RuleName, Action| - - -## Microsoft.Network/loadBalancers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AllocatedSnatPorts|No|Allocated SNAT Ports|Count|Average|Total number of SNAT ports allocated within time period|FrontendIPAddress, BackendIPAddress, ProtocolType, | -|ByteCount|Yes|Byte Count|Bytes|Total|Total number of Bytes transmitted within time period|FrontendIPAddress, FrontendPort, Direction| -|DipAvailability|Yes|Health Probe Status|Count|Average|Average Load Balancer health probe status per time duration|ProtocolType, BackendPort, FrontendIPAddress, FrontendPort, BackendIPAddress| -|PacketCount|Yes|Packet Count|Count|Total|Total number of Packets transmitted within time period|FrontendIPAddress, FrontendPort, Direction| -|SnatConnectionCount|Yes|SNAT Connection Count|Count|Total|Total number of new SNAT connections created within time period|FrontendIPAddress, BackendIPAddress, ConnectionState| -|SYNCount|Yes|SYN Count|Count|Total|Total number of SYN Packets transmitted within time period|FrontendIPAddress, FrontendPort, Direction| -|UsedSnatPorts|No|Used SNAT Ports|Count|Average|Total number of SNAT ports used within time period|FrontendIPAddress, BackendIPAddress, ProtocolType, | -|VipAvailability|Yes|Data Path Availability|Count|Average|Average Load Balancer data path availability per time duration|FrontendIPAddress, FrontendPort| - - -## Microsoft.Network/natGateways - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ByteCount|No|Bytes|Bytes|Total|Total number of Bytes transmitted within time period|Protocol, Direction| -|DatapathAvailability|No|Datapath Availability (Preview)|Count|Average|NAT Gateway Datapath Availability|No Dimensions| -|PacketCount|No|Packets|Count|Total|Total number of Packets transmitted within time period|Protocol, Direction| -|PacketDropCount|No|Dropped Packets|Count|Total|Count of dropped packets|No Dimensions| -|SNATConnectionCount|No|SNAT Connection Count|Count|Total|Total concurrent active connections|Protocol, ConnectionState| -|TotalConnectionCount|No|Total SNAT Connection Count|Count|Total|Total number of active SNAT connections|Protocol| - - -## Microsoft.Network/networkInterfaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BytesReceivedRate|Yes|Bytes Received|Bytes|Total|Number of bytes the Network Interface received|No Dimensions| -|BytesSentRate|Yes|Bytes Sent|Bytes|Total|Number of bytes the Network Interface sent|No Dimensions| -|PacketsReceivedRate|Yes|Packets Received|Count|Total|Number of packets the Network Interface received|No Dimensions| -|PacketsSentRate|Yes|Packets Sent|Count|Total|Number of packets the Network Interface sent|No Dimensions| - - -## Microsoft.Network/networkWatchers/connectionMonitors - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AverageRoundtripMs|Yes|Avg. Round-trip Time (ms) (classic)|MilliSeconds|Average|Average network round-trip time (ms) for connectivity monitoring probes sent between source and destination|No Dimensions| -|ChecksFailedPercent|Yes|Checks Failed Percent|Percent|Average|% of connectivity monitoring checks failed|SourceAddress, SourceName, SourceResourceId, SourceType, Protocol, DestinationAddress, DestinationName, DestinationResourceId, DestinationType, DestinationPort, TestGroupName, TestConfigurationName, SourceIP, DestinationIP, SourceSubnet, DestinationSubnet| -|ProbesFailedPercent|Yes|% Probes Failed (classic)|Percent|Average|% of connectivity monitoring probes failed|No Dimensions| -|RoundTripTimeMs|Yes|Round-Trip Time (ms)|MilliSeconds|Average|Round-trip time in milliseconds for the connectivity monitoring checks|SourceAddress, SourceName, SourceResourceId, SourceType, Protocol, DestinationAddress, DestinationName, DestinationResourceId, DestinationType, DestinationPort, TestGroupName, TestConfigurationName, SourceIP, DestinationIP, SourceSubnet, DestinationSubnet| -|TestResult|Yes|Test Result|Count|Average|Connection monitor test result|SourceAddress, SourceName, SourceResourceId, SourceType, Protocol, DestinationAddress, DestinationName, DestinationResourceId, DestinationType, DestinationPort, TestGroupName, TestConfigurationName, TestResultCriterion, SourceIP, DestinationIP, SourceSubnet, DestinationSubnet| - - -## Microsoft.Network/p2sVpnGateways - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|P2SBandwidth|Yes|Gateway P2S Bandwidth|BytesPerSecond|Average|Average point-to-site bandwidth of a gateway in bytes per second|Instance| -|P2SConnectionCount|Yes|P2S Connection Count|Count|Total|Point-to-site connection count of a gateway|Protocol, Instance| - - -## Microsoft.Network/privateDnsZones - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|QueryVolume|No|Query Volume|Count|Total|Number of queries served for a Private DNS zone|No Dimensions| -|RecordSetCapacityUtilization|No|Record Set Capacity Utilization|Percent|Maximum|Percent of Record Set capacity utilized by a Private DNS zone|No Dimensions| -|RecordSetCount|No|Record Set Count|Count|Maximum|Number of Record Sets in a Private DNS zone|No Dimensions| -|VirtualNetworkLinkCapacityUtilization|No|Virtual Network Link Capacity Utilization|Percent|Maximum|Percent of Virtual Network Link capacity utilized by a Private DNS zone|No Dimensions| -|VirtualNetworkLinkCount|No|Virtual Network Link Count|Count|Maximum|Number of Virtual Networks linked to a Private DNS zone|No Dimensions| -|VirtualNetworkWithRegistrationCapacityUtilization|No|Virtual Network Registration Link Capacity Utilization|Percent|Maximum|Percent of Virtual Network Link with auto-registration capacity utilized by a Private DNS zone|No Dimensions| -|VirtualNetworkWithRegistrationLinkCount|No|Virtual Network Registration Link Count|Count|Maximum|Number of Virtual Networks linked to a Private DNS zone with auto-registration enabled|No Dimensions| - - -## Microsoft.Network/privateEndpoints - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|PEBytesIn|Yes|Bytes In|Count|Total|Total number of Bytes Out|No Dimensions| -|PEBytesOut|Yes|Bytes Out|Count|Total|Total number of Bytes Out|No Dimensions| - - -## Microsoft.Network/privateLinkServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|PLSBytesIn|Yes|Bytes In|Count|Total|Total number of Bytes Out|PrivateLinkServiceId| -|PLSBytesOut|Yes|Bytes Out|Count|Total|Total number of Bytes Out|PrivateLinkServiceId| -|PLSNatPortsUsage|Yes|Nat Ports Usage|Percent|Average|Nat Ports Usage|PrivateLinkServiceId, PrivateLinkServiceIPAddress| - - -## Microsoft.Network/publicIPAddresses - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ByteCount|Yes|Byte Count|Bytes|Total|Total number of Bytes transmitted within time period|Port, Direction| -|BytesDroppedDDoS|Yes|Inbound bytes dropped DDoS|BytesPerSecond|Maximum|Inbound bytes dropped DDoS|No Dimensions| -|BytesForwardedDDoS|Yes|Inbound bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound bytes forwarded DDoS|No Dimensions| -|BytesInDDoS|Yes|Inbound bytes DDoS|BytesPerSecond|Maximum|Inbound bytes DDoS|No Dimensions| -|DDoSTriggerSYNPackets|Yes|Inbound SYN packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound SYN packets to trigger DDoS mitigation|No Dimensions| -|DDoSTriggerTCPPackets|Yes|Inbound TCP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound TCP packets to trigger DDoS mitigation|No Dimensions| -|DDoSTriggerUDPPackets|Yes|Inbound UDP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound UDP packets to trigger DDoS mitigation|No Dimensions| -|IfUnderDDoSAttack|Yes|Under DDoS attack or not|Count|Maximum|Under DDoS attack or not|No Dimensions| -|PacketCount|Yes|Packet Count|Count|Total|Total number of Packets transmitted within time period|Port, Direction| -|PacketsDroppedDDoS|Yes|Inbound packets dropped DDoS|CountPerSecond|Maximum|Inbound packets dropped DDoS|No Dimensions| -|PacketsForwardedDDoS|Yes|Inbound packets forwarded DDoS|CountPerSecond|Maximum|Inbound packets forwarded DDoS|No Dimensions| -|PacketsInDDoS|Yes|Inbound packets DDoS|CountPerSecond|Maximum|Inbound packets DDoS|No Dimensions| -|SynCount|Yes|SYN Count|Count|Total|Total number of SYN Packets transmitted within time period|Port, Direction| -|TCPBytesDroppedDDoS|Yes|Inbound TCP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound TCP bytes dropped DDoS|No Dimensions| -|TCPBytesForwardedDDoS|Yes|Inbound TCP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound TCP bytes forwarded DDoS|No Dimensions| -|TCPBytesInDDoS|Yes|Inbound TCP bytes DDoS|BytesPerSecond|Maximum|Inbound TCP bytes DDoS|No Dimensions| -|TCPPacketsDroppedDDoS|Yes|Inbound TCP packets dropped DDoS|CountPerSecond|Maximum|Inbound TCP packets dropped DDoS|No Dimensions| -|TCPPacketsForwardedDDoS|Yes|Inbound TCP packets forwarded DDoS|CountPerSecond|Maximum|Inbound TCP packets forwarded DDoS|No Dimensions| -|TCPPacketsInDDoS|Yes|Inbound TCP packets DDoS|CountPerSecond|Maximum|Inbound TCP packets DDoS|No Dimensions| -|UDPBytesDroppedDDoS|Yes|Inbound UDP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound UDP bytes dropped DDoS|No Dimensions| -|UDPBytesForwardedDDoS|Yes|Inbound UDP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound UDP bytes forwarded DDoS|No Dimensions| -|UDPBytesInDDoS|Yes|Inbound UDP bytes DDoS|BytesPerSecond|Maximum|Inbound UDP bytes DDoS|No Dimensions| -|UDPPacketsDroppedDDoS|Yes|Inbound UDP packets dropped DDoS|CountPerSecond|Maximum|Inbound UDP packets dropped DDoS|No Dimensions| -|UDPPacketsForwardedDDoS|Yes|Inbound UDP packets forwarded DDoS|CountPerSecond|Maximum|Inbound UDP packets forwarded DDoS|No Dimensions| -|UDPPacketsInDDoS|Yes|Inbound UDP packets DDoS|CountPerSecond|Maximum|Inbound UDP packets DDoS|No Dimensions| -|VipAvailability|Yes|Data Path Availability|Count|Average|Average IP Address availability per time duration|Port| - - -## Microsoft.Network/trafficManagerProfiles - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ProbeAgentCurrentEndpointStateByProfileResourceId|Yes|Endpoint Status by Endpoint|Count|Maximum|1 if an endpoint's probe status is "Enabled", 0 otherwise.|EndpointName| -|QpsByEndpoint|Yes|Queries by Endpoint Returned|Count|Total|Number of times a Traffic Manager endpoint was returned in the given time frame|EndpointName| - - -## Microsoft.Network/virtualHubs - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BgpPeerStatus|No|Bgp Peer Status|Count|Maximum|1 - Connected, 0 - Not connected|routeserviceinstance, bgppeerip, bgppeertype| -|CountOfRoutesAdvertisedToPeer|No|Count Of Routes Advertised To Peer|Count|Maximum|Total number of routes advertised to peer|routeserviceinstance, bgppeerip, bgppeertype| -|CountOfRoutesLearnedFromPeer|No|Count Of Routes Learned From Peer|Count|Maximum|Total number of routes learned from peer|routeserviceinstance, bgppeerip, bgppeertype| -|VirtualHubDataProcessed|No|Data Processed by the Virtual Hub Router|Bytes|Total|Data Processed by the Virtual Hub Router|No Dimensions| - - -## Microsoft.Network/virtualNetworkGateways - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AverageBandwidth|Yes|Gateway S2S Bandwidth|BytesPerSecond|Average|Average site-to-site bandwidth of a gateway in bytes per second|Instance| -|ExpressRouteGatewayCountOfRoutesAdvertisedToPeer|Yes|Count Of Routes Advertised to Peer|Count|Maximum|Count Of Routes Advertised To Peer by ExpressRouteGateway|roleInstance| -|ExpressRouteGatewayCountOfRoutesLearnedFromPeer|Yes|Count Of Routes Learned from Peer|Count|Maximum|Count Of Routes Learned From Peer by ExpressRouteGateway|roleInstance| -|ExpressRouteGatewayCpuUtilization|Yes|CPU utilization|Percent|Average|CPU Utilization of the ExpressRoute Gateway|roleInstance| -|ExpressRouteGatewayFrequencyOfRoutesChanged|No|Frequency of Routes change|Count|Total|Frequency of Routes change in ExpressRoute Gateway|roleInstance| -|ExpressRouteGatewayNumberOfVmInVnet|No|Number of VMs in the Virtual Network|Count|Maximum|Number of VMs in the Virtual Network|No Dimensions| -|ExpressRouteGatewayPacketsPerSecond|No|Packets per second|CountPerSecond|Average|Packet count of ExpressRoute Gateway|roleInstance| -|P2SBandwidth|Yes|Gateway P2S Bandwidth|BytesPerSecond|Average|Average point-to-site bandwidth of a gateway in bytes per second|Instance| -|P2SConnectionCount|Yes|P2S Connection Count|Count|Maximum|Point-to-site connection count of a gateway|Protocol, Instance| -|TunnelAverageBandwidth|Yes|Tunnel Bandwidth|BytesPerSecond|Average|Average bandwidth of a tunnel in bytes per second|ConnectionName, RemoteIP, Instance| -|TunnelEgressBytes|Yes|Tunnel Egress Bytes|Bytes|Total|Outgoing bytes of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelEgressPacketDropTSMismatch|Yes|Tunnel Egress TS Mismatch Packet Drop|Count|Total|Outgoing packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelEgressPackets|Yes|Tunnel Egress Packets|Count|Total|Outgoing packet count of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelIngressBytes|Yes|Tunnel Ingress Bytes|Bytes|Total|Incoming bytes of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelIngressPacketDropTSMismatch|Yes|Tunnel Ingress TS Mismatch Packet Drop|Count|Total|Incoming packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelIngressPackets|Yes|Tunnel Ingress Packets|Count|Total|Incoming packet count of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelNatAllocations|No|Tunnel NAT Allocations|Count|Total|Count of allocations for a NAT rule on a tunnel|NatRule, ConnectionName, RemoteIP, Instance| -|TunnelNatedBytes|No|Tunnel NATed Bytes|Bytes|Total|Number of bytes that were NATed on a tunnel by a NAT rule |NatRule, ConnectionName, RemoteIP, Instance| -|TunnelNatedPackets|No|Tunnel NATed Packets|Count|Total|Number of packets that were NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| -|TunnelNatFlowCount|No|Tunnel NAT Flows|Count|Total|Number of NAT flows on a tunnel by flow type and NAT rule|NatRule, ConnectionName, RemoteIP, FlowType, Instance| -|TunnelNatPacketDrop|No|Tunnel NAT Packet Drops|Count|Total|Number of NATed packets on a tunnel that dropped by drop type and NAT rule|NatRule, ConnectionName, RemoteIP, DropType, Instance| -|TunnelReverseNatedBytes|No|Tunnel Reverse NATed Bytes|Bytes|Total|Number of bytes that were reverse NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| -|TunnelReverseNatedPackets|No|Tunnel Reverse NATed Packets|Count|Total|Number of packets on a tunnel that were reverse NATed by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| - - -## Microsoft.Network/virtualNetworks - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BytesDroppedDDoS|Yes|Inbound bytes dropped DDoS|BytesPerSecond|Maximum|Inbound bytes dropped DDoS|ProtectedIPAddress| -|BytesForwardedDDoS|Yes|Inbound bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound bytes forwarded DDoS|ProtectedIPAddress| -|BytesInDDoS|Yes|Inbound bytes DDoS|BytesPerSecond|Maximum|Inbound bytes DDoS|ProtectedIPAddress| -|DDoSTriggerSYNPackets|Yes|Inbound SYN packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound SYN packets to trigger DDoS mitigation|ProtectedIPAddress| -|DDoSTriggerTCPPackets|Yes|Inbound TCP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound TCP packets to trigger DDoS mitigation|ProtectedIPAddress| -|DDoSTriggerUDPPackets|Yes|Inbound UDP packets to trigger DDoS mitigation|CountPerSecond|Maximum|Inbound UDP packets to trigger DDoS mitigation|ProtectedIPAddress| -|IfUnderDDoSAttack|Yes|Under DDoS attack or not|Count|Maximum|Under DDoS attack or not|ProtectedIPAddress| -|PacketsDroppedDDoS|Yes|Inbound packets dropped DDoS|CountPerSecond|Maximum|Inbound packets dropped DDoS|ProtectedIPAddress| -|PacketsForwardedDDoS|Yes|Inbound packets forwarded DDoS|CountPerSecond|Maximum|Inbound packets forwarded DDoS|ProtectedIPAddress| -|PacketsInDDoS|Yes|Inbound packets DDoS|CountPerSecond|Maximum|Inbound packets DDoS|ProtectedIPAddress| -|PingMeshAverageRoundtripMs|Yes|Round trip time for Pings to a VM|MilliSeconds|Average|Round trip time for Pings sent to a destination VM|SourceCustomerAddress, DestinationCustomerAddress| -|PingMeshProbesFailedPercent|Yes|Failed Pings to a VM|Percent|Average|Percent of number of failed Pings to total sent Pings of a destination VM|SourceCustomerAddress, DestinationCustomerAddress| -|TCPBytesDroppedDDoS|Yes|Inbound TCP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound TCP bytes dropped DDoS|ProtectedIPAddress| -|TCPBytesForwardedDDoS|Yes|Inbound TCP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound TCP bytes forwarded DDoS|ProtectedIPAddress| -|TCPBytesInDDoS|Yes|Inbound TCP bytes DDoS|BytesPerSecond|Maximum|Inbound TCP bytes DDoS|ProtectedIPAddress| -|TCPPacketsDroppedDDoS|Yes|Inbound TCP packets dropped DDoS|CountPerSecond|Maximum|Inbound TCP packets dropped DDoS|ProtectedIPAddress| -|TCPPacketsForwardedDDoS|Yes|Inbound TCP packets forwarded DDoS|CountPerSecond|Maximum|Inbound TCP packets forwarded DDoS|ProtectedIPAddress| -|TCPPacketsInDDoS|Yes|Inbound TCP packets DDoS|CountPerSecond|Maximum|Inbound TCP packets DDoS|ProtectedIPAddress| -|UDPBytesDroppedDDoS|Yes|Inbound UDP bytes dropped DDoS|BytesPerSecond|Maximum|Inbound UDP bytes dropped DDoS|ProtectedIPAddress| -|UDPBytesForwardedDDoS|Yes|Inbound UDP bytes forwarded DDoS|BytesPerSecond|Maximum|Inbound UDP bytes forwarded DDoS|ProtectedIPAddress| -|UDPBytesInDDoS|Yes|Inbound UDP bytes DDoS|BytesPerSecond|Maximum|Inbound UDP bytes DDoS|ProtectedIPAddress| -|UDPPacketsDroppedDDoS|Yes|Inbound UDP packets dropped DDoS|CountPerSecond|Maximum|Inbound UDP packets dropped DDoS|ProtectedIPAddress| -|UDPPacketsForwardedDDoS|Yes|Inbound UDP packets forwarded DDoS|CountPerSecond|Maximum|Inbound UDP packets forwarded DDoS|ProtectedIPAddress| -|UDPPacketsInDDoS|Yes|Inbound UDP packets DDoS|CountPerSecond|Maximum|Inbound UDP packets DDoS|ProtectedIPAddress| - - -## Microsoft.Network/virtualRouters - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|PeeringAvailability|Yes|Bgp Availability|Percent|Average|BGP Availability between VirtualRouter and remote peers|Peer| - - -## Microsoft.Network/vpnGateways - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AverageBandwidth|Yes|Gateway S2S Bandwidth|BytesPerSecond|Average|Average site-to-site bandwidth of a gateway in bytes per second|Instance| -|TunnelAverageBandwidth|Yes|Tunnel Bandwidth|BytesPerSecond|Average|Average bandwidth of a tunnel in bytes per second|ConnectionName, RemoteIP, Instance| -|TunnelEgressBytes|Yes|Tunnel Egress Bytes|Bytes|Total|Outgoing bytes of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelEgressPacketDropTSMismatch|Yes|Tunnel Egress TS Mismatch Packet Drop|Count|Total|Outgoing packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelEgressPackets|Yes|Tunnel Egress Packets|Count|Total|Outgoing packet count of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelIngressBytes|Yes|Tunnel Ingress Bytes|Bytes|Total|Incoming bytes of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelIngressPacketDropTSMismatch|Yes|Tunnel Ingress TS Mismatch Packet Drop|Count|Total|Incoming packet drop count from traffic selector mismatch of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelIngressPackets|Yes|Tunnel Ingress Packets|Count|Total|Incoming packet count of a tunnel|ConnectionName, RemoteIP, Instance| -|TunnelNatAllocations|No|Tunnel NAT Allocations|Count|Total|Count of allocations for a NAT rule on a tunnel|NatRule, ConnectionName, RemoteIP, Instance| -|TunnelNatedBytes|No|Tunnel NATed Bytes|Bytes|Total|Number of bytes that were NATed on a tunnel by a NAT rule |NatRule, ConnectionName, RemoteIP, Instance| -|TunnelNatedPackets|No|Tunnel NATed Packets|Count|Total|Number of packets that were NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| -|TunnelNatFlowCount|No|Tunnel NAT Flows|Count|Total|Number of NAT flows on a tunnel by flow type and NAT rule|NatRule, ConnectionName, RemoteIP, FlowType, Instance| -|TunnelNatPacketDrop|No|Tunnel NAT Packet Drops|Count|Total|Number of NATed packets on a tunnel that dropped by drop type and NAT rule|NatRule, ConnectionName, RemoteIP, DropType, Instance| -|TunnelReverseNatedBytes|No|Tunnel Reverse NATed Bytes|Bytes|Total|Number of bytes that were reverse NATed on a tunnel by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| -|TunnelReverseNatedPackets|No|Tunnel Reverse NATed Packets|Count|Total|Number of packets on a tunnel that were reverse NATed by a NAT rule|NatRule, ConnectionName, RemoteIP, Instance| - - -## Microsoft.NetworkFunction/azureTrafficCollectors - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|count|Yes|Flow Records|Count|Average|Flow Records Processed by ATC.|RoleInstance| -|usage_active|Yes|CPU Usage|Percent|Average|CPU Usage Percentage.|Hostname| -|used_percent|Yes|Memory Usage|Percent|Average|Memory Usage Percentage.|Hostname| - - -## Microsoft.NotificationHubs/Namespaces/NotificationHubs - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|incoming|Yes|Incoming Messages|Count|Total|The count of all successful send API calls. |No Dimensions| -|incoming.all.failedrequests|Yes|All Incoming Failed Requests|Count|Total|Total incoming failed requests for a notification hub|No Dimensions| -|incoming.all.requests|Yes|All Incoming Requests|Count|Total|Total incoming requests for a notification hub|No Dimensions| -|incoming.scheduled|Yes|Scheduled Push Notifications Sent|Count|Total|Scheduled Push Notifications Sent|No Dimensions| -|incoming.scheduled.cancel|Yes|Scheduled Push Notifications Cancelled|Count|Total|Scheduled Push Notifications Cancelled|No Dimensions| -|installation.all|Yes|Installation Management Operations|Count|Total|Installation Management Operations|No Dimensions| -|installation.delete|Yes|Delete Installation Operations|Count|Total|Delete Installation Operations|No Dimensions| -|installation.get|Yes|Get Installation Operations|Count|Total|Get Installation Operations|No Dimensions| -|installation.patch|Yes|Patch Installation Operations|Count|Total|Patch Installation Operations|No Dimensions| -|installation.upsert|Yes|Create or Update Installation Operations|Count|Total|Create or Update Installation Operations|No Dimensions| -|notificationhub.pushes|Yes|All Outgoing Notifications|Count|Total|All outgoing notifications of the notification hub|No Dimensions| -|outgoing.allpns.badorexpiredchannel|Yes|Bad or Expired Channel Errors|Count|Total|The count of pushes that failed because the channel/token/registrationId in the registration was expired or invalid.|No Dimensions| -|outgoing.allpns.channelerror|Yes|Channel Errors|Count|Total|The count of pushes that failed because the channel was invalid not associated with the correct app throttled or expired.|No Dimensions| -|outgoing.allpns.invalidpayload|Yes|Payload Errors|Count|Total|The count of pushes that failed because the PNS returned a bad payload error.|No Dimensions| -|outgoing.allpns.pnserror|Yes|External Notification System Errors|Count|Total|The count of pushes that failed because there was a problem communicating with the PNS (excludes authentication problems).|No Dimensions| -|outgoing.allpns.success|Yes|Successful notifications|Count|Total|The count of all successful notifications.|No Dimensions| -|outgoing.apns.badchannel|Yes|APNS Bad Channel Error|Count|Total|The count of pushes that failed because the token is invalid (APNS status code: 8).|No Dimensions| -|outgoing.apns.expiredchannel|Yes|APNS Expired Channel Error|Count|Total|The count of token that were invalidated by the APNS feedback channel.|No Dimensions| -|outgoing.apns.invalidcredentials|Yes|APNS Authorization Errors|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| -|outgoing.apns.invalidnotificationsize|Yes|APNS Invalid Notification Size Error|Count|Total|The count of pushes that failed because the payload was too large (APNS status code: 7).|No Dimensions| -|outgoing.apns.pnserror|Yes|APNS Errors|Count|Total|The count of pushes that failed because of errors communicating with APNS.|No Dimensions| -|outgoing.apns.success|Yes|APNS Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| -|outgoing.gcm.authenticationerror|Yes|GCM Authentication Errors|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials the credentials are blocked or the SenderId is not correctly configured in the app (GCM result: MismatchedSenderId).|No Dimensions| -|outgoing.gcm.badchannel|Yes|GCM Bad Channel Error|Count|Total|The count of pushes that failed because the registrationId in the registration was not recognized (GCM result: Invalid Registration).|No Dimensions| -|outgoing.gcm.expiredchannel|Yes|GCM Expired Channel Error|Count|Total|The count of pushes that failed because the registrationId in the registration was expired (GCM result: NotRegistered).|No Dimensions| -|outgoing.gcm.invalidcredentials|Yes|GCM Authorization Errors (Invalid Credentials)|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| -|outgoing.gcm.invalidnotificationformat|Yes|GCM Invalid Notification Format|Count|Total|The count of pushes that failed because the payload was not formatted correctly (GCM result: InvalidDataKey or InvalidTtl).|No Dimensions| -|outgoing.gcm.invalidnotificationsize|Yes|GCM Invalid Notification Size Error|Count|Total|The count of pushes that failed because the payload was too large (GCM result: MessageTooBig).|No Dimensions| -|outgoing.gcm.pnserror|Yes|GCM Errors|Count|Total|The count of pushes that failed because of errors communicating with GCM.|No Dimensions| -|outgoing.gcm.success|Yes|GCM Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| -|outgoing.gcm.throttled|Yes|GCM Throttled Notifications|Count|Total|The count of pushes that failed because GCM throttled this app (GCM status code: 501-599 or result:Unavailable).|No Dimensions| -|outgoing.gcm.wrongchannel|Yes|GCM Wrong Channel Error|Count|Total|The count of pushes that failed because the registrationId in the registration is not associated to the current app (GCM result: InvalidPackageName).|No Dimensions| -|outgoing.mpns.authenticationerror|Yes|MPNS Authentication Errors|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| -|outgoing.mpns.badchannel|Yes|MPNS Bad Channel Error|Count|Total|The count of pushes that failed because the ChannelURI in the registration was not recognized (MPNS status: 404 not found).|No Dimensions| -|outgoing.mpns.channeldisconnected|Yes|MPNS Channel Disconnected|Count|Total|The count of pushes that failed because the ChannelURI in the registration was disconnected (MPNS status: 412 not found).|No Dimensions| -|outgoing.mpns.dropped|Yes|MPNS Dropped Notifications|Count|Total|The count of pushes that were dropped by MPNS (MPNS response header: X-NotificationStatus: QueueFull or Suppressed).|No Dimensions| -|outgoing.mpns.invalidcredentials|Yes|MPNS Invalid Credentials|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked.|No Dimensions| -|outgoing.mpns.invalidnotificationformat|Yes|MPNS Invalid Notification Format|Count|Total|The count of pushes that failed because the payload of the notification was too large.|No Dimensions| -|outgoing.mpns.pnserror|Yes|MPNS Errors|Count|Total|The count of pushes that failed because of errors communicating with MPNS.|No Dimensions| -|outgoing.mpns.success|Yes|MPNS Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| -|outgoing.mpns.throttled|Yes|MPNS Throttled Notifications|Count|Total|The count of pushes that failed because MPNS is throttling this app (WNS MPNS: 406 Not Acceptable).|No Dimensions| -|outgoing.wns.authenticationerror|Yes|WNS Authentication Errors|Count|Total|Notification not delivered because of errors communicating with Windows Live invalid credentials or wrong token.|No Dimensions| -|outgoing.wns.badchannel|Yes|WNS Bad Channel Error|Count|Total|The count of pushes that failed because the ChannelURI in the registration was not recognized (WNS status: 404 not found).|No Dimensions| -|outgoing.wns.channeldisconnected|Yes|WNS Channel Disconnected|Count|Total|The notification was dropped because the ChannelURI in the registration is throttled (WNS response header: X-WNS-DeviceConnectionStatus: disconnected).|No Dimensions| -|outgoing.wns.channelthrottled|Yes|WNS Channel Throttled|Count|Total|The notification was dropped because the ChannelURI in the registration is throttled (WNS response header: X-WNS-NotificationStatus:channelThrottled).|No Dimensions| -|outgoing.wns.dropped|Yes|WNS Dropped Notifications|Count|Total|The notification was dropped because the ChannelURI in the registration is throttled (X-WNS-NotificationStatus: dropped but not X-WNS-DeviceConnectionStatus: disconnected).|No Dimensions| -|outgoing.wns.expiredchannel|Yes|WNS Expired Channel Error|Count|Total|The count of pushes that failed because the ChannelURI is expired (WNS status: 410 Gone).|No Dimensions| -|outgoing.wns.invalidcredentials|Yes|WNS Authorization Errors (Invalid Credentials)|Count|Total|The count of pushes that failed because the PNS did not accept the provided credentials or the credentials are blocked. (Windows Live does not recognize the credentials).|No Dimensions| -|outgoing.wns.invalidnotificationformat|Yes|WNS Invalid Notification Format|Count|Total|The format of the notification is invalid (WNS status: 400). Note that WNS does not reject all invalid payloads.|No Dimensions| -|outgoing.wns.invalidnotificationsize|Yes|WNS Invalid Notification Size Error|Count|Total|The notification payload is too large (WNS status: 413).|No Dimensions| -|outgoing.wns.invalidtoken|Yes|WNS Authorization Errors (Invalid Token)|Count|Total|The token provided to WNS is not valid (WNS status: 401 Unauthorized).|No Dimensions| -|outgoing.wns.pnserror|Yes|WNS Errors|Count|Total|Notification not delivered because of errors communicating with WNS.|No Dimensions| -|outgoing.wns.success|Yes|WNS Successful Notifications|Count|Total|The count of all successful notifications.|No Dimensions| -|outgoing.wns.throttled|Yes|WNS Throttled Notifications|Count|Total|The count of pushes that failed because WNS is throttling this app (WNS status: 406 Not Acceptable).|No Dimensions| -|outgoing.wns.tokenproviderunreachable|Yes|WNS Authorization Errors (Unreachable)|Count|Total|Windows Live is not reachable.|No Dimensions| -|outgoing.wns.wrongtoken|Yes|WNS Authorization Errors (Wrong Token)|Count|Total|The token provided to WNS is valid but for another application (WNS status: 403 Forbidden). This can happen if the ChannelURI in the registration is associated with another app. Check that the client app is associated with the same app whose credentials are in the notification hub.|No Dimensions| -|registration.all|Yes|Registration Operations|Count|Total|The count of all successful registration operations (creations updates queries and deletions). |No Dimensions| -|registration.create|Yes|Registration Create Operations|Count|Total|The count of all successful registration creations.|No Dimensions| -|registration.delete|Yes|Registration Delete Operations|Count|Total|The count of all successful registration deletions.|No Dimensions| -|registration.get|Yes|Registration Read Operations|Count|Total|The count of all successful registration queries.|No Dimensions| -|registration.update|Yes|Registration Update Operations|Count|Total|The count of all successful registration updates.|No Dimensions| -|scheduled.pending|Yes|Pending Scheduled Notifications|Count|Total|Pending Scheduled Notifications|No Dimensions| - - -## Microsoft.OperationalInsights/workspaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Average_% Available Memory|Yes|% Available Memory|Count|Average|Average_% Available Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Available Swap Space|Yes|% Available Swap Space|Count|Average|Average_% Available Swap Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Committed Bytes In Use|Yes|% Committed Bytes In Use|Count|Average|Average_% Committed Bytes In Use|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% DPC Time|Yes|% DPC Time|Count|Average|Average_% DPC Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Free Inodes|Yes|% Free Inodes|Count|Average|Average_% Free Inodes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Free Space|Yes|% Free Space|Count|Average|Average_% Free Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Idle Time|Yes|% Idle Time|Count|Average|Average_% Idle Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Interrupt Time|Yes|% Interrupt Time|Count|Average|Average_% Interrupt Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% IO Wait Time|Yes|% IO Wait Time|Count|Average|Average_% IO Wait Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Nice Time|Yes|% Nice Time|Count|Average|Average_% Nice Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Privileged Time|Yes|% Privileged Time|Count|Average|Average_% Privileged Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Processor Time|Yes|% Processor Time|Count|Average|Average_% Processor Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Used Inodes|Yes|% Used Inodes|Count|Average|Average_% Used Inodes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Used Memory|Yes|% Used Memory|Count|Average|Average_% Used Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Used Space|Yes|% Used Space|Count|Average|Average_% Used Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% Used Swap Space|Yes|% Used Swap Space|Count|Average|Average_% Used Swap Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_% User Time|Yes|% User Time|Count|Average|Average_% User Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Available MBytes|Yes|Available MBytes|Count|Average|Average_Available MBytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Available MBytes Memory|Yes|Available MBytes Memory|Count|Average|Average_Available MBytes Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Available MBytes Swap|Yes|Available MBytes Swap|Count|Average|Average_Available MBytes Swap|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Avg. Disk sec/Read|Yes|Avg. Disk sec/Read|Count|Average|Average_Avg. Disk sec/Read|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Avg. Disk sec/Transfer|Yes|Avg. Disk sec/Transfer|Count|Average|Average_Avg. Disk sec/Transfer|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Avg. Disk sec/Write|Yes|Avg. Disk sec/Write|Count|Average|Average_Avg. Disk sec/Write|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Bytes Received/sec|Yes|Bytes Received/sec|Count|Average|Average_Bytes Received/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Bytes Sent/sec|Yes|Bytes Sent/sec|Count|Average|Average_Bytes Sent/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Bytes Total/sec|Yes|Bytes Total/sec|Count|Average|Average_Bytes Total/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Current Disk Queue Length|Yes|Current Disk Queue Length|Count|Average|Average_Current Disk Queue Length|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Disk Read Bytes/sec|Yes|Disk Read Bytes/sec|Count|Average|Average_Disk Read Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Disk Reads/sec|Yes|Disk Reads/sec|Count|Average|Average_Disk Reads/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Disk Transfers/sec|Yes|Disk Transfers/sec|Count|Average|Average_Disk Transfers/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Disk Write Bytes/sec|Yes|Disk Write Bytes/sec|Count|Average|Average_Disk Write Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Disk Writes/sec|Yes|Disk Writes/sec|Count|Average|Average_Disk Writes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Free Megabytes|Yes|Free Megabytes|Count|Average|Average_Free Megabytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Free Physical Memory|Yes|Free Physical Memory|Count|Average|Average_Free Physical Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Free Space in Paging Files|Yes|Free Space in Paging Files|Count|Average|Average_Free Space in Paging Files|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Free Virtual Memory|Yes|Free Virtual Memory|Count|Average|Average_Free Virtual Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Logical Disk Bytes/sec|Yes|Logical Disk Bytes/sec|Count|Average|Average_Logical Disk Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Page Reads/sec|Yes|Page Reads/sec|Count|Average|Average_Page Reads/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Page Writes/sec|Yes|Page Writes/sec|Count|Average|Average_Page Writes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Pages/sec|Yes|Pages/sec|Count|Average|Average_Pages/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Pct Privileged Time|Yes|Pct Privileged Time|Count|Average|Average_Pct Privileged Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Pct User Time|Yes|Pct User Time|Count|Average|Average_Pct User Time|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Physical Disk Bytes/sec|Yes|Physical Disk Bytes/sec|Count|Average|Average_Physical Disk Bytes/sec|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Processes|Yes|Processes|Count|Average|Average_Processes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Processor Queue Length|Yes|Processor Queue Length|Count|Average|Average_Processor Queue Length|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Size Stored In Paging Files|Yes|Size Stored In Paging Files|Count|Average|Average_Size Stored In Paging Files|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Bytes|Yes|Total Bytes|Count|Average|Average_Total Bytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Bytes Received|Yes|Total Bytes Received|Count|Average|Average_Total Bytes Received|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Bytes Transmitted|Yes|Total Bytes Transmitted|Count|Average|Average_Total Bytes Transmitted|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Collisions|Yes|Total Collisions|Count|Average|Average_Total Collisions|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Packets Received|Yes|Total Packets Received|Count|Average|Average_Total Packets Received|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Packets Transmitted|Yes|Total Packets Transmitted|Count|Average|Average_Total Packets Transmitted|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Rx Errors|Yes|Total Rx Errors|Count|Average|Average_Total Rx Errors|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Total Tx Errors|Yes|Total Tx Errors|Count|Average|Average_Total Tx Errors|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Uptime|Yes|Uptime|Count|Average|Average_Uptime|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Used MBytes Swap Space|Yes|Used MBytes Swap Space|Count|Average|Average_Used MBytes Swap Space|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Used Memory kBytes|Yes|Used Memory kBytes|Count|Average|Average_Used Memory kBytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Used Memory MBytes|Yes|Used Memory MBytes|Count|Average|Average_Used Memory MBytes|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Users|Yes|Users|Count|Average|Average_Users|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Average_Virtual Shared Memory|Yes|Virtual Shared Memory|Count|Average|Average_Virtual Shared Memory|Computer, ObjectName, InstanceName, CounterPath, SourceSystem| -|Event|Yes|Event|Count|Average|Event|Source, EventLog, Computer, EventCategory, EventLevel, EventLevelName, EventID| -|Heartbeat|Yes|Heartbeat|Count|Total|Heartbeat|Computer, OSType, Version, SourceComputerId| -|Update|Yes|Update|Count|Average|Update|Computer, Product, Classification, UpdateState, Optional, Approved| - - -## Microsoft.Orbital/contactProfiles - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ContactFailure|Yes|Contact Failure Count|Count|Count|Denotes the number of failed Contacts for a specific Contact Profile|No Dimensions| -|ContactSuccess|Yes|Contact Success Count|Count|Count|Denotes the number of successful Contacts for a specific Contact Profile|No Dimensions| - - -## Microsoft.Orbital/l2Connections - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|InBitsRate|Yes|In Bits Rate|BitsPerSecond|Average|Ingress Bit Rate for the L2 connection|No Dimensions| -|InBroadcastPktCount|Yes|In Broadcast Packet Count|Count|Average|Ingress Broadcast Packet Count for the L2 connection|No Dimensions| -|InBytesPerVLAN|Yes|In Bytes Count Per Vlan|Count|Average|Ingress Subinterface Byte Count for the L2 connection|VLANID| -|InInterfaceBytes|Yes|In Bytes Count|Count|Average|Ingress Bytes Count for the L2 connection|No Dimensions| -|InMulticastPktCount|Yes|In Multicast Packet Count|Count|Average|Ingress Multicast Packet Count for the L2 connection|No Dimensions| -|InPktErrorCount|Yes|In Packet Error Count|Count|Average|Ingress Packet Error Count for the L2 connection|No Dimensions| -|InPktsRate|Yes|In Packets Rate|CountPerSecond|Average|Ingress Packet Rate for the L2 connection|No Dimensions| -|InTotalPktCount|Yes|In Packet Count|Count|Average|Ingress Packet Count for the L2 connection|No Dimensions| -|InUcastPktCount|Yes|In Unicast Packet Count|Count|Average|Ingress Unicast Packet Count for the L2 connection|No Dimensions| -|InUCastPktsPerVLAN|Yes|In Unicast Packet Count Per Vlan|Count|Average|Ingress Subinterface Unicast Packet Count for the L2 connection|VLANID| -|OutBitsRate|Yes|Out Bits Rate|BitsPerSecond|Average|Egress Bit Rate for the L2 connection|No Dimensions| -|OutBroadcastPktCount|Yes|Out Broadcast Packet Count Per Vlan|Count|Average|Egress Broadcast Packet Count for the L2 connection|No Dimensions| -|OutBytesPerVLAN|Yes|Out Bytes Count Per Vlan|Count|Average|Egress Subinterface Byte Count for the L2 connection|VLANID| -|OutInterfaceBytes|Yes|Out Bytes Count|Count|Average|Egress Bytes Count for the L2 connection|No Dimensions| -|OutMulticastPktCount|Yes|Out Multicast Packet Count|Count|Average|Egress Multicast Packet Count for the L2 connection|No Dimensions| -|OutPktErrorCount|Yes|Out Packet Error Count|Count|Average|Egress Packet Error Count for the L2 connection|No Dimensions| -|OutPktsRate|Yes|Out Packets Rate|CountPerSecond|Average|Egress Packet Rate for the L2 connection|No Dimensions| -|OutUcastPktCount|Yes|Out Unicast Packet Count|Count|Average|Egress Unicast Packet Count for the L2 connection|No Dimensions| -|OutUCastPktsPerVLAN|Yes|Out Unicast Packet Count Per Vlan|Count|Average|Egress Subinterface Unicast Packet Count for the L2 connection|VLANID| - - -## Microsoft.Orbital/spacecrafts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ContactFailure|Yes|Contact Failure Count|Count|Count|Denotes the number of failed Contacts for a specific Spacecraft|No Dimensions| -|ContactSuccess|Yes|Contact Success Count|Count|Count|Denotes the number of successful Contacts for a specific Spacecraft|No Dimensions| - - -## Microsoft.Peering/peerings - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|EgressTrafficRate|Yes|Egress Traffic Rate|BitsPerSecond|Average|Egress traffic rate in bits per second|ConnectionId, SessionIp, TrafficClass| -|IngressTrafficRate|Yes|Ingress Traffic Rate|BitsPerSecond|Average|Ingress traffic rate in bits per second|ConnectionId, SessionIp, TrafficClass| -|SessionAvailability|Yes|Session Availability|Count|Average|Availability of the peering session|ConnectionId, SessionIp| - - -## Microsoft.Peering/peeringServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|PrefixLatency|Yes|Prefix Latency|Milliseconds|Average|Median prefix latency|PrefixName| -|RoundTripTime|Yes|Round Trip Time|Milliseconds|Average|Average round trip time|ConnectionMonitorTestName| - - -## Microsoft.PowerBIDedicated/capacities - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|cpu_metric|Yes|CPU (Gen2)|Percent|Average|CPU Utilization. Supported only for Power BI Embedded Generation 2 resources.|No Dimensions| -|overload_metric|Yes|Overload (Gen2)|Count|Average|Resource Overload, 1 if resource is overloaded, otherwise 0. Supported only for Power BI Embedded Generation 2 resources.|No Dimensions| - - -## Microsoft.Purview/accounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ScanBillingUnits|Yes|Scan Billing Units|Count|Total|Indicates the scan billing units.|ResourceId| -|ScanCancelled|Yes|Scan Cancelled|Count|Total|Indicates the number of scans cancelled.|ResourceId| -|ScanCompleted|Yes|Scan Completed|Count|Total|Indicates the number of scans completed successfully.|ResourceId| -|ScanFailed|Yes|Scan Failed|Count|Total|Indicates the number of scans failed.|ResourceId| -|ScanTimeTaken|Yes|Scan time taken|Seconds|Total|Indicates the total scan time in seconds.|ResourceId| - - -## Microsoft.RecoveryServices/Vaults - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BackupHealthEvent|Yes|Backup Health Events (preview)|Count|Count|The count of health events pertaining to backup job health|dataSourceURL, backupInstanceUrl, dataSourceType, healthStatus, backupInstanceName| -|RestoreHealthEvent|Yes|Restore Health Events (preview)|Count|Count|The count of health events pertaining to restore job health|dat - - -## Microsoft.Relay/namespaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActiveConnections|No|ActiveConnections|Count|Total|Total ActiveConnections for Microsoft.Relay.|EntityName| -|ActiveListeners|No|ActiveListeners|Count|Total|Total ActiveListeners for Microsoft.Relay.|EntityName| -|BytesTransferred|Yes|BytesTransferred|Bytes|Total|Total BytesTransferred for Microsoft.Relay.|EntityName| -|ListenerConnections-ClientError|No|ListenerConnections-ClientError|Count|Total|ClientError on ListenerConnections for Microsoft.Relay.|EntityName, | -|ListenerConnections-ServerError|No|ListenerConnections-ServerError|Count|Total|ServerError on ListenerConnections for Microsoft.Relay.|EntityName, | -|ListenerConnections-Success|No|ListenerConnections-Success|Count|Total|Successful ListenerConnections for Microsoft.Relay.|EntityName, | -|ListenerConnections-TotalRequests|No|ListenerConnections-TotalRequests|Count|Total|Total ListenerConnections for Microsoft.Relay.|EntityName| -|ListenerDisconnects|No|ListenerDisconnects|Count|Total|Total ListenerDisconnects for Microsoft.Relay.|EntityName| -|SenderConnections-ClientError|No|SenderConnections-ClientError|Count|Total|ClientError on SenderConnections for Microsoft.Relay.|EntityName, | -|SenderConnections-ServerError|No|SenderConnections-ServerError|Count|Total|ServerError on SenderConnections for Microsoft.Relay.|EntityName, | -|SenderConnections-Success|No|SenderConnections-Success|Count|Total|Successful SenderConnections for Microsoft.Relay.|EntityName, | -|SenderConnections-TotalRequests|No|SenderConnections-TotalRequests|Count|Total|Total SenderConnections requests for Microsoft.Relay.|EntityName| -|SenderDisconnects|No|SenderDisconnects|Count|Total|Total SenderDisconnects for Microsoft.Relay.|EntityName| - - -## microsoft.resources/subscriptions - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Latency|No|Latency|Seconds|Average|Latency data for all requests to Azure Resource Manager|IsCustomerOriginated, Method, Namespace, RequestRegion, ResourceType, StatusCode, StatusCodeClass, Microsoft.SubscriptionId| -|Traffic|No|Traffic|Count|Count|Traffic data for all requests to Azure Resource Manager|IsCustomerOriginated, Method, Namespace, RequestRegion, ResourceType, StatusCode, StatusCodeClass, Microsoft.SubscriptionId| - - -## Microsoft.Search/searchServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|SearchLatency|Yes|Search Latency|Seconds|Average|Average search latency for the search service|No Dimensions| -|SearchQueriesPerSecond|Yes|Search queries per second|CountPerSecond|Average|Search queries per second for the search service|No Dimensions| -|ThrottledSearchQueriesPercentage|Yes|Throttled search queries percentage|Percent|Average|Percentage of search queries that were throttled for the search service|No Dimensions| - - -## microsoft.securitydetonation/chambers - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CapacityUtilization|No|Capacity Utilization|Percent|Maximum|The percentage of the allocated capacity the resource is actively using.|Region| -|CpuUtilization|No|CPU Utilization|Percent|Average|The percentage of the CPU that is being utilized across the resource.|Region| -|CreateSubmissionApiResult|No|CreateSubmission Api Results|Count|Count|The total number of CreateSubmission API requests, with return code.|OperationName, ServiceTypeName, Region, HttpReturnCode| -|PercentFreeDiskSpace|No|Available Disk Space|Percent|Average|The percent amount of available disk space across the resource.|Region| -|SubmissionDuration|No|Submission Duration|MilliSeconds|Maximum|The submission duration (processing time), from creation to completion.|Region| -|SubmissionsCompleted|No|Completed Submissions / Hr|Count|Maximum|The number of completed submissions / Hr.|Region| -|SubmissionsFailed|No|Failed Submissions / Hr|Count|Maximum|The number of failed submissions / Hr.|Region| -|SubmissionsOutstanding|No|Outstanding Submissions|Count|Average|The average number of outstanding submissions that are queued for processing.|Region| -|SubmissionsSucceeded|No|Successful Submissions / Hr|Count|Maximum|The number of successful submissions / Hr.|Region| - - -## Microsoft.ServiceBus/namespaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AbandonMessage|Yes|Abandoned Messages|Count|Total|Abandoned Messages|EntityName| -|ActiveConnections|No|ActiveConnections|Count|Total|Total Active Connections for Microsoft.ServiceBus.|No Dimensions| -|ActiveMessages|No|Count of active messages in a Queue/Topic.|Count|Average|Count of active messages in a Queue/Topic.|EntityName| -|CompleteMessage|Yes|Completed Messages|Count|Total|Completed Messages|EntityName| -|ConnectionsClosed|No|Connections Closed.|Count|Average|Connections Closed for Microsoft.ServiceBus.|EntityName| -|ConnectionsOpened|No|Connections Opened.|Count|Average|Connections Opened for Microsoft.ServiceBus.|EntityName| -|CPUXNS|No|CPU (Deprecated)|Percent|Maximum|Service bus premium namespace CPU usage metric. This metric is depricated. Please use the CPU metric (NamespaceCpuUsage) instead.|No Dimensions| -|DeadletteredMessages|No|Count of dead-lettered messages in a Queue/Topic.|Count|Average|Count of dead-lettered messages in a Queue/Topic.|EntityName| -|IncomingMessages|Yes|Incoming Messages|Count|Total|Incoming Messages for Microsoft.ServiceBus.|EntityName| -|IncomingRequests|Yes|Incoming Requests|Count|Total|Incoming Requests for Microsoft.ServiceBus.|EntityName| -|Messages|No|Count of messages in a Queue/Topic.|Count|Average|Count of messages in a Queue/Topic.|EntityName| -|NamespaceCpuUsage|No|CPU|Percent|Maximum|CPU usage metric for Premium SKU namespaces.|No Dimensions| -|NamespaceMemoryUsage|No|Memory Usage|Percent|Maximum|Memory usage metric for Premium SKU namespaces.|No Dimensions| -|OutgoingMessages|Yes|Outgoing Messages|Count|Total|Outgoing Messages for Microsoft.ServiceBus.|EntityName| -|PendingCheckpointOperationCount|No|Pending Checkpoint Operations Count.|Count|Total|Pending Checkpoint Operations Count.|No Dimensions| -|ScheduledMessages|No|Count of scheduled messages in a Queue/Topic.|Count|Average|Count of scheduled messages in a Queue/Topic.|EntityName| -|ServerErrors|No|Server Errors.|Count|Total|Server Errors for Microsoft.ServiceBus.|EntityName, | -|ServerSendLatency|Yes|Server Send Latency.|Milliseconds|Average|Server Send Latency.|EntityName| -|Size|No|Size|Bytes|Average|Size of an Queue/Topic in Bytes.|EntityName| -|SuccessfulRequests|No|Successful Requests|Count|Total|Total successful requests for a namespace|EntityName, | -|ThrottledRequests|No|Throttled Requests.|Count|Total|Throttled Requests for Microsoft.ServiceBus.|EntityName, MessagingErrorSubCode| -|UserErrors|No|User Errors.|Count|Total|User Errors for Microsoft.ServiceBus.|EntityName, | -|WSXNS|No|Memory Usage (Deprecated)|Percent|Maximum|Service bus premium namespace memory usage metric. This metric is deprecated. Please use the Memory Usage (NamespaceMemoryUsage) metric instead.|No Dimensions| - - -## Microsoft.SignalRService/SignalR - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ConnectionCount|Yes|Connection Count|Count|Maximum|The amount of user connection.|Endpoint| -|ConnectionQuotaUtilization|Yes|Connection Quota Utilization|Percent|Maximum|The percentage of connection connected relative to connection quota.|No Dimensions| -|InboundTraffic|Yes|Inbound Traffic|Bytes|Total|The inbound traffic of service|No Dimensions| -|MessageCount|Yes|Message Count|Count|Total|The total amount of messages.|No Dimensions| -|OutboundTraffic|Yes|Outbound Traffic|Bytes|Total|The outbound traffic of service|No Dimensions| -|SystemErrors|Yes|System Errors|Percent|Maximum|The percentage of system errors|No Dimensions| -|UserErrors|Yes|User Errors|Percent|Maximum|The percentage of user errors|No Dimensions| - - -## Microsoft.SignalRService/WebPubSub - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|InboundTraffic|Yes|Inbound Traffic|Bytes|Total|The inbound traffic of service|No Dimensions| -|OutboundTraffic|Yes|Outbound Traffic|Bytes|Total|The outbound traffic of service|No Dimensions| -|TotalConnectionCount|Yes|Connection Count|Count|Maximum|The amount of user connection.|No Dimensions| - - -## Microsoft.Sql/managedInstances - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|avg_cpu_percent|Yes|Average CPU percentage|Percent|Average|Average CPU percentage|No Dimensions| -|io_bytes_read|Yes|IO bytes read|Bytes|Average|IO bytes read|No Dimensions| -|io_bytes_written|Yes|IO bytes written|Bytes|Average|IO bytes written|No Dimensions| -|io_requests|Yes|IO requests count|Count|Average|IO requests count|No Dimensions| -|reserved_storage_mb|Yes|Storage space reserved|Count|Average|Storage space reserved|No Dimensions| -|storage_space_used_mb|Yes|Storage space used|Count|Average|Storage space used|No Dimensions| -|virtual_core_count|Yes|Virtual core count|Count|Average|Virtual core count|No Dimensions| - - -## Microsoft.Sql/servers/databases - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|active_queries|Yes|Active queries|Count|Total|Active queries across all workload groups. Applies only to data warehouses.|No Dimensions| -|allocated_data_storage|Yes|Data space allocated|Bytes|Average|Allocated data storage. Not applicable to data warehouses.|No Dimensions| -|app_cpu_billed|Yes|App CPU billed|Count|Total|App CPU billed. Applies to serverless databases.|No Dimensions| -|app_cpu_percent|Yes|App CPU percentage|Percent|Average|App CPU percentage. Applies to serverless databases.|No Dimensions| -|app_memory_percent|Yes|App memory percentage|Percent|Average|App memory percentage. Applies to serverless databases.|No Dimensions| -|base_blob_size_bytes|Yes|Data storage size|Bytes|Maximum|Data storage size. Applies to Hyperscale databases.|No Dimensions| -|blocked_by_firewall|Yes|Blocked by Firewall|Count|Total|Blocked by Firewall|No Dimensions| -|cache_hit_percent|Yes|Cache hit percentage|Percent|Maximum|Cache hit percentage. Applies only to data warehouses.|No Dimensions| -|cache_used_percent|Yes|Cache used percentage|Percent|Maximum|Cache used percentage. Applies only to data warehouses.|No Dimensions| -|connection_failed|Yes|Failed Connections|Count|Total|Failed Connections|No Dimensions| -|connection_successful|Yes|Successful Connections|Count|Total|Successful Connections|No Dimensions| -|cpu_limit|Yes|CPU limit|Count|Average|CPU limit. Applies to vCore-based databases.|No Dimensions| -|cpu_percent|Yes|CPU percentage|Percent|Average|CPU percentage|No Dimensions| -|cpu_used|Yes|CPU used|Count|Average|CPU used. Applies to vCore-based databases.|No Dimensions| -|deadlock|Yes|Deadlocks|Count|Total|Deadlocks. Not applicable to data warehouses.|No Dimensions| -|delta_num_of_bytes_read|Yes|Remote data reads|Bytes|Total|Remote data reads in bytes|No Dimensions| -|delta_num_of_bytes_total|Yes|Total remote bytes read and written|Bytes|Total|Total remote bytes read and written by compute|No Dimensions| -|delta_num_of_bytes_written|Yes|Remote log writes|Bytes|Total|Remote log writes in bytes|No Dimensions| -|diff_backup_size_bytes|Yes|Differential backup storage size|Bytes|Maximum|Cumulative differential backup storage size. Applies to vCore-based databases. Not applicable to Hyperscale databases.|No Dimensions| -|dtu_consumption_percent|Yes|DTU percentage|Percent|Average|DTU Percentage. Applies to DTU-based databases.|No Dimensions| -|dtu_limit|Yes|DTU Limit|Count|Average|DTU Limit. Applies to DTU-based databases.|No Dimensions| -|dtu_used|Yes|DTU used|Count|Average|DTU used. Applies to DTU-based databases.|No Dimensions| -|dwu_consumption_percent|Yes|DWU percentage|Percent|Maximum|DWU percentage. Applies only to data warehouses.|No Dimensions| -|dwu_limit|Yes|DWU limit|Count|Maximum|DWU limit. Applies only to data warehouses.|No Dimensions| -|dwu_used|Yes|DWU used|Count|Maximum|DWU used. Applies only to data warehouses.|No Dimensions| -|full_backup_size_bytes|Yes|Full backup storage size|Bytes|Maximum|Cumulative full backup storage size. Applies to vCore-based databases. Not applicable to Hyperscale databases.|No Dimensions| -|local_tempdb_usage_percent|Yes|Local tempdb percentage|Percent|Average|Local tempdb percentage. Applies only to data warehouses.|No Dimensions| -|log_backup_size_bytes|Yes|Log backup storage size|Bytes|Maximum|Cumulative log backup storage size. Applies to vCore-based and Hyperscale databases.|No Dimensions| -|log_write_percent|Yes|Log IO percentage|Percent|Average|Log IO percentage. Not applicable to data warehouses.|No Dimensions| -|memory_usage_percent|Yes|Memory percentage|Percent|Maximum|Memory percentage. Applies only to data warehouses.|No Dimensions| -|physical_data_read_percent|Yes|Data IO percentage|Percent|Average|Data IO percentage|No Dimensions| -|queued_queries|Yes|Queued queries|Count|Total|Queued queries across all workload groups. Applies only to data warehouses.|No Dimensions| -|sessions_percent|Yes|Sessions percentage|Percent|Average|Sessions percentage. Not applicable to data warehouses.|No Dimensions| -|snapshot_backup_size_bytes|Yes|Data backup storage size|Bytes|Maximum|Cumulative data backup storage size. Applies to Hyperscale databases.|No Dimensions| -|sqlserver_process_core_percent|Yes|SQL Server process core percent|Percent|Maximum|CPU usage as a percentage of the SQL DB process. Not applicable to data warehouses.|No Dimensions| -|sqlserver_process_memory_percent|Yes|SQL Server process memory percent|Percent|Maximum|Memory usage as a percentage of the SQL DB process. Not applicable to data warehouses.|No Dimensions| -|storage|Yes|Data space used|Bytes|Maximum|Data space used. Not applicable to data warehouses.|No Dimensions| -|storage_percent|Yes|Data space used percent|Percent|Maximum|Data space used percent. Not applicable to data warehouses or hyperscale databases.|No Dimensions| -|tempdb_data_size|Yes|Tempdb Data File Size Kilobytes|Count|Maximum|Space used in tempdb data files in kilobytes. Not applicable to data warehouses.|No Dimensions| -|tempdb_log_size|Yes|Tempdb Log File Size Kilobytes|Count|Maximum|Space used in tempdb transaction log file in kilobytes. Not applicable to data warehouses.|No Dimensions| -|tempdb_log_used_percent|Yes|Tempdb Percent Log Used|Percent|Maximum|Space used percentage in tempdb transaction log file. Not applicable to data warehouses.|No Dimensions| -|wlg_active_queries|Yes|Workload group active queries|Count|Total|Active queries within the workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| -|wlg_active_queries_timeouts|Yes|Workload group query timeouts|Count|Total|Queries that have timed out for the workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| -|wlg_allocation_relative_to_system_percent|Yes|Workload group allocation by system percent|Percent|Maximum|Allocated percentage of resources relative to the entire system per workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| -|wlg_allocation_relative_to_wlg_effective_cap_percent|Yes|Workload group allocation by cap resource percent|Percent|Maximum|Allocated percentage of resources relative to the specified cap resources per workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| -|wlg_effective_cap_resource_percent|Yes|Effective cap resource percent|Percent|Maximum|A hard limit on the percentage of resources allowed for the workload group, taking into account Effective Min Resource Percentage allocated for other workload groups. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| -|wlg_effective_min_resource_percent|Yes|Effective min resource percent|Percent|Maximum|Minimum percentage of resources reserved and isolated for the workload group, taking into account the service level minimum. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| -|wlg_queued_queries|Yes|Workload group queued queries|Count|Total|Queued queries within the workload group. Applies only to data warehouses.|WorkloadGroupName, IsUserDefined| -|workers_percent|Yes|Workers percentage|Percent|Average|Workers percentage. Not applicable to data warehouses.|No Dimensions| -|xtp_storage_percent|Yes|In-Memory OLTP storage percent|Percent|Average|In-Memory OLTP storage percent. Not applicable to data warehouses.|No Dimensions| - - -## Microsoft.Sql/servers/elasticPools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|allocated_data_storage|Yes|Data space allocated|Bytes|Average|Data space allocated|No Dimensions| -|allocated_data_storage_percent|Yes|Data space allocated percent|Percent|Maximum|Data space allocated percent|No Dimensions| -|app_cpu_billed|Yes|App CPU billed|Count|Total|App CPU billed. Applies to serverless databases.|No Dimensions| -|app_cpu_percent|Yes|App CPU percentage|Percent|Average|App CPU percentage. Applies to serverless databases.|No Dimensions| -|app_memory_percent|Yes|App memory percentage|Percent|Average|App memory percentage. Applies to serverless databases.|No Dimensions| -|cpu_limit|Yes|CPU limit|Count|Average|CPU limit. Applies to vCore-based elastic pools.|No Dimensions| -|cpu_percent|Yes|CPU percentage|Percent|Average|CPU percentage|No Dimensions| -|cpu_used|Yes|CPU used|Count|Average|CPU used. Applies to vCore-based elastic pools.|No Dimensions| -|database_allocated_data_storage|No|Data space allocated|Bytes|Average|Data space allocated|DatabaseResourceId| -|database_cpu_limit|No|CPU limit|Count|Average|CPU limit|DatabaseResourceId| -|database_cpu_percent|No|CPU percentage|Percent|Average|CPU percentage|DatabaseResourceId| -|database_cpu_used|No|CPU used|Count|Average|CPU used|DatabaseResourceId| -|database_dtu_consumption_percent|No|DTU percentage|Percent|Average|DTU percentage|DatabaseResourceId| -|database_eDTU_used|No|eDTU used|Count|Average|eDTU used|DatabaseResourceId| -|database_log_write_percent|No|Log IO percentage|Percent|Average|Log IO percentage|DatabaseResourceId| -|database_physical_data_read_percent|No|Data IO percentage|Percent|Average|Data IO percentage|DatabaseResourceId| -|database_sessions_percent|No|Sessions percentage|Percent|Average|Sessions percentage|DatabaseResourceId| -|database_storage_used|No|Data space used|Bytes|Average|Data space used|DatabaseResourceId| -|database_workers_percent|No|Workers percentage|Percent|Average|Workers percentage|DatabaseResourceId| -|dtu_consumption_percent|Yes|DTU percentage|Percent|Average|DTU Percentage. Applies to DTU-based elastic pools.|No Dimensions| -|eDTU_limit|Yes|eDTU limit|Count|Average|eDTU limit. Applies to DTU-based elastic pools.|No Dimensions| -|eDTU_used|Yes|eDTU used|Count|Average|eDTU used. Applies to DTU-based elastic pools.|No Dimensions| -|log_write_percent|Yes|Log IO percentage|Percent|Average|Log IO percentage|No Dimensions| -|physical_data_read_percent|Yes|Data IO percentage|Percent|Average|Data IO percentage|No Dimensions| -|sessions_percent|Yes|Sessions percentage|Percent|Average|Sessions percentage|No Dimensions| -|sqlserver_process_core_percent|Yes|SQL Server process core percent|Percent|Maximum|CPU usage as a percentage of the SQL DB process. Applies to elastic pools.|No Dimensions| -|sqlserver_process_memory_percent|Yes|SQL Server process memory percent|Percent|Maximum|Memory usage as a percentage of the SQL DB process. Applies to elastic pools.|No Dimensions| -|storage_limit|Yes|Data max size|Bytes|Average|Data max size|No Dimensions| -|storage_percent|Yes|Data space used percent|Percent|Average|Data space used percent|No Dimensions| -|storage_used|Yes|Data space used|Bytes|Average|Data space used|No Dimensions| -|tempdb_data_size|Yes|Tempdb Data File Size Kilobytes|Count|Maximum|Space used in tempdb data files in kilobytes.|No Dimensions| -|tempdb_log_size|Yes|Tempdb Log File Size Kilobytes|Count|Maximum|Space used in tempdb transaction log file in kilobytes.|No Dimensions| -|tempdb_log_used_percent|Yes|Tempdb Percent Log Used|Percent|Maximum|Space used percentage in tempdb transaction log file|No Dimensions| -|workers_percent|Yes|Workers percentage|Percent|Average|Workers percentage|No Dimensions| -|xtp_storage_percent|Yes|In-Memory OLTP storage percent|Percent|Average|In-Memory OLTP storage percent|No Dimensions| - - -## Microsoft.Storage/storageAccounts - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|SuccessE2ELatency|Yes|Success E2E Latency|MilliSeconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|MilliSeconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication, TransactionType| -|UsedCapacity|Yes|Used capacity|Bytes|Average|The amount of storage used by the storage account. For standard storage accounts, it's the sum of capacity used by blob, table, file, and queue. For premium storage accounts and Blob storage accounts, it is the same as BlobCapacity or FileCapacity.|No Dimensions| - - -## Microsoft.Storage/storageAccounts/blobServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|BlobCapacity|No|Blob Capacity|Bytes|Average|The amount of storage used by the storage account's Blob service in bytes.|BlobType, Tier| -|BlobCount|No|Blob Count|Count|Average|The number of blob objects stored in the storage account.|BlobType, Tier| -|BlobProvisionedSize|No|Blob Provisioned Size|Bytes|Average|The amount of storage provisioned in the storage account's Blob service in bytes.|BlobType, Tier| -|ContainerCount|Yes|Blob Container Count|Count|Average|The number of containers in the storage account.|No Dimensions| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|IndexCapacity|No|Index Capacity|Bytes|Average|The amount of storage used by Azure Data Lake Storage Gen2 hierarchical index.|No Dimensions| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| - - -## Microsoft.Storage/storageAccounts/fileServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication, FileShare| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication, FileShare| -|FileCapacity|No|File Capacity|Bytes|Average|The amount of File storage used by the storage account.|FileShare| -|FileCount|No|File Count|Count|Average|The number of files in the storage account.|FileShare| -|FileShareCapacityQuota|No|File Share Capacity Quota|Bytes|Average|The upper limit on the amount of storage that can be used by Azure Files Service in bytes.|FileShare| -|FileShareCount|No|File Share Count|Count|Average|The number of file shares in the storage account.|No Dimensions| -|FileShareProvisionedIOPS|No|File Share Provisioned IOPS|CountPerSecond|Average|The baseline number of provisioned IOPS for the premium file share in the premium files storage account. This number is calculated based on the provisioned size (quota) of the share capacity.|FileShare| -|FileShareSnapshotCount|No|File Share Snapshot Count|Count|Average|The number of snapshots present on the share in storage account's Files Service.|FileShare| -|FileShareSnapshotSize|No|File Share Snapshot Size|Bytes|Average|The amount of storage used by the snapshots in storage account's File service in bytes.|FileShare| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication, FileShare| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication, FileShare| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication, FileShare| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication, FileShare| - - -## Microsoft.Storage/storageAccounts/queueServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|QueueCapacity|Yes|Queue Capacity|Bytes|Average|The amount of Queue storage used by the storage account.|No Dimensions| -|QueueCount|Yes|Queue Count|Count|Average|The number of queues in the storage account.|No Dimensions| -|QueueMessageCount|Yes|Queue Message Count|Count|Average|The number of unexpired queue messages in the storage account.|No Dimensions| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| - - -## Microsoft.Storage/storageAccounts/tableServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Availability|Yes|Availability|Percent|Average|The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.|GeoType, ApiName, Authentication| -|Egress|Yes|Egress|Bytes|Total|The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.|GeoType, ApiName, Authentication| -|Ingress|Yes|Ingress|Bytes|Total|The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.|GeoType, ApiName, Authentication| -|SuccessE2ELatency|Yes|Success E2E Latency|Milliseconds|Average|The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.|GeoType, ApiName, Authentication| -|SuccessServerLatency|Yes|Success Server Latency|Milliseconds|Average|The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.|GeoType, ApiName, Authentication| -|TableCapacity|Yes|Table Capacity|Bytes|Average|The amount of Table storage used by the storage account.|No Dimensions| -|TableCount|Yes|Table Count|Count|Average|The number of tables in the storage account.|No Dimensions| -|TableEntityCount|Yes|Table Entity Count|Count|Average|The number of table entities in the storage account.|No Dimensions| -|Transactions|Yes|Transactions|Count|Total|The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests which produced errors. Use ResponseType dimension for the number of different types of response.|ResponseType, GeoType, ApiName, Authentication| - - -## Microsoft.StorageCache/caches - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ClientIOPS|Yes|Total Client IOPS|Count|Average|The rate of client file operations processed by the Cache.|No Dimensions| -|ClientLatency|Yes|Average Client Latency|Milliseconds|Average|Average latency of client file operations to the Cache.|No Dimensions| -|ClientLockIOPS|Yes|Client Lock IOPS|CountPerSecond|Average|Client file locking operations per second.|No Dimensions| -|ClientMetadataReadIOPS|Yes|Client Metadata Read IOPS|CountPerSecond|Average|The rate of client file operations sent to the Cache, excluding data reads, that do not modify persistent state.|No Dimensions| -|ClientMetadataWriteIOPS|Yes|Client Metadata Write IOPS|CountPerSecond|Average|The rate of client file operations sent to the Cache, excluding data writes, that modify persistent state.|No Dimensions| -|ClientReadIOPS|Yes|Client Read IOPS|CountPerSecond|Average|Client read operations per second.|No Dimensions| -|ClientReadThroughput|Yes|Average Cache Read Throughput|BytesPerSecond|Average|Client read data transfer rate.|No Dimensions| -|ClientStatus|Yes|Client Status|Count|Total|Client connection information.|ClientSource, CacheAddress, ClientAddress, Protocol, ConnectionType| -|ClientWriteIOPS|Yes|Client Write IOPS|CountPerSecond|Average|Client write operations per second.|No Dimensions| -|ClientWriteThroughput|Yes|Average Cache Write Throughput|BytesPerSecond|Average|Client write data transfer rate.|No Dimensions| -|FileOps|Yes|File Operations|CountPerSecond|Average|Number of file operations per second.|SourceFile, Rank, FileType| -|FileReads|Yes|File Reads|BytesPerSecond|Average|Number of bytes per second read from a file.|SourceFile, Rank, FileType| -|FileUpdates|Yes|File Updates|CountPerSecond|Average|Number of directory updates and metadata operations per second.|SourceFile, Rank, FileType| -|FileWrites|Yes|File Writes|BytesPerSecond|Average|Number of bytes per second written to a file.|SourceFile, Rank, FileType| -|StorageTargetAsyncWriteThroughput|Yes|StorageTarget Asynchronous Write Throughput|BytesPerSecond|Average|The rate the Cache asynchronously writes data to a particular StorageTarget. These are opportunistic writes that do not cause clients to block.|StorageTarget| -|StorageTargetBlocksRecycled|Yes|Storage Target Blocks Recycled|Count|Average|Total number of 16k cache blocks recycled (freed) per Storage Target.|StorageTarget| -|StorageTargetFillThroughput|Yes|StorageTarget Fill Throughput|BytesPerSecond|Average|The rate the Cache reads data from the StorageTarget to handle a cache miss.|StorageTarget| -|StorageTargetFreeReadSpace|Yes|Storage Target Free Read Space|Bytes|Average|Read space available for caching files associated with a storage target.|StorageTarget| -|StorageTargetFreeWriteSpace|Yes|Storage Target Free Write Space|Bytes|Average|Write space available for dirty data associated with a storage target.|StorageTarget| -|StorageTargetHealth|Yes|Storage Target Health|Count|Average|Boolean results of connectivity test between the Cache and Storage Targets.|No Dimensions| -|StorageTargetIOPS|Yes|Total StorageTarget IOPS|Count|Average|The rate of all file operations the Cache sends to a particular StorageTarget.|StorageTarget| -|StorageTargetLatency|Yes|StorageTarget Latency|Milliseconds|Average|The average round trip latency of all the file operations the Cache sends to a partricular StorageTarget.|StorageTarget| -|StorageTargetMetadataReadIOPS|Yes|StorageTarget Metadata Read IOPS|CountPerSecond|Average|The rate of file operations that do not modify persistent state, and excluding the read operation, that the Cache sends to a particular StorageTarget.|StorageTarget| -|StorageTargetMetadataWriteIOPS|Yes|StorageTarget Metadata Write IOPS|CountPerSecond|Average|The rate of file operations that do modify persistent state and excluding the write operation, that the Cache sends to a particular StorageTarget.|StorageTarget| -|StorageTargetReadAheadThroughput|Yes|StorageTarget Read Ahead Throughput|BytesPerSecond|Average|The rate the Cache opportunisticly reads data from the StorageTarget.|StorageTarget| -|StorageTargetReadIOPS|Yes|StorageTarget Read IOPS|CountPerSecond|Average|The rate of file read operations the Cache sends to a particular StorageTarget.|StorageTarget| -|StorageTargetRecycleRate|Yes|Storage Target Recycle Rate|BytesPerSecond|Average|Cache space recycle rate associated with a storage target in the HPC Cache. This is the rate at which existing data is cleared from the cache to make room for new data.|StorageTarget| -|StorageTargetSyncWriteThroughput|Yes|StorageTarget Synchronous Write Throughput|BytesPerSecond|Average|The rate the Cache synchronously writes data to a particular StorageTarget. These are writes that do cause clients to block.|StorageTarget| -|StorageTargetTotalReadThroughput|Yes|StorageTarget Total Read Throughput|BytesPerSecond|Average|The total rate that the Cache reads data from a particular StorageTarget.|StorageTarget| -|StorageTargetTotalWriteThroughput|Yes|StorageTarget Total Write Throughput|BytesPerSecond|Average|The total rate that the Cache writes data to a particular StorageTarget.|StorageTarget| -|StorageTargetUsedReadSpace|Yes|Storage Target Used Read Space|Bytes|Average|Read space used by cached files associated with a storage target.|StorageTarget| -|StorageTargetUsedWriteSpace|Yes|Storage Target Used Write Space|Bytes|Average|Write space used by dirty data associated with a storage target.|StorageTarget| -|StorageTargetWriteIOPS|Yes|StorageTarget Write IOPS|Count|Average|The rate of the file write operations the Cache sends to a particular StorageTarget.|StorageTarget| -|TotalBlocksRecycled|Yes|Total Blocks Recycled|Count|Average|Total number of 16k cache blocks recycled (freed) for the HPC Cache.|No Dimensions| -|TotalFreeReadSpace|Yes|Free Read Space|Bytes|Average|Total space available for caching read files.|No Dimensions| -|TotalFreeWriteSpace|Yes|Free Write Read Space|Bytes|Average|Total write space available to store changed data in the cache.|No Dimensions| -|TotalRecycleRate|Yes|Recycle Rate|BytesPerSecond|Average|Total cache space recycle rate in the HPC Cache. This is the rate at which existing data is cleared from the cache to make room for new data.|No Dimensions| -|TotalUsedReadSpace|Yes|Used Read Space|Bytes|Average|Total read space used by dirty data for the HPC Cache.|No Dimensions| -|TotalUsedWriteSpace|Yes|Used Write Space|Bytes|Average|Total write space used by dirty data for the HPC Cache.|No Dimensions| -|Uptime|Yes|Uptime|Count|Average|Boolean results of connectivity test between the Cache and monitoring system.|No Dimensions| - - -## Microsoft.StorageSync/storageSyncServices - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ServerSyncSessionResult|Yes|Sync Session Result|Count|Average|Metric that logs a value of 1 each time the Server Endpoint successfully completes a Sync Session with the Cloud Endpoint|SyncGroupName, ServerEndpointName, SyncDirection| -|StorageSyncBatchTransferredFileBytes|Yes|Bytes synced|Bytes|Total|Total file size transferred for Sync Sessions|SyncGroupName, ServerEndpointName, SyncDirection| -|StorageSyncComputedCacheHitRate|Yes|Cloud tiering cache hit rate|Percent|Average|Percentage of bytes that were served from the cache|SyncGroupName, ServerName, ServerEndpointName| -|StorageSyncRecallComputedSuccessRate|Yes|Cloud tiering recall success rate|Percent|Average|Percentage of all recalls that were successful|SyncGroupName, ServerName, ServerEndpointName| -|StorageSyncRecalledNetworkBytesByApplication|Yes|Cloud tiering recall size by application|Bytes|Total|Size of data recalled by application|SyncGroupName, ServerName, ApplicationName| -|StorageSyncRecalledTotalNetworkBytes|Yes|Cloud tiering recall size|Bytes|Total|Size of data recalled|SyncGroupName, ServerName, ServerEndpointName| -|StorageSyncRecallThroughputBytesPerSecond|Yes|Cloud tiering recall throughput|BytesPerSecond|Average|Size of data recall throughput|SyncGroupName, ServerName, ServerEndpointName| -|StorageSyncServerHeartbeat|Yes|Server Online Status|Count|Maximum|Metric that logs a value of 1 each time the resigtered server successfully records a heartbeat with the Cloud Endpoint|ServerName| -|StorageSyncSyncSessionAppliedFilesCount|Yes|Files Synced|Count|Total|Count of Files synced|SyncGroupName, ServerEndpointName, SyncDirection| -|StorageSyncSyncSessionPerItemErrorsCount|Yes|Files not syncing|Count|Average|Count of files failed to sync|SyncGroupName, ServerEndpointName, SyncDirection| -|StorageSyncTieringCacheSizeBytes|Yes|Server cache size|Bytes|Average|Size of data cached on the server|SyncGroupName, ServerName, ServerEndpointName| - - -## Microsoft.StreamAnalytics/streamingjobs - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AMLCalloutFailedRequests|Yes|Failed Function Requests|Count|Total|Failed Function Requests|LogicalName, PartitionId, ProcessorInstance, NodeName| -|AMLCalloutInputEvents|Yes|Function Events|Count|Total|Function Events|LogicalName, PartitionId, ProcessorInstance, NodeName| -|AMLCalloutRequests|Yes|Function Requests|Count|Total|Function Requests|LogicalName, PartitionId, ProcessorInstance, NodeName| -|ConversionErrors|Yes|Data Conversion Errors|Count|Total|Data Conversion Errors|LogicalName, PartitionId, ProcessorInstance, NodeName| -|DeserializationError|Yes|Input Deserialization Errors|Count|Total|Input Deserialization Errors|LogicalName, PartitionId, ProcessorInstance, NodeName| -|DroppedOrAdjustedEvents|Yes|Out of order Events|Count|Total|Out of order Events|LogicalName, PartitionId, ProcessorInstance, NodeName| -|EarlyInputEvents|Yes|Early Input Events|Count|Total|Early Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| -|Errors|Yes|Runtime Errors|Count|Total|Runtime Errors|LogicalName, PartitionId, ProcessorInstance, NodeName| -|InputEventBytes|Yes|Input Event Bytes|Bytes|Total|Input Event Bytes|LogicalName, PartitionId, ProcessorInstance, NodeName| -|InputEvents|Yes|Input Events|Count|Total|Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| -|InputEventsSourcesBacklogged|Yes|Backlogged Input Events|Count|Maximum|Backlogged Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| -|InputEventsSourcesPerSecond|Yes|Input Sources Received|Count|Total|Input Sources Received|LogicalName, PartitionId, ProcessorInstance, NodeName| -|LateInputEvents|Yes|Late Input Events|Count|Total|Late Input Events|LogicalName, PartitionId, ProcessorInstance, NodeName| -|OutputEvents|Yes|Output Events|Count|Total|Output Events|LogicalName, PartitionId, ProcessorInstance, NodeName| -|OutputWatermarkDelaySeconds|Yes|Watermark Delay|Seconds|Maximum|Watermark Delay|LogicalName, PartitionId, ProcessorInstance, NodeName| -|ProcessCPUUsagePercentage|Yes|CPU % Utilization (Preview)|Percent|Maximum|CPU % Utilization (Preview)|LogicalName, PartitionId, ProcessorInstance, NodeName| -|ResourceUtilization|Yes|SU (Memory) % Utilization|Percent|Maximum|SU (Memory) % Utilization|LogicalName, PartitionId, ProcessorInstance, NodeName| - - -## Microsoft.Synapse/workspaces - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BuiltinSqlPoolDataProcessedBytes|No|Data processed (bytes)|Bytes|Total|Amount of data processed by queries|No Dimensions| -|BuiltinSqlPoolLoginAttempts|No|Login attempts|Count|Total|Count of login attempts that succeeded or failed|Result| -|BuiltinSqlPoolRequestsEnded|No|Requests ended|Count|Total|Count of Requests that succeeded, failed, or were cancelled|Result| -|IntegrationActivityRunsEnded|No|Activity runs ended|Count|Total|Count of integration activities that succeeded, failed, or were cancelled|Result, FailureType, Activity, ActivityType, Pipeline| -|IntegrationPipelineRunsEnded|No|Pipeline runs ended|Count|Total|Count of integration pipeline runs that succeeded, failed, or were cancelled|Result, FailureType, Pipeline| -|IntegrationTriggerRunsEnded|No|Trigger Runs ended|Count|Total|Count of integration triggers that succeeded, failed, or were cancelled|Result, FailureType, Trigger| -|SQLStreamingBackloggedInputEventSources|No|Backlogged input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events sources backlogged.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingConversionErrors|No|Data conversion errors (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of output events that could not be converted to the expected output schema. Error policy can be changed to 'Drop' to drop events that encounter this scenario.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingDeserializationError|No|Input deserialization errors (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events that could not be deserialized.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingEarlyInputEvents|No|Early input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events which application time is considered early compared to arrival time, according to early arrival policy.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingInputEventBytes|No|Input event bytes (preview)|Count|Total|This is a preview metric available in East US, West Europe. Amount of data received by the streaming job, in bytes. This can be used to validate that events are being sent to the input source.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingInputEvents|No|Input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingInputEventsSourcesPerSecond|No|Input sources received (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events sources per second.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingLateInputEvents|No|Late input events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of input events which application time is considered late compared to arrival time, according to late arrival policy.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingOutOfOrderEvents|No|Out of order events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of Event Hub Events (serialized messages) received by the Event Hub Input Adapter, received out of order that were either dropped or given an adjusted timestamp, based on the Event Ordering Policy.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingOutputEvents|No|Output events (preview)|Count|Total|This is a preview metric available in East US, West Europe. Number of output events.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingOutputWatermarkDelaySeconds|No|Watermark delay (preview)|Count|Maximum|This is a preview metric available in East US, West Europe. Output watermark delay in seconds.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingResourceUtilization|No|Resource % utilization (preview)|Percent|Maximum|This is a preview metric available in East US, West Europe. - Resource utilization expressed as a percentage. High utilization indicates that the job is using close to the maximum allocated resources.|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| -|SQLStreamingRuntimeErrors|No|Runtime errors (preview)|Count|Total|This is a preview metric available in East US, West Europe. Total number of errors related to query processing (excluding errors found while ingesting events or outputting results).|SQLPoolName, SQLDatabaseName, JobName, LogicalName, PartitionId, ProcessorInstance| - - -## Microsoft.Synapse/workspaces/bigDataPools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BigDataPoolAllocatedCores|No|vCores allocated|Count|Maximum|Allocated vCores for an Apache Spark Pool|SubmitterId| -|BigDataPoolAllocatedMemory|No|Memory allocated (GB)|Count|Maximum|Allocated Memory for Apach Spark Pool (GB)|SubmitterId| -|BigDataPoolApplicationsActive|No|Active Apache Spark applications|Count|Maximum|Total Active Apache Spark Pool Applications|JobState| -|BigDataPoolApplicationsEnded|No|Ended Apache Spark applications|Count|Total|Count of Apache Spark pool applications ended|JobType, JobResult| - - -## Microsoft.Synapse/workspaces/kustoPools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BatchBlobCount|Yes|Batch Blob Count|Count|Average|Number of data sources in an aggregated batch for ingestion.|Database| -|BatchDuration|Yes|Batch Duration|Seconds|Average|The duration of the aggregation phase in the ingestion flow.|Database| -|BatchesProcessed|Yes|Batches Processed|Count|Total|Number of batches aggregated for ingestion. Batching Type: whether the batch reached batching time, data size or number of files limit set by batching policy|Database, SealReason| -|BatchSize|Yes|Batch Size|Bytes|Average|Uncompressed expected data size in an aggregated batch for ingestion.|Database| -|BlobsDropped|Yes|Blobs Dropped|Count|Total|Number of blobs permanently rejected by a component.|Database, ComponentType, ComponentName| -|BlobsProcessed|Yes|Blobs Processed|Count|Total|Number of blobs processed by a component.|Database, ComponentType, ComponentName| -|BlobsReceived|Yes|Blobs Received|Count|Total|Number of blobs received from input stream by a component.|Database, ComponentType, ComponentName| -|CacheUtilization|Yes|Cache utilization|Percent|Average|Utilization level in the cluster scope|No Dimensions| -|ContinuousExportMaxLatenessMinutes|Yes|Continuous Export Max Lateness|Count|Maximum|The lateness (in minutes) reported by the continuous export jobs in the cluster|No Dimensions| -|ContinuousExportNumOfRecordsExported|Yes|Continuous export - num of exported records|Count|Total|Number of records exported, fired for every storage artifact written during the export operation|ContinuousExportName, Database| -|ContinuousExportPendingCount|Yes|Continuous Export Pending Count|Count|Maximum|The number of pending continuous export jobs ready for execution|No Dimensions| -|ContinuousExportResult|Yes|Continuous Export Result|Count|Count|Indicates whether Continuous Export succeeded or failed|ContinuousExportName, Result, Database| -|CPU|Yes|CPU|Percent|Average|CPU utilization level|No Dimensions| -|DiscoveryLatency|Yes|Discovery Latency|Seconds|Average|Reported by data connections (if exist). Time in seconds from when a message is enqueued or event is created until it is discovered by data connection. This time is not included in the Azure Data Explorer total ingestion duration.|ComponentType, ComponentName| -|EventsDropped|Yes|Events Dropped|Count|Total|Number of events dropped permanently by data connection. An Ingestion result metric with a failure reason will be sent.|ComponentType, ComponentName| -|EventsProcessed|Yes|Events Processed|Count|Total|Number of events processed by the cluster|ComponentType, ComponentName| -|EventsProcessedForEventHubs|Yes|Events Processed (for Event/IoT Hubs)|Count|Total|Number of events processed by the cluster when ingesting from Event/IoT Hub|EventStatus| -|EventsReceived|Yes|Events Received|Count|Total|Number of events received by data connection.|ComponentType, ComponentName| -|ExportUtilization|Yes|Export Utilization|Percent|Maximum|Export utilization|No Dimensions| -|IngestionLatencyInSeconds|Yes|Ingestion Latency|Seconds|Average|Latency of data ingested, from the time the data was received in the cluster until it's ready for query. The ingestion latency period depends on the ingestion scenario.|No Dimensions| -|IngestionResult|Yes|Ingestion result|Count|Total|Total number of sources that either failed or succeeded to be ingested. Splitting the metric by status, you can get detailed information about the status of the ingestion operations.|IngestionResultDetails, FailureKind| -|IngestionUtilization|Yes|Ingestion utilization|Percent|Average|Ratio of used ingestion slots in the cluster|No Dimensions| -|IngestionVolumeInMB|Yes|Ingestion Volume|Bytes|Total|Overall volume of ingested data to the cluster|Database| -|InstanceCount|Yes|Instance Count|Count|Average|Total instance count|No Dimensions| -|KeepAlive|Yes|Keep alive|Count|Average|Sanity check indicates the cluster responds to queries|No Dimensions| -|MaterializedViewAgeMinutes|Yes|Materialized View Age|Count|Average|The materialized view age in minutes|Database, MaterializedViewName| -|MaterializedViewDataLoss|Yes|Materialized View Data Loss|Count|Maximum|Indicates potential data loss in materialized view|Database, MaterializedViewName, Kind| -|MaterializedViewExtentsRebuild|Yes|Materialized View Extents Rebuild|Count|Average|Number of extents rebuild|Database, MaterializedViewName| -|MaterializedViewHealth|Yes|Materialized View Health|Count|Average|The health of the materialized view (1 for healthy, 0 for non-healthy)|Database, MaterializedViewName| -|MaterializedViewRecordsInDelta|Yes|Materialized View Records In Delta|Count|Average|The number of records in the non-materialized part of the view|Database, MaterializedViewName| -|MaterializedViewResult|Yes|Materialized View Result|Count|Average|The result of the materialization process|Database, MaterializedViewName, Result| -|QueryDuration|Yes|Query duration|Milliseconds|Average|Queries' duration in seconds|QueryStatus| -|QueryResult|No|Query Result|Count|Count|Total number of queries.|QueryStatus| -|QueueLength|Yes|Queue Length|Count|Average|Number of pending messages in a component's queue.|ComponentType| -|QueueOldestMessage|Yes|Queue Oldest Message|Count|Average|Time in seconds from when the oldest message in queue was inserted.|ComponentType| -|ReceivedDataSizeBytes|Yes|Received Data Size Bytes|Bytes|Average|Size of data received by data connection. This is the size of the data stream, or of raw data size if provided.|ComponentType, ComponentName| -|StageLatency|Yes|Stage Latency|Seconds|Average|Cumulative time from when a message is discovered until it is received by the reporting component for processing (discovery time is set when message is enqueued for ingestion queue, or when discovered by data connection).|Database, ComponentType| -|SteamingIngestRequestRate|Yes|Streaming Ingest Request Rate|Count|RateRequestsPerSecond|Streaming ingest request rate (requests per second)|No Dimensions| -|StreamingIngestDataRate|Yes|Streaming Ingest Data Rate|Count|Average|Streaming ingest data rate (MB per second)|No Dimensions| -|StreamingIngestDuration|Yes|Streaming Ingest Duration|Milliseconds|Average|Streaming ingest duration in milliseconds|No Dimensions| -|StreamingIngestResults|Yes|Streaming Ingest Result|Count|Count|Streaming ingest result|Result| -|TotalNumberOfConcurrentQueries|Yes|Total number of concurrent queries|Count|Maximum|Total number of concurrent queries|No Dimensions| -|TotalNumberOfExtents|Yes|Total number of extents|Count|Total|Total number of data extents|No Dimensions| -|TotalNumberOfThrottledCommands|Yes|Total number of throttled commands|Count|Total|Total number of throttled commands|CommandType| -|TotalNumberOfThrottledQueries|Yes|Total number of throttled queries|Count|Maximum|Total number of throttled queries|No Dimensions| - - -## Microsoft.Synapse/workspaces/sqlPools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActiveQueries|No|Active queries|Count|Total|The active queries. Using this metric unfiltered and unsplit displays all active queries running on the system|IsUserDefined| -|AdaptiveCacheHitPercent|No|Adaptive cache hit percentage|Percent|Maximum|Measures how well workloads are utilizing the adaptive cache. Use this metric with the cache hit percentage metric to determine whether to scale for additional capacity or rerun workloads to hydrate the cache|No Dimensions| -|AdaptiveCacheUsedPercent|No|Adaptive cache used percentage|Percent|Maximum|Measures how well workloads are utilizing the adaptive cache. Use this metric with the cache used percentage metric to determine whether to scale for additional capacity or rerun workloads to hydrate the cache|No Dimensions| -|Connections|Yes|Connections|Count|Total|Count of Total logins to the SQL pool|Result| -|ConnectionsBlockedByFirewall|No|Connections blocked by firewall|Count|Total|Count of connections blocked by firewall rules. Revisit access control policies for your SQL pool and monitor these connections if the count is high|No Dimensions| -|CPUPercent|No|CPU used percentage|Percent|Maximum|CPU utilization across all nodes in the SQL pool|No Dimensions| -|DWULimit|No|DWU limit|Count|Maximum|Service level objective of the SQL pool|No Dimensions| -|DWUUsed|No|DWU used|Count|Maximum|Represents a high-level representation of usage across the SQL pool. Measured by DWU limit * DWU percentage|No Dimensions| -|DWUUsedPercent|No|DWU used percentage|Percent|Maximum|Represents a high-level representation of usage across the SQL pool. Measured by taking the maximum between CPU percentage and Data IO percentage|No Dimensions| -|LocalTempDBUsedPercent|No|Local tempdb used percentage|Percent|Maximum|Local tempdb utilization across all compute nodes - values are emitted every five minutes|No Dimensions| -|MemoryUsedPercent|No|Memory used percentage|Percent|Maximum|Memory utilization across all nodes in the SQL pool|No Dimensions| -|QueuedQueries|No|Queued queries|Count|Total|Cumulative count of requests queued after the max concurrency limit was reached|IsUserDefined| -|WLGActiveQueries|No|Workload group active queries|Count|Total|The active queries within the workload group. Using this metric unfiltered and unsplit displays all active queries running on the system|IsUserDefined, WorkloadGroup| -|WLGActiveQueriesTimeouts|No|Workload group query timeouts|Count|Total|Queries for the workload group that have timed out. Query timeouts reported by this metric are only once the query has started executing (it does not include wait time due to locking or resource waits)|IsUserDefined, WorkloadGroup| -|WLGAllocationByEffectiveCapResourcePercent|No|Workload group allocation by max resource percent|Percent|Maximum|Displays the percentage allocation of resources relative to the Effective cap resource percent per workload group. This metric provides the effective utilization of the workload group|IsUserDefined, WorkloadGroup| -|WLGAllocationBySystemPercent|No|Workload group allocation by system percent|Percent|Maximum|The percentage allocation of resources relative to the entire system|IsUserDefined, WorkloadGroup| -|WLGEffectiveCapResourcePercent|No|Effective cap resource percent|Percent|Maximum|The effective cap resource percent for the workload group. If there are other workload groups with min_percentage_resource > 0, the effective_cap_percentage_resource is lowered proportionally|IsUserDefined, WorkloadGroup| -|WLGEffectiveMinResourcePercent|No|Effective min resource percent|Percent|Maximum|The effective min resource percentage setting allowed considering the service level and the workload group settings. The effective min_percentage_resource can be adjusted higher on lower service levels|IsUserDefined, WorkloadGroup| -|WLGQueuedQueries|No|Workload group queued queries|Count|Total|Cumulative count of requests queued after the max concurrency limit was reached|IsUserDefined, WorkloadGroup| - - -## Microsoft.TimeSeriesInsights/environments - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|IngressReceivedBytes|Yes|Ingress Received Bytes|Bytes|Total|Count of bytes read from all event sources|No Dimensions| -|IngressReceivedInvalidMessages|Yes|Ingress Received Invalid Messages|Count|Total|Count of invalid messages read from all Event hub or IoT hub event sources|No Dimensions| -|IngressReceivedMessages|Yes|Ingress Received Messages|Count|Total|Count of messages read from all Event hub or IoT hub event sources|No Dimensions| -|IngressReceivedMessagesCountLag|Yes|Ingress Received Messages Count Lag|Count|Average|Difference between the sequence number of last enqueued message in the event source partition and sequence number of messages being processed in Ingress|No Dimensions| -|IngressReceivedMessagesTimeLag|Yes|Ingress Received Messages Time Lag|Seconds|Maximum|Difference between the time that the message is enqueued in the event source and the time it is processed in Ingress|No Dimensions| -|IngressStoredBytes|Yes|Ingress Stored Bytes|Bytes|Total|Total size of events successfully processed and available for query|No Dimensions| -|IngressStoredEvents|Yes|Ingress Stored Events|Count|Total|Count of flattened events successfully processed and available for query|No Dimensions| -|WarmStorageMaxProperties|Yes|Warm Storage Max Properties|Count|Maximum|Maximum number of properties used allowed by the environment for S1/S2 SKU and maximum number of properties allowed by Warm Store for PAYG SKU|No Dimensions| -|WarmStorageUsedProperties|Yes|Warm Storage Used Properties |Count|Maximum|Number of properties used by the environment for S1/S2 SKU and number of properties used by Warm Store for PAYG SKU|No Dimensions| - - -## Microsoft.TimeSeriesInsights/environments/eventsources - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|IngressReceivedBytes|Yes|Ingress Received Bytes|Bytes|Total|Count of bytes read from the event source|No Dimensions| -|IngressReceivedInvalidMessages|Yes|Ingress Received Invalid Messages|Count|Total|Count of invalid messages read from the event source|No Dimensions| -|IngressReceivedMessages|Yes|Ingress Received Messages|Count|Total|Count of messages read from the event source|No Dimensions| -|IngressReceivedMessagesCountLag|Yes|Ingress Received Messages Count Lag|Count|Average|Difference between the sequence number of last enqueued message in the event source partition and sequence number of messages being processed in Ingress|No Dimensions| -|IngressReceivedMessagesTimeLag|Yes|Ingress Received Messages Time Lag|Seconds|Maximum|Difference between the time that the message is enqueued in the event source and the time it is processed in Ingress|No Dimensions| -|IngressStoredBytes|Yes|Ingress Stored Bytes|Bytes|Total|Total size of events successfully processed and available for query|No Dimensions| -|IngressStoredEvents|Yes|Ingress Stored Events|Count|Total|Count of flattened events successfully processed and available for query|No Dimensions| -|WarmStorageMaxProperties|Yes|Warm Storage Max Properties|Count|Maximum|Maximum number of properties used allowed by the environment for S1/S2 SKU and maximum number of properties allowed by Warm Store for PAYG SKU|No Dimensions| -|WarmStorageUsedProperties|Yes|Warm Storage Used Properties |Count|Maximum|Number of properties used by the environment for S1/S2 SKU and number of properties used by Warm Store for PAYG SKU|No Dimensions| - - -## Microsoft.VMwareCloudSimple/virtualMachines - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Disk Read Bytes|Yes|Disk Read Bytes|Bytes|Total|Total disk throughput due to read operations over the sample period.|No Dimensions| -|Disk Read Operations/Sec|Yes|Disk Read Operations/Sec|CountPerSecond|Average|The average number of IO read operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| -|Disk Write Bytes|Yes|Disk Write Bytes|Bytes|Total|Total disk throughput due to write operations over the sample period.|No Dimensions| -|Disk Write Operations/Sec|Yes|Disk Write Operations/Sec|CountPerSecond|Average|The average number of IO write operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| -|DiskReadBytesPerSecond|Yes|Disk Read Bytes/Sec|BytesPerSecond|Average|Average disk throughput due to read operations over the sample period.|No Dimensions| -|DiskReadLatency|Yes|Disk Read Latency|Milliseconds|Average|Total read latency. The sum of the device and kernel read latencies.|No Dimensions| -|DiskReadOperations|Yes|Disk Read Operations|Count|Total|The number of IO read operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| -|DiskWriteBytesPerSecond|Yes|Disk Write Bytes/Sec|BytesPerSecond|Average|Average disk throughput due to write operations over the sample period.|No Dimensions| -|DiskWriteLatency|Yes|Disk Write Latency|Milliseconds|Average|Total write latency. The sum of the device and kernel write latencies.|No Dimensions| -|DiskWriteOperations|Yes|Disk Write Operations|Count|Total|The number of IO write operations in the previous sample period. Note that these operations may be variable sized.|No Dimensions| -|MemoryActive|Yes|Memory Active|Bytes|Average|The amount of memory used by the VM in the past small window of time. This is the "true" number of how much memory the VM currently has need of. Additional, unused memory may be swapped out or ballooned with no impact to the guest's performance.|No Dimensions| -|MemoryGranted|Yes|Memory Granted|Bytes|Average|The amount of memory that was granted to the VM by the host. Memory is not granted to the host until it is touched one time and granted memory may be swapped out or ballooned away if the VMkernel needs the memory.|No Dimensions| -|MemoryUsed|Yes|Memory Used|Bytes|Average|The amount of machine memory that is in use by the VM.|No Dimensions| -|Network In|Yes|Network In|Bytes|Total|Total network throughput for received traffic.|No Dimensions| -|Network Out|Yes|Network Out|Bytes|Total|Total network throughput for transmitted traffic.|No Dimensions| -|NetworkInBytesPerSecond|Yes|Network In Bytes/Sec|BytesPerSecond|Average|Average network throughput for received traffic.|No Dimensions| -|NetworkOutBytesPerSecond|Yes|Network Out Bytes/Sec|BytesPerSecond|Average|Average network throughput for transmitted traffic.|No Dimensions| -|Percentage CPU|Yes|Percentage CPU|Percent|Average|The CPU utilization. This value is reported with 100% representing all processor cores on the system. As an example, a 2-way VM using 50% of a four-core system is completely using two cores.|No Dimensions| -|PercentageCpuReady|Yes|Percentage CPU Ready|Milliseconds|Total|Ready time is the time spend waiting for CPU(s) to become available in the past update interval.|No Dimensions| - - -## Microsoft.Web/connections - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ApiConnectionRequests|Yes|Requests|Count|Total|API Connection Requests|HttpStatusCode, ClientIPAddress| - - -## Microsoft.Web/containerapps - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|Replicas|Yes|Replica Count|Count|Maximum|Number of replicas count of container app|revisionName, deploymentName| -|Requests|Yes|Requests|Count|Total|Requests processed|revisionName, podName, statusCodeCategory, statusCode| -|RestartCount|Yes|Replica Restart Count|Count|Maximum|Restart count of container app replicas|revisionName, podName| -|RxBytes|Yes|Network In Bytes|Bytes|Total|Network received bytes|revisionName, podName| -|TxBytes|Yes|Network Out Bytes|Bytes|Total|Network transmitted bytes|revisionName, podName| -|UsageNanoCores|Yes|CPU Usage Nanocores|NanoCores|Average|CPU consumed by the container app, in nano cores. 1,000,000,000 nano cores = 1 core|revisionName, podName| -|WorkingSetBytes|Yes|Memory Working Set Bytes|Bytes|Average|Container App working set memory used in bytes.|revisionName, podName| - - -## Microsoft.Web/hostingEnvironments - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActiveRequests|Yes|Active Requests (deprecated)|Count|Total|ActiveRequests|Instance| -|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|AverageResponseTime|Instance| -|BytesReceived|Yes|Data In|Bytes|Total|BytesReceived|Instance| -|BytesSent|Yes|Data Out|Bytes|Total|BytesSent|Instance| -|CpuPercentage|Yes|CPU Percentage|Percent|Average|CpuPercentage|Instance| -|DiskQueueLength|Yes|Disk Queue Length|Count|Average|DiskQueueLength|Instance| -|Http101|Yes|Http 101|Count|Total|Http101|Instance| -|Http2xx|Yes|Http 2xx|Count|Total|Http2xx|Instance| -|Http3xx|Yes|Http 3xx|Count|Total|Http3xx|Instance| -|Http401|Yes|Http 401|Count|Total|Http401|Instance| -|Http403|Yes|Http 403|Count|Total|Http403|Instance| -|Http404|Yes|Http 404|Count|Total|Http404|Instance| -|Http406|Yes|Http 406|Count|Total|Http406|Instance| -|Http4xx|Yes|Http 4xx|Count|Total|Http4xx|Instance| -|Http5xx|Yes|Http Server Errors|Count|Total|Http5xx|Instance| -|HttpQueueLength|Yes|Http Queue Length|Count|Average|HttpQueueLength|Instance| -|HttpResponseTime|Yes|Response Time|Seconds|Average|HttpResponseTime|Instance| -|LargeAppServicePlanInstances|Yes|Large App Service Plan Workers|Count|Average|Large App Service Plan Workers|No Dimensions| -|MediumAppServicePlanInstances|Yes|Medium App Service Plan Workers|Count|Average|Medium App Service Plan Workers|No Dimensions| -|MemoryPercentage|Yes|Memory Percentage|Percent|Average|MemoryPercentage|Instance| -|Requests|Yes|Requests|Count|Total|Requests|Instance| -|SmallAppServicePlanInstances|Yes|Small App Service Plan Workers|Count|Average|Small App Service Plan Workers|No Dimensions| -|TotalFrontEnds|Yes|Total Front Ends|Count|Average|Total Front Ends|No Dimensions| - - -## Microsoft.Web/hostingEnvironments/multiRolePools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|ActiveRequests|Yes|Active Requests (deprecated)|Count|Total|Active Requests|Instance| -|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|The average time taken for the front end to serve requests, in seconds.|Instance| -|BytesReceived|Yes|Data In|Bytes|Total|The average incoming bandwidth used across all front ends, in MiB.|Instance| -|BytesSent|Yes|Data Out|Bytes|Total|The average incoming bandwidth used across all front end, in MiB.|Instance| -|CpuPercentage|Yes|CPU Percentage|Percent|Average|The average CPU used across all instances of front end.|Instance| -|DiskQueueLength|Yes|Disk Queue Length|Count|Average|The average number of both read and write requests that were queued on storage. A high disk queue length is an indication of an app that might be slowing down because of excessive disk I/O.|Instance| -|Http101|Yes|Http 101|Count|Total|The count of requests resulting in an HTTP status code 101.|Instance| -|Http2xx|Yes|Http 2xx|Count|Total|The count of requests resulting in an HTTP status code = 200 but < 300.|Instance| -|Http3xx|Yes|Http 3xx|Count|Total|The count of requests resulting in an HTTP status code = 300 but < 400.|Instance| -|Http401|Yes|Http 401|Count|Total|The count of requests resulting in HTTP 401 status code.|Instance| -|Http403|Yes|Http 403|Count|Total|The count of requests resulting in HTTP 403 status code.|Instance| -|Http404|Yes|Http 404|Count|Total|The count of requests resulting in HTTP 404 status code.|Instance| -|Http406|Yes|Http 406|Count|Total|The count of requests resulting in HTTP 406 status code.|Instance| -|Http4xx|Yes|Http 4xx|Count|Total|The count of requests resulting in an HTTP status code = 400 but < 500.|Instance| -|Http5xx|Yes|Http Server Errors|Count|Total|The count of requests resulting in an HTTP status code = 500 but < 600.|Instance| -|HttpQueueLength|Yes|Http Queue Length|Count|Average|The average number of HTTP requests that had to sit on the queue before being fulfilled. A high or increasing HTTP Queue length is a symptom of a plan under heavy load.|Instance| -|HttpResponseTime|Yes|Response Time|Seconds|Average|The time taken for the front end to serve requests, in seconds.|Instance| -|LargeAppServicePlanInstances|Yes|Large App Service Plan Workers|Count|Average|Large App Service Plan Workers|No Dimensions| -|MediumAppServicePlanInstances|Yes|Medium App Service Plan Workers|Count|Average|Medium App Service Plan Workers|No Dimensions| -|MemoryPercentage|Yes|Memory Percentage|Percent|Average|The average memory used across all instances of front end.|Instance| -|Requests|Yes|Requests|Count|Total|The total number of requests regardless of their resulting HTTP status code.|Instance| -|SmallAppServicePlanInstances|Yes|Small App Service Plan Workers|Count|Average|Small App Service Plan Workers|No Dimensions| -|TotalFrontEnds|Yes|Total Front Ends|Count|Average|Total Front Ends|No Dimensions| - - -## Microsoft.Web/hostingEnvironments/workerPools - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|CpuPercentage|Yes|CPU Percentage|Percent|Average|The average CPU used across all instances of the worker pool.|Instance| -|MemoryPercentage|Yes|Memory Percentage|Percent|Average|The average memory used across all instances of the worker pool.|Instance| -|WorkersAvailable|Yes|Available Workers|Count|Average|Available Workers|No Dimensions| -|WorkersTotal|Yes|Total Workers|Count|Average|Total Workers|No Dimensions| -|WorkersUsed|Yes|Used Workers|Count|Average|Used Workers|No Dimensions| - - -## Microsoft.Web/serverfarms - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BytesReceived|Yes|Data In|Bytes|Total|The average incoming bandwidth used across all instances of the plan.|Instance| -|BytesSent|Yes|Data Out|Bytes|Total|The average outgoing bandwidth used across all instances of the plan.|Instance| -|CpuPercentage|Yes|CPU Percentage|Percent|Average|The average CPU used across all instances of the plan.|Instance| -|DiskQueueLength|Yes|Disk Queue Length|Count|Average|The average number of both read and write requests that were queued on storage. A high disk queue length is an indication of an app that might be slowing down because of excessive disk I/O.|Instance| -|HttpQueueLength|Yes|Http Queue Length|Count|Average|The average number of HTTP requests that had to sit on the queue before being fulfilled. A high or increasing HTTP Queue length is a symptom of a plan under heavy load.|Instance| -|MemoryPercentage|Yes|Memory Percentage|Percent|Average|The average memory used across all instances of the plan.|Instance| -|SocketInboundAll|Yes|Socket Count for Inbound Requests|Count|Average|The average number of sockets used for incoming HTTP requests across all the instances of the plan.|Instance| -|SocketLoopback|Yes|Socket Count for Loopback Connections|Count|Average|The average number of sockets used for loopback connections across all the instances of the plan.|Instance| -|SocketOutboundAll|Yes|Socket Count of Outbound Requests|Count|Average|The average number of sockets used for outbound connections across all the instances of the plan irrespective of their TCP states. Having too many outbound connections can cause connectivity errors.|Instance| -|SocketOutboundEstablished|Yes|Established Socket Count for Outbound Requests|Count|Average|The average number of sockets in ESTABLISHED state used for outbound connections across all the instances of the plan.|Instance| -|SocketOutboundTimeWait|Yes|Time Wait Socket Count for Outbound Requests|Count|Average|The average number of sockets in TIME_WAIT state used for outbound connections across all the instances of the plan. High or increasing outbound socket counts in TIME_WAIT state can cause connectivity errors.|Instance| -|TcpCloseWait|Yes|TCP Close Wait|Count|Average|The average number of sockets in CLOSE_WAIT state across all the instances of the plan.|Instance| -|TcpClosing|Yes|TCP Closing|Count|Average|The average number of sockets in CLOSING state across all the instances of the plan.|Instance| -|TcpEstablished|Yes|TCP Established|Count|Average|The average number of sockets in ESTABLISHED state across all the instances of the plan.|Instance| -|TcpFinWait1|Yes|TCP Fin Wait 1|Count|Average|The average number of sockets in FIN_WAIT_1 state across all the instances of the plan.|Instance| -|TcpFinWait2|Yes|TCP Fin Wait 2|Count|Average|The average number of sockets in FIN_WAIT_2 state across all the instances of the plan.|Instance| -|TcpLastAck|Yes|TCP Last Ack|Count|Average|The average number of sockets in LAST_ACK state across all the instances of the plan.|Instance| -|TcpSynReceived|Yes|TCP Syn Received|Count|Average|The average number of sockets in SYN_RCVD state across all the instances of the plan.|Instance| -|TcpSynSent|Yes|TCP Syn Sent|Count|Average|The average number of sockets in SYN_SENT state across all the instances of the plan.|Instance| -|TcpTimeWait|Yes|TCP Time Wait|Count|Average|The average number of sockets in TIME_WAIT state across all the instances of the plan.|Instance| - - -## Microsoft.Web/sites - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AppConnections|Yes|Connections|Count|Average|The number of bound sockets existing in the sandbox (w3wp.exe and its child processes). A bound socket is created by calling bind()/connect() APIs and remains until said socket is closed with CloseHandle()/closesocket().|Instance| -|AverageMemoryWorkingSet|Yes|Average memory working set|Bytes|Average|The average amount of memory used by the app, in megabytes (MiB).|Instance| -|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|The average time taken for the app to serve requests, in seconds.|Instance| -|BytesReceived|Yes|Data In|Bytes|Total|The amount of incoming bandwidth consumed by the app, in MiB.|Instance| -|BytesSent|Yes|Data Out|Bytes|Total|The amount of outgoing bandwidth consumed by the app, in MiB.|Instance| -|CpuTime|Yes|CPU Time|Seconds|Total|The amount of CPU consumed by the app, in seconds. For more information about this metric. Please see - https://aka.ms/website-monitor-cpu-time-vs-cpu-percentage (CPU time vs CPU percentage).|Instance| -|CurrentAssemblies|Yes|Current Assemblies|Count|Average|The current number of Assemblies loaded across all AppDomains in this application.|Instance| -|FileSystemUsage|Yes|File System Usage|Bytes|Average|Percentage of filesystem quota consumed by the app.|No Dimensions| -|FunctionExecutionCount|Yes|Function Execution Count|Count|Total|Function Execution Count|Instance| -|FunctionExecutionUnits|Yes|Function Execution Units|Count|Total|Function Execution Units|Instance| -|Gen0Collections|Yes|Gen 0 Garbage Collections|Count|Total|The number of times the generation 0 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| -|Gen1Collections|Yes|Gen 1 Garbage Collections|Count|Total|The number of times the generation 1 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| -|Gen2Collections|Yes|Gen 2 Garbage Collections|Count|Total|The number of times the generation 2 objects are garbage collected since the start of the app process.|Instance| -|Handles|Yes|Handle Count|Count|Average|The total number of handles currently open by the app process.|Instance| -|HealthCheckStatus|Yes|Health check status|Count|Average|Health check status|Instance| -|Http101|Yes|Http 101|Count|Total|The count of requests resulting in an HTTP status code 101.|Instance| -|Http2xx|Yes|Http 2xx|Count|Total|The count of requests resulting in an HTTP status code = 200 but < 300.|Instance| -|Http3xx|Yes|Http 3xx|Count|Total|The count of requests resulting in an HTTP status code = 300 but < 400.|Instance| -|Http401|Yes|Http 401|Count|Total|The count of requests resulting in HTTP 401 status code.|Instance| -|Http403|Yes|Http 403|Count|Total|The count of requests resulting in HTTP 403 status code.|Instance| -|Http404|Yes|Http 404|Count|Total|The count of requests resulting in HTTP 404 status code.|Instance| -|Http406|Yes|Http 406|Count|Total|The count of requests resulting in HTTP 406 status code.|Instance| -|Http4xx|Yes|Http 4xx|Count|Total|The count of requests resulting in an HTTP status code = 400 but < 500.|Instance| -|Http5xx|Yes|Http Server Errors|Count|Total|The count of requests resulting in an HTTP status code = 500 but < 600.|Instance| -|HttpResponseTime|Yes|Response Time|Seconds|Average|The time taken for the app to serve requests, in seconds.|Instance| -|IoOtherBytesPerSecond|Yes|IO Other Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.|Instance| -|IoOtherOperationsPerSecond|Yes|IO Other Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing I/O operations that aren't read or write operations.|Instance| -|IoReadBytesPerSecond|Yes|IO Read Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is reading bytes from I/O operations.|Instance| -|IoReadOperationsPerSecond|Yes|IO Read Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing read I/O operations.|Instance| -|IoWriteBytesPerSecond|Yes|IO Write Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is writing bytes to I/O operations.|Instance| -|IoWriteOperationsPerSecond|Yes|IO Write Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing write I/O operations.|Instance| -|MemoryWorkingSet|Yes|Memory working set|Bytes|Average|The current amount of memory used by the app, in MiB.|Instance| -|PrivateBytes|Yes|Private Bytes|Bytes|Average|Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.|Instance| -|Requests|Yes|Requests|Count|Total|The total number of requests regardless of their resulting HTTP status code.|Instance| -|RequestsInApplicationQueue|Yes|Requests In Application Queue|Count|Average|The number of requests in the application request queue.|Instance| -|ScmCpuTime|Yes|ScmCpuTime|Seconds|Total|ScmCpuTime|Instance| -|ScmPrivateBytes|Yes|ScmPrivateBytes|Bytes|Average|ScmPrivateBytes|Instance| -|Threads|Yes|Thread Count|Count|Average|The number of threads currently active in the app process.|Instance| -|TotalAppDomains|Yes|Total App Domains|Count|Average|The current number of AppDomains loaded in this application.|Instance| -|TotalAppDomainsUnloaded|Yes|Total App Domains Unloaded|Count|Average|The total number of AppDomains unloaded since the start of the application.|Instance| - - -## Microsoft.Web/sites/slots - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|AppConnections|Yes|Connections|Count|Average|The number of bound sockets existing in the sandbox (w3wp.exe and its child processes). A bound socket is created by calling bind()/connect() APIs and remains until said socket is closed with CloseHandle()/closesocket().|Instance| -|AverageMemoryWorkingSet|Yes|Average memory working set|Bytes|Average|The average amount of memory used by the app, in megabytes (MiB).|Instance| -|AverageResponseTime|Yes|Average Response Time (deprecated)|Seconds|Average|The average time taken for the app to serve requests, in seconds.|Instance| -|BytesReceived|Yes|Data In|Bytes|Total|The amount of incoming bandwidth consumed by the app, in MiB.|Instance| -|BytesSent|Yes|Data Out|Bytes|Total|The amount of outgoing bandwidth consumed by the app, in MiB.|Instance| -|CpuTime|Yes|CPU Time|Seconds|Total|The amount of CPU consumed by the app, in seconds. For more information about this metric. Please see - https://aka.ms/website-monitor-cpu-time-vs-cpu-percentage (CPU time vs CPU percentage).|Instance| -|CurrentAssemblies|Yes|Current Assemblies|Count|Average|The current number of Assemblies loaded across all AppDomains in this application.|Instance| -|FileSystemUsage|Yes|File System Usage|Bytes|Average|Percentage of filesystem quota consumed by the app.|No Dimensions| -|FunctionExecutionCount|Yes|Function Execution Count|Count|Total|Function Execution Count|Instance| -|FunctionExecutionUnits|Yes|Function Execution Units|Count|Total|Function Execution Units|Instance| -|Gen0Collections|Yes|Gen 0 Garbage Collections|Count|Total|The number of times the generation 0 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| -|Gen1Collections|Yes|Gen 1 Garbage Collections|Count|Total|The number of times the generation 1 objects are garbage collected since the start of the app process. Higher generation GCs include all lower generation GCs.|Instance| -|Gen2Collections|Yes|Gen 2 Garbage Collections|Count|Total|The number of times the generation 2 objects are garbage collected since the start of the app process.|Instance| -|Handles|Yes|Handle Count|Count|Average|The total number of handles currently open by the app process.|Instance| -|HealthCheckStatus|Yes|Health check status|Count|Average|Health check status|Instance| -|Http101|Yes|Http 101|Count|Total|The count of requests resulting in an HTTP status code 101.|Instance| -|Http2xx|Yes|Http 2xx|Count|Total|The count of requests resulting in an HTTP status code = 200 but < 300.|Instance| -|Http3xx|Yes|Http 3xx|Count|Total|The count of requests resulting in an HTTP status code = 300 but < 400.|Instance| -|Http401|Yes|Http 401|Count|Total|The count of requests resulting in HTTP 401 status code.|Instance| -|Http403|Yes|Http 403|Count|Total|The count of requests resulting in HTTP 403 status code.|Instance| -|Http404|Yes|Http 404|Count|Total|The count of requests resulting in HTTP 404 status code.|Instance| -|Http406|Yes|Http 406|Count|Total|The count of requests resulting in HTTP 406 status code.|Instance| -|Http4xx|Yes|Http 4xx|Count|Total|The count of requests resulting in an HTTP status code = 400 but < 500.|Instance| -|Http5xx|Yes|Http Server Errors|Count|Total|The count of requests resulting in an HTTP status code = 500 but < 600.|Instance| -|HttpResponseTime|Yes|Response Time|Seconds|Average|The time taken for the app to serve requests, in seconds.|Instance| -|IoOtherBytesPerSecond|Yes|IO Other Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is issuing bytes to I/O operations that don't involve data, such as control operations.|Instance| -|IoOtherOperationsPerSecond|Yes|IO Other Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing I/O operations that aren't read or write operations.|Instance| -|IoReadBytesPerSecond|Yes|IO Read Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is reading bytes from I/O operations.|Instance| -|IoReadOperationsPerSecond|Yes|IO Read Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing read I/O operations.|Instance| -|IoWriteBytesPerSecond|Yes|IO Write Bytes Per Second|BytesPerSecond|Total|The rate at which the app process is writing bytes to I/O operations.|Instance| -|IoWriteOperationsPerSecond|Yes|IO Write Operations Per Second|BytesPerSecond|Total|The rate at which the app process is issuing write I/O operations.|Instance| -|MemoryWorkingSet|Yes|Memory working set|Bytes|Average|The current amount of memory used by the app, in MiB.|Instance| -|PrivateBytes|Yes|Private Bytes|Bytes|Average|Private Bytes is the current size, in bytes, of memory that the app process has allocated that can't be shared with other processes.|Instance| -|Requests|Yes|Requests|Count|Total|The total number of requests regardless of their resulting HTTP status code.|Instance| -|RequestsInApplicationQueue|Yes|Requests In Application Queue|Count|Average|The number of requests in the application request queue.|Instance| -|ScmCpuTime|Yes|ScmCpuTime|Seconds|Total|ScmCpuTime|Instance| -|ScmPrivateBytes|Yes|ScmPrivateBytes|Bytes|Average|ScmPrivateBytes|Instance| -|Threads|Yes|Thread Count|Count|Average|The number of threads currently active in the app process.|Instance| -|TotalAppDomains|Yes|Total App Domains|Count|Average|The current number of AppDomains loaded in this application.|Instance| -|TotalAppDomainsUnloaded|Yes|Total App Domains Unloaded|Count|Average|The total number of AppDomains unloaded since the start of the application.|Instance| - - -## Microsoft.Web/staticSites - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BytesSent|No|Data Out|Bytes|Total|BytesSent|Instance| -|CdnPercentageOf4XX|No|CdnPercentageOf4XX|Percent|Total|CdnPercentageOf4XX|Instance| -|CdnPercentageOf5XX|No|CdnPercentageOf5XX|Percent|Total|CdnPercentageOf5XX|Instance| -|CdnRequestCount|No|CdnRequestCount|Count|Total|CdnRequestCount|Instance| -|CdnResponseSize|No|CdnResponseSize|Bytes|Total|CdnResponseSize|Instance| -|CdnTotalLatency|No|CdnTotalLatency|MilliSeconds|Total|CdnTotalLatency|Instance| -|FunctionErrors|No|FunctionErrors|Count|Total|FunctionErrors|Instance| -|FunctionHits|No|FunctionHits|Count|Total|FunctionHits|Instance| -|SiteErrors|No|SiteErrors|Count|Total|SiteErrors|Instance| -|SiteHits|No|SiteHits|Count|Total|SiteHits|Instance| - - -## Wandisco.Fusion/migrators - -|Metric|Exportable via Diagnostic Settings?|Metric Display Name|Unit|Aggregation Type|Description|Dimensions| -|---|---|---|---|---|---|---| -|BytesPerSecond|Yes|Bytes per Second.|BytesPerSecond|Average|Throughput speed of Bytes/second being utilized for a migrator.|No Dimensions| -|DirectoriesCreatedCount|Yes|Directories Created Count|Count|Total|This provides a running view of how many directories have been created as part of a migration.|No Dimensions| -|FileMigrationCount|Yes|Files Migration Count|Count|Total|This provides a running total of how many files have been migrated.|No Dimensions| -|InitialScanDataMigratedInBytes|Yes|Initial Scan Data Migrated in Bytes|Bytes|Total|This provides the view of the total bytes which have been transferred in a new migrator as a result of the initial scan of the On-Premises file system. Any data which is added to the migration after the initial scan migration, is NOT included in this metric.|No Dimensions| -|LiveDataMigratedInBytes|Yes|Live Data Migrated in Bytes|Count|Total|Provides a running total of LiveData which has been changed due to Client activity, since the migration started.|No Dimensions| -|MigratorCPULoad|Yes|Migrator CPU Load|Percent|Average|CPU consumption by the migrator process.|No Dimensions| -|NumberOfExcludedPaths|Yes|Number of Excluded Paths|Count|Total|Provides a running count of the paths which have been excluded from the migration due to Exclusion Rules.|No Dimensions| -|NumberOfFailedPaths|Yes|Number of Failed Paths|Count|Total|A count of which paths have failed to migrate.|No Dimensions| -|SystemCPULoad|Yes|System CPU Load|Percent|Average|Total CPU consumption.|No Dimensions| -|TotalMigratedDataInBytes|Yes|Total Migrated Data in Bytes|Bytes|Total|This provides a view of the successfully migrated Bytes for a given migrator|No Dimensions| -|TotalTransactions|Yes|Total Transactions|Count|Total|This provides a running total of the Data Transactions for which the user could be billed.|No Dimensions| - - -## Next steps - -- [Read about metrics in Azure Monitor](../data-platform.md) -- [Create alerts on metrics](../alerts/alerts-overview.md) -- [Export metrics to storage, Event Hub, or Log Analytics](../essentials/platform-logs-overview.md) From 8730cbd32e9d11b55ccb5dd45ad2e4548a81b9bf Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sun, 23 Oct 2022 21:11:49 +0200 Subject: [PATCH 081/130] Applied several smaller fixes --- .../Set-PrivateEndpointModuleData.ps1 | 2 +- .../private/module/Set-ModuleTemplate.ps1 | 8 +- .../private/specs/Copy-CustomRepository.ps1 | 57 ++++++ .../public/Get-AzureApiSpecsData.ps1 | 167 ++++++++++++------ .../REST2CARML/public/Invoke-REST2CARML.ps1 | 104 ++++------- 5 files changed, 208 insertions(+), 130 deletions(-) create mode 100644 utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 diff --git a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 index fa86d027ba..d282f79258 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 @@ -56,7 +56,7 @@ function Set-PrivateEndpointModuleData { ) $ModuleData.resources += @( - "module {0}_privateEndpoints '../../Microsoft.Network/privateEndpoints/deploy.bicep' = [for (privateEndpoint,index) in privateEndpoints: {" -f $resourceTypeSingular + "module $($resourceTypeSingular)_privateEndpoints '../../Microsoft.Network/privateEndpoints/deploy.bicep' = [for (privateEndpoint,index) in privateEndpoints: {" " name: '`${uniqueString(deployment().name, location)}-$resourceTypeSingular-PrivateEndpoint-`${index}'" ' params: {' ' groupIds: [' diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 389ce9090d..2de43d705a 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -70,8 +70,8 @@ function Set-ModuleTemplate { '' ) - # Add primary (service) parameters - foreach ($parameter in $ModuleData.parameters) { + # Add primary (service) parameters (i.e. top-level and those in the properties) + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.Level -in @(0, 1) -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { $templateContent += Get-FormattedModuleParameter -ParameterData $parameter } # Add additional (extension) parameters @@ -122,12 +122,12 @@ function Set-ModuleTemplate { $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf $templateContent += "resource $resourceTypeSingular '$ProviderNamespace/$ResourceType@$serviceAPIVersion' = {" - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 })) { + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 -and $_.name -ne 'properties' })) { $templateContent += ' {0}: {0}' -f $parameter.name } $templateContent += ' properties: {' - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 })) { + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' })) { $templateContent += ' {0}: {0}' -f $parameter.name } diff --git a/utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 b/utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 new file mode 100644 index 0000000000..ac214ac459 --- /dev/null +++ b/utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 @@ -0,0 +1,57 @@ +<# +.SYNOPSIS +Clone a given repository to a folder by the given name in the module's 'temp' folder + +.DESCRIPTION +Clone a given repository to a folder by the given name in the module's 'temp' folder + +.PARAMETER RepoUrl +Mandatory. The git clone URL of the repository to clone. + +.PARAMETER RepoName +Mandatory. The name of the repository to download + +.EXAMPLE +Copy-CustomRepository -RepoUrl 'https://github.com/Azure/azure-rest-api-specs.git' -RepoName 'azure-rest-api-specs' +#> +function Copy-CustomRepository { + + + [CmdletBinding(SupportsShouldProcess)] + param ( + [Parameter(Mandatory = $true)] + [string] $RepoUrl, + + [Parameter(Mandatory = $true)] + [string] $RepoName + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + $initialLocation = (Get-Location).Path + } + + process { + # Clone repository + ## Create temp folder + if (-not (Test-Path $script:temp)) { + $null = New-Item -Path $script:temp -ItemType 'Directory' + } + ## Switch to temp folder + Set-Location $script:temp + + ## Clone repository into temp folder + if (-not (Test-Path (Join-Path $script:temp $repoName))) { + git clone --depth=1 --single-branch --branch=main --filter=tree:0 $repoUrl + } else { + Write-Verbose "Repository [$repoName] already cloned" + } + + Set-Location $initialLocation + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } + +} diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index d7377b8c14..eae308a72b 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -12,9 +12,6 @@ Mandatory. The provider namespace to query the data for .PARAMETER ResourceType Mandatory. The resource type to query the data for -.PARAMETER RepositoryPath -Mandatory. The path to the API Specs repository to fetch the data from. - .PARAMETER ExcludeChildren Optional. Don't include child resource types in the result @@ -22,9 +19,39 @@ Optional. Don't include child resource types in the result Optional. Include preview API versions .EXAMPLE -Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' -RepositoryPath (Join-Path $script:temp $repoName) +Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' Get the data for [Microsoft.Storage/storageAccounts/blobServices/containers] based on the data stored in the provided API Specs rpository path + +.EXAMPLE +# Get the Storage Account resource data (and the one of all its child-resources) +$out = Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose -KeepArtifacts + +# The object looks somewhat like: +# Name Value +# ---- ----- +# data {outputs, parameters, resources, variables…} +# identifier Microsoft.Storage/storageAccounts +# metadata {parentUrlPath, urlPath} +# +# data {outputs, parameters, resources, variables…} +# identifier Microsoft.Storage/storageAccounts/localUsers +# metadata {parentUrlPath, urlPath} + +# Filter the list down to only the Storage Account itself +$storageAccountResource = $out | Where-Object { $_.identifier -eq 'Microsoft.Storage/storageAccounts' } + +# Print a simple outline similar to the Azure Resource reference: +$storageAccountResource.data.parameters | ForEach-Object { '{0}{1}:{2}' -f (' ' * $_.level), $_.name, $_.type } + +# Filter parameters down to those containing the keyword 'network' +$storageAccountResource.data.parameters | Where-Object { $_.description -like "*network*" } | ConvertTo-Json + +# Use the Grid-View to enable dynamic UI processing using a table format +$storageAccountResource.data.parameters | Where-Object { $_.type -notin @('object','array') } | ForEach-Object { [PSCustomObject]@{ Name = $_.name; Description = $_.description } } | Out-GridView + +# Get data for a specific child-resource type +$out = Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' -Verbose -KeepArtifacts #> function Get-AzureApiSpecsData { @@ -36,70 +63,102 @@ function Get-AzureApiSpecsData { [Parameter(Mandatory = $true)] [string] $ResourceType, - [Parameter(Mandatory = $true)] - [string] $RepositoryPath, - [Parameter(Mandatory = $false)] [switch] $ExcludeChildren, [Parameter(Mandatory = $false)] - [switch] $IncludePreview + [switch] $IncludePreview, + + [Parameter(Mandatory = $false)] + [switch] $KeepArtifacts ) - ############################################## - ## Find relevant Spec-Files & URL Paths ## - ############################################## - $getPathDataInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - RepositoryPath = $RepositoryPath - IncludePreview = $IncludePreview + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) } - $pathData = Get-ServiceSpecPathData @getPathDataInputObject - # Filter Children if desired - if ($ExcludeChildren) { - $pathData = $pathData | Where-Object { [String]::IsNullOrEmpty($_.parentUrlPath) } - } + process { + + ######################################### + ## Temp Clone API Specs Repository ## + ######################################### + $repoUrl = $script:CONFIG.url_CloneRESTAPISpecRepository + $repoName = Split-Path $repoUrl -LeafBase + $repositoryPath = (Join-Path $script:temp $repoName) + + Copy-CustomRepository -RepoUrl $repoUrl -RepoName $repoName + + try { + ############################################## + ## Find relevant Spec-Files & URL Paths ## + ############################################## + $getPathDataInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + RepositoryPath = $RepositoryPath + IncludePreview = $IncludePreview + } + $pathData = Get-ServiceSpecPathData @getPathDataInputObject - ################################################################# - # Iterate through parent & child-paths and extract the data # - ################################################################# - $moduleData = @() - foreach ($pathBlock in $pathData) { - $resolveInputObject = @{ - JSONFilePath = $pathBlock.jsonFilePath - urlPath = $pathBlock.urlPath - ResourceType = $ResourceType - } - $resolvedParameters = Resolve-ModuleData @resolveInputObject - - # Calculate simplified identifier - $identifier = ($pathBlock.urlPath -split '\/providers\/')[1] - $identifierElem = $identifier -split '\/' - $identifier = $identifierElem[0] # E.g. Microsoft.Storage - - if ($identifierElem.Count -gt 1) { - # Add the remaining elements (every 2nd as everything in between represents a 'name') - $remainingRelevantElem = $identifierElem[1..($identifierElem.Count)] - for ($index = 0; $index -lt $remainingRelevantElem.Count; $index++) { - if ($index % 2 -eq 0) { - $identifier += ('/{0}' -f $remainingRelevantElem[$index]) + # Filter Children if desired + if ($ExcludeChildren) { + $pathData = $pathData | Where-Object { [String]::IsNullOrEmpty($_.parentUrlPath) } + } + + ################################################################# + # Iterate through parent & child-paths and extract the data # + ################################################################# + $moduleData = @() + foreach ($pathBlock in $pathData) { + $resolveInputObject = @{ + JSONFilePath = $pathBlock.jsonFilePath + urlPath = $pathBlock.urlPath + ResourceType = $ResourceType + } + $resolvedParameters = Resolve-ModuleData @resolveInputObject + + # Calculate simplified identifier + $identifier = ($pathBlock.urlPath -split '\/providers\/')[1] + $identifierElem = $identifier -split '\/' + $identifier = $identifierElem[0] # E.g. Microsoft.Storage + + if ($identifierElem.Count -gt 1) { + # Add the remaining elements (every 2nd as everything in between represents a 'name') + $remainingRelevantElem = $identifierElem[1..($identifierElem.Count)] + for ($index = 0; $index -lt $remainingRelevantElem.Count; $index++) { + if ($index % 2 -eq 0) { + $identifier += ('/{0}' -f $remainingRelevantElem[$index]) + } + } + } + + # Build result + $moduleData += @{ + data = $resolvedParameters + identifier = $identifier + metadata = @{ + urlPath = $pathBlock.urlPath + jsonFilePath = $pathBlock.jsonFilePath + parentUrlPath = $pathBlock.parentUrlPath + } } } - } - # Build result - $moduleData += @{ - data = $resolvedParameters - identifier = $identifier - metadata = @{ - urlPath = $pathBlock.urlPath - jsonFilePath = $pathBlock.jsonFilePath - parentUrlPath = $pathBlock.parentUrlPath + return $moduleData + } catch { + throw $_ + } finally { + ########################## + ## Remove Artifacts ## + ########################## + if (-not $KeepArtifacts) { + Write-Verbose ('Deleting temp folder [{0}]' -f $script:temp) + $null = Remove-Item $script:temp -Recurse -Force } } } - return $moduleData + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } } diff --git a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index 335b1144bd..d9096bc99a 100644 --- a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -64,86 +64,48 @@ function Invoke-REST2CARML { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose - - $initialLocation = (Get-Location).Path } process { - ######################################### - ## Temp Clone API Specs Repository ## - ######################################### - $repoUrl = $script:CONFIG.url_CloneRESTAPISpecRepository - $repoName = Split-Path $repoUrl -LeafBase + ############################################ + ## Extract module data from API specs ## + ############################################ - # Clone repository - ## Create temp folder - if (-not (Test-Path $script:temp)) { - $null = New-Item -Path $script:temp -ItemType 'Directory' + $apiSpecsInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + ExcludeChildren = $ExcludeChildren + IncludePreview = $IncludePreview + KeepArtifacts = $KeepArtifacts } - ## Switch to temp folder - Set-Location $script:temp - - ## Clone repository into temp folder - if (-not (Test-Path (Join-Path $script:temp $repoName))) { - git clone --depth=1 --single-branch --branch=main --filter=tree:0 $repoUrl - } else { - Write-Verbose "Repository [$repoName] already cloned" + $moduleData = Get-AzureApiSpecsData @apiSpecsInputObject + + ########################################### + ## Generate initial module structure ## + ########################################### + if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource + Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType } - Set-Location $initialLocation - - try { - ############################################ - ## Extract module data from API specs ## - ############################################ - - $apiSpecsInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - RepositoryPath = (Join-Path $script:temp $repoName) - ExcludeChildren = $ExcludeChildren - IncludePreview = $IncludePreview - } - $moduleData = Get-AzureApiSpecsData @apiSpecsInputObject - - ########################################### - ## Generate initial module structure ## - ########################################### - if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource - Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - } - - ############################ - ## Set module content ## - ############################ - - # TODO: Remove reduced reference as only temp. The logic is currently NOT capabale of handling child resources - $moduleData = $moduleData | Where-Object { -not $_.metadata.parentUrlPath } - - $moduleTemplateInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - JSONFilePath = $moduleData.metadata.jsonFilePath - UrlPath = $moduleData.metadata.urlPath - ModuleData = $moduleData.data - } - if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - Set-Module @moduleTemplateInputObject - } - } catch { - throw $_ - } finally { - ########################## - ## Remove Artifacts ## - ########################## - if (-not $KeepArtifacts) { - Write-Verbose ('Deleting temp folder [{0}]' -f $script:temp) - $null = Remove-Item $script:temp -Recurse -Force - } + ############################ + ## Set module content ## + ############################ + + # TODO: Remove reduced reference as only temp. The logic is currently NOT capabale of handling child resources + $moduleData = $moduleData | Where-Object { -not $_.metadata.parentUrlPath } + + $moduleTemplateInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + JSONFilePath = $moduleData.metadata.jsonFilePath + UrlPath = $moduleData.metadata.urlPath + ModuleData = $moduleData.data + } + if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { + Set-Module @moduleTemplateInputObject } } From 5efbdf263e47893e028304a5d829c7cb92b87858 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Tue, 25 Oct 2022 21:58:05 +0200 Subject: [PATCH 082/130] Updated to latest api version --- .../extension/Get-RoleAssignmentsList.ps1 | 13 +++-- .../extension/Set-DiagnosticModuleData.ps1 | 2 +- .../Set-RoleAssignmentsModuleData.ps1 | 31 +++++------ .../REST2CARML/private/module/Set-Module.ps1 | 51 +++++-------------- .../private/shared/Get-DataUsingCache.ps1 | 37 ++++++++++++++ .../private/specs/Get-ServiceSpecPathData.ps1 | 18 +++---- .../private/specs/Resolve-ModuleData.ps1 | 46 +++++++++++++++-- .../public/Get-AzureApiSpecsData.ps1 | 13 ++--- 8 files changed, 134 insertions(+), 77 deletions(-) create mode 100644 utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 diff --git a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 index ca196f0ee4..fa3c371aae 100644 --- a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 @@ -43,7 +43,7 @@ function Get-RoleAssignmentsList { ################# ## Get Roles ## ################# - $roleDefinitions = Get-AzRoleDefinition + $roleDefinitions = Get-DataUsingCache -Key 'roleDefinitions' -ScriptBlock { Get-AzRoleDefinition } # Filter Custom Roles if (-not $IncludeCustomRoles) { @@ -52,6 +52,11 @@ function Get-RoleAssignmentsList { $relevantRoles = [System.Collections.ArrayList]@() + if (($roleDefinitions | Where-Object { $_.Actions -like "$ProviderNamespace/$ResourceType/*" -or $_.DataActions -like "$ProviderNamespace/$ResourceType/*" }).Count -eq 0) { + # Pressumably, no roles are supported for this resource as no roles with its scope exist + return @() + } + # Filter Action based $relevantRoles += $roleDefinitions | Where-Object { $_.Actions -like "$ProviderNamespace/$ResourceType/*" -or @@ -74,8 +79,10 @@ function Get-RoleAssignmentsList { } return @{ - bicepFormat = $resBicep - armFormat = $resArm + bicepFormat = $resBicep + armFormat = $resArm + onlyRoleDefinitionNames = $relevantRoles.name | Sort-Object + onlyRoleDefinitionIds = $relevantRoles.id } } diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index 5941fcc2c9..b4b561109c 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -41,7 +41,7 @@ function Set-DiagnosticModuleData { $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - if (-not $diagnosticOptions) { + if (-not ($diagnosticOptions.Logs -and $diagnosticOptions.Metrics)) { return } diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 5d837a5c62..cccb73e2a1 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -1,9 +1,9 @@ <# .SYNOPSIS -Fetch all available roles for a given resource type, generate the corresponding nested_roleAssignment.bicep file in the given module path & add any additional required parameters, variables & resources to the provide module data object. +Fetch all available roles for a given resource type, store the content of the the corresponding nested_roleAssignment.bicep file in the given 'additionalFiles' array of the provided module data object & add any additional required parameters, variables & resources to the provide module data object. .DESCRIPTION -Fetch all available roles for a given resource type, generate the corresponding nested_roleAssignment.bicep file in the given module path & add any additional required parameters, variables & resources to the provide module data object. +Fetch all available roles for a given resource type, store the content of the the corresponding nested_roleAssignment.bicep file in the given 'additionalFiles' array of the provided module data object & add any additional required parameters, variables & resources to the provide module data object. .PARAMETER ProviderNamespace Mandatory. The ProviderNamespace to fetch the available role options for. @@ -17,11 +17,8 @@ Mandatory. The API version of the module to generate the RBAC module file for .PARAMETER ModuleData Mandatory. The ModuleData object to populate. -.PARAMETER ModuleRootPath -Mandatory. The path to the generated module to add the RBAC module file to. - .EXAMPLE -Set-RoleAssignmentsModuleData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ServiceApiVersion '10-10-2022' -ModuleData @{ parameters = @(...); resources = @(...); (...) } -ModuleRootPath 'C:/ResourceModules/modules/Microsoft.KeyVault/vaults' +Set-RoleAssignmentsModuleData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ServiceApiVersion '10-10-2022' -ModuleData @{ parameters = @(...); resources = @(...); (...) } Generate the nested_roleAssignment.bicep file in the [Microsoft.KeyVault/vaults]'s module path and add any additional required data to the provided module data object. #> @@ -39,10 +36,7 @@ function Set-RoleAssignmentsModuleData { [string] $ServiceApiVersion, [Parameter(Mandatory = $true)] - [Hashtable] $ModuleData, - - [Parameter(Mandatory = $true)] - [string] $ModuleRootPath + [Hashtable] $ModuleData ) begin { @@ -108,14 +102,15 @@ function Set-RoleAssignmentsModuleData { $fileContent = $preRolesContent.TrimEnd() + ($roleAssignmentList.bicepFormat | ForEach-Object { " $_" }) + $postRolesContent # Set content - $roleTemplateFilePath = Join-Path $ModuleRootPath '.bicep' 'nested_roleAssignments.bicep' - if (-not (Test-Path $roleTemplateFilePath)) { - if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Create')) { - $null = New-Item -Path $roleTemplateFilePath -ItemType 'File' -Value ($fileContent | Out-String).Trim() - } - } else { - if ($PSCmdlet.ShouldProcess(('RBAC file [{0}].' -f (Split-Path $roleTemplateFilePath -Leaf)), 'Update')) { - $null = Set-Content -Path $roleTemplateFilePath -Value ($fileContent | Out-String).Trim() + $roleTemplateFilePath = Join-Path '.bicep' 'nested_roleAssignments.bicep' + + if ($PSCmdlet.ShouldProcess("RBAC data for file in path [$roleTemplateFilePath]", "Set")) { + $ModuleData.additionalFiles += @{ + type = 'roleAssignments' + relativeFilePath = $roleTemplateFilePath + fileContent = ($fileContent | Out-String).Trim() + onlyRoleDefinitionIds = $roleAssignmentList.onlyRoleDefinitionIds + onlyRoleDefinitionNames = $roleAssignmentList.onlyRoleDefinitionNames } } } diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index 54ef5cce01..f462b7386b 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -56,44 +56,21 @@ function Set-Module { } process { - - ################################# - ## Collect additional data ## - ################################# - - # Set diagnostic data - $diagInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - ModuleData = $ModuleData - } - Set-DiagnosticModuleData @diagInputObject - - # Set Endpoint data - $endpInputObject = @{ - JSONFilePath = $JSONFilePath - ResourceType = $ResourceType - ModuleData = $ModuleData - } - Set-PrivateEndpointModuleData @endpInputObject - - ## Set RBAC data - $rbacInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - ModuleData = $ModuleData - ModuleRootPath = $moduleRootPath - ServiceApiVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf - } - Set-RoleAssignmentsModuleData @rbacInputObject - - ## Set Locks data - $lockInputObject = @{ - urlPath = $UrlPath - ResourceType = $ResourceType - ModuleData = $ModuleData + ############################# + ## Update Support Files # + ############################# + foreach ($fileDefinition in $ModuleData.additionalFiles) { + $supportFilePath = Join-Path $ModuleRootPath $fileDefinition.relativeFilePath + if (-not (Test-Path $supportFilePath)) { + if ($PSCmdlet.ShouldProcess(('File [{0}].' -f (Split-Path $supportFilePath -Leaf)), 'Create')) { + $null = New-Item -Path $supportFilePath -ItemType 'File' -Value $fileDefinition.fileContent + } + } else { + if ($PSCmdlet.ShouldProcess(('File [{0}].' -f (Split-Path $supportFilePath -Leaf)), 'Update')) { + $null = Set-Content -Path $supportFilePath -Value $fileDefinition.fileContent + } + } } - Set-LockModuleData @lockInputObject ############################# ## Update Template File # diff --git a/utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 b/utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 new file mode 100644 index 0000000000..1b60ea3617 --- /dev/null +++ b/utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 @@ -0,0 +1,37 @@ +<# +.SYNOPSIS +Execute the given script block and store its output in a cached value, unless it is already in the cache. Then return its value. + +.DESCRIPTION +Execute the given script block and store its output in a cached value, unless it is already in the cache. Then return its value. + +.PARAMETER Key +Mandatory. The identifier for the cache. Will receive a suffix '_cached'. + +.PARAMETER ScriptBlock +Mandatory. The script block to execute and store the return value of, if no value is found in the cache. + +.EXAMPLE +Get-DataUsingCache -Key 'customCacheTest' -ScriptBlock { (Get-AzResourceGroup).ResourceGroupName } + +Get a value with the name 'customCacheTest' from the cache, unless its not existing. In that case, the script block is executed, a new cache value with identifier 'customCacheTest_cached' with its value is created and the result returned. +#> +function Get-DataUsingCache { + + [cmdletbinding()] + param( + [Parameter(Mandatory = $true)] + [string] $Key, + + [Parameter(Mandatory = $true)] + [ScriptBlock] $ScriptBlock + ) + + if ($cache = Get-Variable -Name ('{0}_cached' -f $key) -Scope 'Global' -ErrorAction 'SilentlyContinue') { + return $cache.Value + } else { + $newValue = & $ScriptBlock + Set-Variable -Name ('{0}_cached' -f $key) -Scope 'Global' -Value $newValue + return $newValue + } +} diff --git a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 index b53e72c23d..5440931689 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 @@ -70,14 +70,14 @@ function Get-ServiceSpecPathData { $apiVersionFolders = @() $stablePath = Join-Path $resourceProviderFolder 'stable' - if (Test-Path -Path $stablePath) { + if (Test-Path -Path $stablePath) { $apiVersionFolders += (Get-ChildItem -Path $stablePath).FullName } if ($IncludePreview) { # adding preview API versions $previewPath = Join-Path $resourceProviderFolder 'preview' - if (Test-Path -Path $previewPath) { - $apiVersionFolders += (Get-ChildItem -Path $previewPath).FullName + if (Test-Path -Path $previewPath) { + $apiVersionFolders += (Get-ChildItem -Path $previewPath).FullName } } @@ -102,8 +102,8 @@ function Get-ServiceSpecPathData { foreach ($specFilePath in $specFilePaths) { - $UrlPathsOfFile = (ConvertFrom-Json (Get-Content -Raw -Path $specFilePath) -AsHashtable).paths - $urlPUTPathsInFile = $UrlPathsOfFile.Keys | Where-Object { $UrlPathsOfFile[$_].Keys -contains 'put' } + $urlPathsOfFile = (ConvertFrom-Json (Get-Content -Raw -Path $specFilePath) -AsHashtable).paths + $urlPUTPathsInFile = $urlPathsOfFile.Keys | Where-Object { $urlPathsOfFile[$_].Keys -contains 'put' } foreach ($urlPUTPath in $urlPUTPathsInFile) { @@ -138,8 +138,8 @@ function Get-ServiceSpecPathData { } # Add parent pointers for later reference - foreach($UrlPathBlock in $pathData) { - $pathElements = $UrlPathBlock.urlPath -split '/' + foreach($urlPathBlock in $pathData) { + $pathElements = $urlPathBlock.urlPath -split '/' $rawparentUrlPath = $pathElements[0..($pathElements.Count-3)] -join '/' if($pathElements[-3] -like "Microsoft.*") { @@ -155,8 +155,8 @@ function Get-ServiceSpecPathData { $parentUrlPath = $rawparentUrlPath } - $UrlPathBlock['parentUrlPath'] = $parentUrlPath + $urlPathBlock['parentUrlPath'] = $parentUrlPath } return $pathData -} +} \ No newline at end of file diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 index 5d0f532c3d..398bf7323f 100644 --- a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 @@ -44,7 +44,7 @@ function Resolve-ModuleData { $putParametersInputObject = @{ JSONFilePath = $JSONFilePath RelevantParamRoot = $specificationData.paths[$UrlPath].put.parameters - urlPath = $UrlPath + UrlPath = $UrlPath ResourceType = $ResourceType } $templateData += Get-SpecsPropertiesAsParameterList @putParametersInputObject @@ -54,7 +54,7 @@ function Resolve-ModuleData { $putParametersInputObject = @{ JSONFilePath = $JSONFilePath RelevantParamRoot = $specificationData.paths[$UrlPath].patch.parameters - urlPath = $UrlPath + UrlPath = $UrlPath ResourceType = $ResourceType } $templateData += Get-SpecsPropertiesAsParameterList @putParametersInputObject @@ -68,11 +68,51 @@ function Resolve-ModuleData { } } - return @{ + $moduleData = @{ parameters = $filteredList additionalParameters = @() resources = @() variables = @() outputs = @() + additionalFiles = @() } + + ################################# + ## Collect additional data ## + ################################# + + # Set diagnostic data + $diagInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-DiagnosticModuleData @diagInputObject + + # Set Endpoint data + $endpInputObject = @{ + JSONFilePath = $JSONFilePath + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-PrivateEndpointModuleData @endpInputObject + + ## Set RBAC data + $rbacInputObject = @{ + ProviderNamespace = $ProviderNamespace + ResourceType = $ResourceType + ModuleData = $ModuleData + ServiceApiVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf + } + Set-RoleAssignmentsModuleData @rbacInputObject + + ## Set Locks data + $lockInputObject = @{ + urlPath = $UrlPath + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-LockModuleData @lockInputObject + + return $moduleData } diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index eae308a72b..c3cdca4e73 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -110,12 +110,6 @@ function Get-AzureApiSpecsData { ################################################################# $moduleData = @() foreach ($pathBlock in $pathData) { - $resolveInputObject = @{ - JSONFilePath = $pathBlock.jsonFilePath - urlPath = $pathBlock.urlPath - ResourceType = $ResourceType - } - $resolvedParameters = Resolve-ModuleData @resolveInputObject # Calculate simplified identifier $identifier = ($pathBlock.urlPath -split '\/providers\/')[1] @@ -132,6 +126,13 @@ function Get-AzureApiSpecsData { } } + $resolveInputObject = @{ + JSONFilePath = $pathBlock.jsonFilePath + UrlPath = $pathBlock.urlPath + ResourceType = $identifier -replace "$ProviderNamespace/", '' # Using pathBlock-based identifier to support also child-resources + } + $resolvedParameters = Resolve-ModuleData @resolveInputObject + # Build result $moduleData += @{ data = $resolvedParameters From c002a3865b6d03b266766533f48c9577d078f49b Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 26 Oct 2022 00:35:32 +0200 Subject: [PATCH 083/130] Additional updates --- .gitignore | 3 +++ .../extension/Set-RoleAssignmentsModuleData.ps1 | 13 ++++++------- .../private/module/Get-FormattedModuleParameter.ps1 | 11 ++++++++++- .../private/module/Set-ModuleTemplate.ps1 | 9 ++++++--- .../private/specs/Set-OptionalParameter.ps1 | 13 +++++++++++++ 5 files changed, 38 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index f872e29525..71e2468e3c 100644 --- a/.gitignore +++ b/.gitignore @@ -388,3 +388,6 @@ FodyWeavers.xsd # MacOS .DS_Store + +# Custom +utilities/tools/REST2CARML/ diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index cccb73e2a1..4c8ebe4ea4 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -63,12 +63,11 @@ function Set-RoleAssignmentsModuleData { $ModuleData.additionalParameters += @( @{ - name = 'roleAssignments' - type = 'array' - description = "Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'." - required = $false - default = '' - allowedValues = @() + name = 'roleAssignments' + type = 'array' + description = "Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'." + required = $false + default = @() } ) @@ -104,7 +103,7 @@ function Set-RoleAssignmentsModuleData { # Set content $roleTemplateFilePath = Join-Path '.bicep' 'nested_roleAssignments.bicep' - if ($PSCmdlet.ShouldProcess("RBAC data for file in path [$roleTemplateFilePath]", "Set")) { + if ($PSCmdlet.ShouldProcess("RBAC data for file in path [$roleTemplateFilePath]", 'Set')) { $ModuleData.additionalFiles += @{ type = 'roleAssignments' relativeFilePath = $roleTemplateFilePath diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index 67a0d3482d..da60207022 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -98,7 +98,6 @@ function Get-FormattedModuleParameter { if ($ParameterData.default) { - if ($ParameterData.default -like '*()*') { # Handle functions $result += "$paramLine = {0}" -f ($ParameterData.default -replace '"', '') @@ -131,6 +130,16 @@ function Get-FormattedModuleParameter { } 'int' { $result += "$paramLine = {0}" -f $ParameterData.default + break + } + 'object' { + if ($ParameterData.default.Keys.count -eq 0) { + # Empty default + $result += "$paramLine = {}" + } else { + throw 'Handling of default objects not yet implemented' + } + break } default { throw ('Unhandled parameter type [{0}]' -f $ParameterData.type) diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 2de43d705a..d10cdec62e 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -61,9 +61,12 @@ function Set-ModuleTemplate { $targetScope = Get-TargetScope -UrlPath $UrlPath - $templateContent = @( - "targetScope = '{0}'" -f $targetScope + $templateContent = ($targetScope -ne 'resourceGroup') ? @( + "targetScope = '{0}'" -f $targetScope, '' + ) : @() + + $templateContent += @( '// ============== //' '// Parameters //' '// ============== //' @@ -71,7 +74,7 @@ function Set-ModuleTemplate { ) # Add primary (service) parameters (i.e. top-level and those in the properties) - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.Level -in @(0, 1) -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { $templateContent += Get-FormattedModuleParameter -ParameterData $parameter } # Add additional (extension) parameters diff --git a/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 index 1ac9756623..a31e0f55e4 100644 --- a/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 @@ -59,6 +59,19 @@ function Set-OptionalParameter { # Default value if ($SourceParameterObject.Keys -contains 'default') { $TargetObject['default'] = $SourceParameterObject.default + } elseif ($TargetObject.Required -eq $false) { + # If no default is specified, but we know the value is optional, we can set it as per its type + switch ($TargetObject.Type) { + 'object' { $TargetObject['default'] = @{} } + 'array' { $TargetObject['default'] = @() } + 'boolean' { $TargetObject['default'] = $null } # Unkown + 'number' { $TargetObject['default'] = $null } # Unkown + 'integer' { $TargetObject['default'] = $null } # Unkown + 'string' { $TargetObject['default'] = '' } + Default { + throw ('Missing type handling for type [{0}]' -f $TargetObject.Type) + } + } } # Pattern From d09e574ba740ac112b45597fa6e7ef7a91677c40 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Wed, 26 Oct 2022 20:52:43 +0200 Subject: [PATCH 084/130] Small fixes --- .../module/Get-FormattedModuleParameter.ps1 | 7 +++-- .../private/module/Set-ModuleTemplate.ps1 | 2 +- .../specs/Get-SpecsPropertyAsParameter.ps1 | 31 +++++++++---------- .../private/specs/Set-OptionalParameter.ps1 | 6 ++-- 4 files changed, 22 insertions(+), 24 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index da60207022..04e8a34228 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -96,15 +96,16 @@ function Get-FormattedModuleParameter { } $paramLine = 'param {0} {1}' -f $ParameterData.name, $parameterType - if ($ParameterData.default) { + if ($ParameterData.Keys -contains 'default') { if ($ParameterData.default -like '*()*') { # Handle functions $result += "$paramLine = {0}" -f ($ParameterData.default -replace '"', '') } else { switch ($ParameterData.type) { - 'bool' { - $result += "$paramLine = {0}" -f $ParameterData.default.ToString().ToLower() # boolean 'True' must be lower-cased + 'boolean' { + $value = [String]::IsNullOrEmpty($ParameterData.default) ? "''" : $ParameterData.default.ToString().ToLower() # boolean 'True' must be lower-cased + $result += "$paramLine = $value" break } 'string' { diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index d10cdec62e..17c363af9f 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -85,7 +85,7 @@ function Set-ModuleTemplate { $templateContent += Get-FormattedModuleParameter -ParameterData @{ level = 0 name = 'enableDefaultTelemetry' - type = 'bool' + type = 'boolean' default = $true description = 'Enable telemetry via the Customer Usage Attribution ID (GUID).' required = $false diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 index 15ed0c9666..5faeefd604 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 @@ -1,10 +1,10 @@ <# .SYNOPSIS -Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property +Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property .DESCRIPTION -Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property +Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property .PARAMETER JSONFilePath Mandatory. The path to the API Specs JSON file hosting the data @@ -93,7 +93,7 @@ function Get-SpecsPropertyAsParameter { [Parameter(Mandatory = $true)] [int] $Level, - + [Parameter(Mandatory = $false)] [boolean] $SkipLevel = $false ) @@ -110,11 +110,11 @@ function Get-SpecsPropertyAsParameter { $resolvedReference = Resolve-SpecPropertyReference @inputObject $parameter = $resolvedReference.parameter $specificationData = $resolvedReference.SpecificationData - + if ($Parameter.Keys -contains 'properties') { # Parameter is an object if (-not $SkipLevel) { - $refObjects += @{ + $parameterObject = @{ level = $Level name = $Name type = 'object' @@ -122,6 +122,7 @@ function Get-SpecsPropertyAsParameter { required = $RequiredParametersOnLevel -contains $Name Parent = $Parent } + $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject } foreach ($property in $Parameter['properties'].Keys) { @@ -136,8 +137,7 @@ function Get-SpecsPropertyAsParameter { } $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject } - } - else { + } else { $recursiveInputObject = @{ JSONFilePath = $JSONFilePath SpecificationData = $SpecificationData @@ -149,12 +149,11 @@ function Get-SpecsPropertyAsParameter { } $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject } - } - elseif ($Parameter.Keys -contains 'items') { + } elseif ($Parameter.Keys -contains 'items') { # Parameter is an array if ($Parameter.items.Keys -contains '$ref') { # Each item is an object/array - $refObjects += @{ + $parameterObject = @{ level = $Level name = $Name type = 'array' @@ -162,6 +161,7 @@ function Get-SpecsPropertyAsParameter { required = $RequiredParametersOnLevel -contains $Name Parent = $Parent } + $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject $recursiveInputObject = @{ JSONFilePath = $JSONFilePath @@ -174,8 +174,7 @@ function Get-SpecsPropertyAsParameter { SkipLevel = $true } $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject - } - else { + } else { # Each item has a primitive type $refObjects += @{ level = $Level @@ -186,8 +185,7 @@ function Get-SpecsPropertyAsParameter { Parent = $Parent } } - } - elseif ($parameter.Keys -contains 'properties') { + } elseif ($parameter.Keys -contains 'properties') { # The case if a definition reference should have been created, but the RP implemented it another way. # Example "TableServiceProperties": { "properties": { "properties": { "properties": { "cors": {...}}}}} $refObjects += @{ @@ -198,7 +196,7 @@ function Get-SpecsPropertyAsParameter { required = $RequiredParametersOnLevel -contains $Name Parent = $Parent } - + foreach ($property in $Parameter['properties'].Keys) { $recursiveInputObject = @{ JSONFilePath = $JSONFilePath @@ -211,8 +209,7 @@ function Get-SpecsPropertyAsParameter { } $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject } - } - else { + } else { # Parameter is a 'simple' leaf - that is, not an object/array and does not reference any other specification if ($parameter.readOnly) { return @() diff --git a/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 index a31e0f55e4..28ba9a654c 100644 --- a/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 @@ -64,9 +64,9 @@ function Set-OptionalParameter { switch ($TargetObject.Type) { 'object' { $TargetObject['default'] = @{} } 'array' { $TargetObject['default'] = @() } - 'boolean' { $TargetObject['default'] = $null } # Unkown - 'number' { $TargetObject['default'] = $null } # Unkown - 'integer' { $TargetObject['default'] = $null } # Unkown + 'boolean' { $TargetObject['default'] = '' } # Unkown + 'number' { $TargetObject['default'] = '' } # Unkown + 'integer' { $TargetObject['default'] = '' } # Unkown 'string' { $TargetObject['default'] = '' } Default { throw ('Missing type handling for type [{0}]' -f $TargetObject.Type) From 5d44fa8333760abbdf0ceb6bd12238891c02d74a Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 21:09:47 +0200 Subject: [PATCH 085/130] Enabled first draft of child-modules --- .../extension/Set-DiagnosticModuleData.ps1 | 2 +- .../module/Get-FormattedModuleParameter.ps1 | 2 +- .../REST2CARML/private/module/Set-Module.ps1 | 58 +++++++++++++------ .../private/module/Set-ModuleTemplate.ps1 | 20 +++---- .../REST2CARML/public/Invoke-REST2CARML.ps1 | 32 ++++------ 5 files changed, 59 insertions(+), 55 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index b4b561109c..c05a0582ff 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -48,7 +48,7 @@ function Set-DiagnosticModuleData { $ModuleData.additionalParameters += @( @{ name = 'diagnosticLogsRetentionInDays' - type = 'int' + type = 'integer' description = 'Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.' required = $false default = 365 diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index 04e8a34228..4e29ccb42c 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -129,7 +129,7 @@ function Get-FormattedModuleParameter { $result += ']' break } - 'int' { + 'integer' { $result += "$paramLine = {0}" -f $ParameterData.default break } diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index f462b7386b..83dbdac295 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -5,11 +5,8 @@ Update the module's files with the provided module data including added extensio .DESCRIPTION Update the module's files with the provided module data including added extension resources data (i.e., RBAC, Diagnostic Settings, Private Endpoints, etc.). -.PARAMETER ProviderNamespace -Mandatory. The ProviderNamespace to update the template for. - -.PARAMETER ResourceType -Mandatory. The ResourceType to update the template for. +.PARAMETER FullResourceType +Mandatory. The complete ResourceType identifier to update the template for (e.g. 'Microsoft.Storage/storageAccounts'). .PARAMETER ModuleData Mandatory. The module data (e.g. parameters) to add to the template. @@ -21,7 +18,7 @@ Mandatory. The service specification file to process. Mandatory. The API Path in the JSON specification file to process .EXAMPLE -Set-Module -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +Set-Module -FullResourceType 'Microsoft.KeyVault/vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' Update the module [Microsoft.KeyVault/vaults] with the provided module data. #> @@ -30,10 +27,7 @@ function Set-Module { [CmdletBinding(SupportsShouldProcess)] param ( [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, + [string] $FullResourceType, [Parameter(Mandatory = $true)] [Hashtable] $ModuleData, @@ -48,7 +42,7 @@ function Set-Module { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $moduleRootPath = Join-Path $script:repoRoot 'modules' $ProviderNamespace $ResourceType + $moduleRootPath = Join-Path $script:repoRoot 'modules' $FullResourceType $templatePath = Join-Path $moduleRootPath 'deploy.bicep' # Load external functions @@ -59,11 +53,34 @@ function Set-Module { ############################# ## Update Support Files # ############################# + + # Pipeline files (top-level module only) + if (($FullResourceType -split '/').count -eq 1) { + Set-ModulePipelineFile -FullResourceType $FullResourceType + } + + # Test files (top-level module only) + if (($FullResourceType -split '/').count -eq 1) { + Set-ModuleTestFile -FullResourceType $FullResourceType + } + + # Module files + $versionFilePath = Join-Path $moduleRootPath 'version.json' + if (-not (Test-Path $versionFilePath)) { + if ($PSCmdlet.ShouldProcess(('Version file [{0}]' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { + $versionFileContent = Get-Content (Join-Path $script:src 'moduleVersion.json') -Raw + $null = New-Item -Path $versionFilePath -ItemType 'File' -Value $versionFileContent + } + } else { + Write-Verbose ('Version file [{0}] already exists.' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) + } + + # Additional files as per API-Specs foreach ($fileDefinition in $ModuleData.additionalFiles) { $supportFilePath = Join-Path $ModuleRootPath $fileDefinition.relativeFilePath if (-not (Test-Path $supportFilePath)) { if ($PSCmdlet.ShouldProcess(('File [{0}].' -f (Split-Path $supportFilePath -Leaf)), 'Create')) { - $null = New-Item -Path $supportFilePath -ItemType 'File' -Value $fileDefinition.fileContent + $null = New-Item -Path $supportFilePath -ItemType 'File' -Value $fileDefinition.fileContent -Force } } else { if ($PSCmdlet.ShouldProcess(('File [{0}].' -f (Split-Path $supportFilePath -Leaf)), 'Update')) { @@ -77,19 +94,22 @@ function Set-Module { ############################# $moduleTemplateContentInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - ModuleData = $ModuleData - JSONFilePath = $JSONFilePath - urlPath = $UrlPath + FullResourceType = $FullResourceType + ModuleData = $ModuleData + JSONFilePath = $JSONFilePath + urlPath = $UrlPath } Set-ModuleTemplate @moduleTemplateContentInputObject ############################# ## Update Module ReadMe # ############################# - if ($PSCmdlet.ShouldProcess(('Module ReadMe [{0}]' -f (Join-Path (Split-Path $templatePath -Parent) 'readme.md')), 'Update')) { - Set-ModuleReadMe -TemplateFilePath $templatePath + try { + if ($PSCmdlet.ShouldProcess(('Module ReadMe [{0}]' -f (Join-Path (Split-Path $templatePath -Parent) 'readme.md')), 'Update')) { + Set-ModuleReadMe -TemplateFilePath $templatePath + } + } catch { + Write-Warning "Invocation of 'Set-ModuleReadMe' fuction for template in path [$templatePath] failed. Please review the template and re-run the command `Set-ModuleReadMe -TemplateFilePath '$templatePath'``" } } diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 17c363af9f..82785831dc 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -5,11 +5,8 @@ Update the module's primary template (deploy.bicep) as per the provided module d .DESCRIPTION Update the module's primary template (deploy.bicep) as per the provided module data. -.PARAMETER ProviderNamespace -Mandatory. The ProviderNamespace to update the template for. - -.PARAMETER ResourceType -Mandatory. The ResourceType to update the template for. +.PARAMETER FullResourceType +Mandatory. The complete ResourceType identifier to update the template for (e.g. 'Microsoft.Storage/storageAccounts'). .PARAMETER ModuleData Mandatory. The module data (e.g. parameters) to add to the template. @@ -21,7 +18,7 @@ Mandatory. The service specification file to process. Mandatory. The API Path in the JSON specification file to process .EXAMPLE -Set-ModuleTemplate -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +Set-ModuleTemplate -FullResourceType 'Microsoft.KeyVault/vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' Update the module [Microsoft.KeyVault/vaults] with the provided module data. #> @@ -30,10 +27,7 @@ function Set-ModuleTemplate { [CmdletBinding(SupportsShouldProcess)] param ( [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, + [string] $FullResourceType, [Parameter(Mandatory = $true)] [array] $ModuleData, @@ -48,7 +42,7 @@ function Set-ModuleTemplate { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $templatePath = Join-Path $script:repoRoot 'modules' $ProviderNamespace $ResourceType 'deploy.bicep' + $templatePath = Join-Path $script:repoRoot 'modules' $FullResourceType 'deploy.bicep' } process { @@ -123,7 +117,7 @@ function Set-ModuleTemplate { # Deployment resource declaration line $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf - $templateContent += "resource $resourceTypeSingular '$ProviderNamespace/$ResourceType@$serviceAPIVersion' = {" + $templateContent += "resource $resourceTypeSingular '$FullResourceType@$serviceAPIVersion' = {" foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 -and $_.name -ne 'properties' })) { $templateContent += ' {0}: {0}' -f $parameter.name @@ -174,7 +168,7 @@ function Set-ModuleTemplate { # Update file # ----------- - Set-Content -Path $templatePath -Value $templateContent.TrimEnd() + Set-Content -Path $templatePath -Value ($templateContent | Out-String).TrimEnd() } end { diff --git a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index d9096bc99a..90f616c5f1 100644 --- a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -82,30 +82,20 @@ function Invoke-REST2CARML { } $moduleData = Get-AzureApiSpecsData @apiSpecsInputObject - ########################################### - ## Generate initial module structure ## - ########################################### - if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] structure' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - # TODO: Consider child modules. BUT be aware that pipelines are only generated for the top-level resource - Set-ModuleFileStructure -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - } - ############################ ## Set module content ## ############################ - - # TODO: Remove reduced reference as only temp. The logic is currently NOT capabale of handling child resources - $moduleData = $moduleData | Where-Object { -not $_.metadata.parentUrlPath } - - $moduleTemplateInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - JSONFilePath = $moduleData.metadata.jsonFilePath - UrlPath = $moduleData.metadata.urlPath - ModuleData = $moduleData.data - } - if ($PSCmdlet.ShouldProcess(('Module [{0}/{1}] files' -f $ProviderNamespace, $ResourceType), 'Create/Update')) { - Set-Module @moduleTemplateInputObject + foreach ($moduleDataBlock in ($moduleData | Sort-Object -Property 'Identifier')) { + # Sort shortest to longest path + $moduleTemplateInputObject = @{ + FullResourceType = $moduleDataBlock.identifier + JSONFilePath = $moduleDataBlock.metadata.jsonFilePath + UrlPath = $moduleDataBlock.metadata.urlPath + ModuleData = $moduleDataBlock.data + } + if ($PSCmdlet.ShouldProcess(('Module [{0}] files' -f $moduleDataBlock.identifier), 'Create/Update')) { + Set-Module @moduleTemplateInputObject + } } } From eb29e05f7f5e7407a779475b6a0cf98ef02f4d52 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 21:10:27 +0200 Subject: [PATCH 086/130] Enabled first draft of child-modules --- .gitignore | 2 +- .../private/module/Set-ModulePipelineFile.ps1 | 67 +++++++++++++++++++ .../private/module/Set-ModuleTestFile.ps1 | 50 ++++++++++++++ 3 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 utilities/tools/REST2CARML/private/module/Set-ModulePipelineFile.ps1 create mode 100644 utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 diff --git a/.gitignore b/.gitignore index 71e2468e3c..8271f45436 100644 --- a/.gitignore +++ b/.gitignore @@ -390,4 +390,4 @@ FodyWeavers.xsd .DS_Store # Custom -utilities/tools/REST2CARML/ +utilities/tools/REST2CARML/temp diff --git a/utilities/tools/REST2CARML/private/module/Set-ModulePipelineFile.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModulePipelineFile.ps1 new file mode 100644 index 0000000000..4603f3b80c --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Set-ModulePipelineFile.ps1 @@ -0,0 +1,67 @@ +<# +.SYNOPSIS +Set the required pipeline files for the given Resource Type identifier (i.e., the Azure DevOps pipeline & GitHub workflow files) + +.DESCRIPTION +Set the required pipeline files for the given Resource Type identifier (i.e., the Azure DevOps pipeline & GitHub workflow files) + +.PARAMETER FullResourceType +Mandatory. The complete ResourceType identifier to add the files for (e.g. 'Microsoft.Storage/storageAccounts'). + +.EXAMPLE +Set-ModulePipelineFile -FullResourceType 'Microsoft.KeyVault/vaults' + +Set the pipeline/workflow files for the resource type identifier 'Microsoft.KeyVault/vaults' +#> +function Set-ModulePipelineFile { + + [CmdletBinding(SupportsShouldProcess)] + param( + [Parameter(Mandatory = $true)] + [string] $FullResourceType + ) + + $ProviderNamespace = ($FullResourceType -split '/')[0] + $ResourceType = $FullResourceType -replace "$ProviderNamespace/", '' + + # Tokens to replace in files + $tokens = @{ + providerNamespace = $ProviderNamespace + shortProviderNamespacePascal = ($ProviderNamespace -split '\.')[-1].substring(0, 1).toupper() + ($ProviderNamespace -split '\.')[-1].substring(1) + shortProviderNamespaceLower = ($ProviderNamespace -split '\.')[-1].ToLower() + resourceType = $ResourceType + resourceTypePascal = $ResourceType.substring(0, 1).toupper() + $ResourceType.substring(1) + resourceTypeLower = $ResourceType.ToLower() + } + + # Create/Update DevOps files + # -------------------------- + ## GitHub + $automationFileName = ('ms.{0}.{1}.yml' -f ($ProviderNamespace -split '\.')[-1], $ResourceType).ToLower() + $gitHubWorkflowYAMLPath = Join-Path $script:repoRoot '.github' 'workflows' $automationFileName + $workflowFileContent = Get-Content (Join-Path $script:src 'gitHubWorkflowTemplateFile.yml') -Raw + $workflowFileContent = Set-TokenValuesInArray -Content $workflowFileContent -Tokens $tokens + if (-not (Test-Path $gitHubWorkflowYAMLPath)) { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { + $null = New-Item $gitHubWorkflowYAMLPath -ItemType 'File' -Value $workflowFileContent.TrimEnd() + } + } else { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Update')) { + $null = Set-Content -Path $gitHubWorkflowYAMLPath -Value $workflowFileContent.TrimEnd() + } + } + + ## Azure DevOps + $azureDevOpsPipelineYAMLPath = Join-Path $script:repoRoot '.azuredevops' 'modulePipelines' $automationFileName + $pipelineFileContent = Get-Content (Join-Path $script:src 'azureDevOpsPipelineTemplateFile.yml') -Raw + $pipelineFileContent = Set-TokenValuesInArray -Content $pipelineFileContent -Tokens $tokens + if (-not (Test-Path $azureDevOpsPipelineYAMLPath)) { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { + $null = New-Item $azureDevOpsPipelineYAMLPath -ItemType 'File' -Value $pipelineFileContent.TrimEnd() + } + } else { + if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Update')) { + $null = Set-Content -Path $azureDevOpsPipelineYAMLPath -Value $pipelineFileContent.TrimEnd() + } + } +} diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 new file mode 100644 index 0000000000..215779484f --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 @@ -0,0 +1,50 @@ +<# +.SYNOPSIS +Set the test files for the given Resource Type identifier (i.e., the Azure DevOps pipeline & GitHub workflow files) + +.DESCRIPTION +Set the test files for the given Resource Type identifier (i.e., the Azure DevOps pipeline & GitHub workflow files) + +.PARAMETER FullResourceType +Mandatory. The complete ResourceType identifier to add the test files for (e.g. 'Microsoft.Storage/storageAccounts'). + +.EXAMPLE +Set-ModuleTestFile -FullResourceType 'Microsoft.KeyVault/vaults' + +Set the test files for the resource type identifier 'Microsoft.KeyVault/vaults' +#> +function Set-ModuleTestFile { + + [CmdletBinding(SupportsShouldProcess)] + param( + [Parameter(Mandatory = $true)] + [string] $FullResourceType + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + $moduleRootPath = Join-Path $script:repoRoot 'modules' $FullResourceType + } + + process { + # Create module files + # ------------------- + ## .test files + @( + (Join-Path $moduleRootPath '.test' 'common' 'deploy.bicep') + (Join-Path $moduleRootPath '.test' 'min' 'deploy.bicep') + ) | ForEach-Object { + if (-not (Test-Path $_)) { + if ($PSCmdlet.ShouldProcess(('File [{0}]' -f ($_ -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { + $null = New-Item -Path $_ -ItemType 'File' + } + } else { + Write-Verbose "File [$_] already exists." + } + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} From bd202bfddfba48556d074f5f14fbf72fce97c5ed Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 21:17:37 +0200 Subject: [PATCH 087/130] Update to latest --- utilities/tools/REST2CARML/private/module/Set-Module.ps1 | 2 +- .../tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index 83dbdac295..6145726ef6 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -69,7 +69,7 @@ function Set-Module { if (-not (Test-Path $versionFilePath)) { if ($PSCmdlet.ShouldProcess(('Version file [{0}]' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { $versionFileContent = Get-Content (Join-Path $script:src 'moduleVersion.json') -Raw - $null = New-Item -Path $versionFilePath -ItemType 'File' -Value $versionFileContent + $null = New-Item -Path $versionFilePath -ItemType 'File' -Value $versionFileContent -Force } } else { Write-Verbose ('Version file [{0}] already exists.' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 82785831dc..3dbd668a1c 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -168,7 +168,7 @@ function Set-ModuleTemplate { # Update file # ----------- - Set-Content -Path $templatePath -Value ($templateContent | Out-String).TrimEnd() + Set-Content -Path $templatePath -Value ($templateContent | Out-String).TrimEnd() -Force } end { From 2f643a6abd1108c775fd07f585f5123026cbcc0a Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 22:29:58 +0200 Subject: [PATCH 088/130] Several fixes --- .../private/extension/Set-LockModuleData.ps1 | 4 +- .../module/Get-FormattedModuleParameter.ps1 | 2 + .../module/Set-ModuleFileStructure.ps1 | 148 ------------------ .../private/module/Set-ModuleTemplate.ps1 | 6 +- .../public/Get-AzureApiSpecsData.ps1 | 21 ++- .../REST2CARML/public/Invoke-REST2CARML.ps1 | 32 ++-- 6 files changed, 29 insertions(+), 184 deletions(-) delete mode 100644 utilities/tools/REST2CARML/private/module/Set-ModuleFileStructure.ps1 diff --git a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index b876260a16..2907f993db 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -53,8 +53,8 @@ function Set-LockModuleData { required = $false default = '' allowedValues = @( - '' - 'CanNotDelete' + '', + 'CanNotDelete', 'ReadOnly' ) } diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index 4e29ccb42c..5d897b87ce 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -50,6 +50,8 @@ function Get-FormattedModuleParameter { } elseif ($_ -match '\d') { # Any number value (e.g., 3) " $_" + } elseif ($_ -match '') { + " ''" } } $result += '])' diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleFileStructure.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleFileStructure.ps1 deleted file mode 100644 index c69596bca0..0000000000 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleFileStructure.ps1 +++ /dev/null @@ -1,148 +0,0 @@ -<# -.SYNOPSIS -Update / create the initial folder structure for a CARML module - -.DESCRIPTION -Update / create the initial folder structure for a CARML module - -.PARAMETER ProviderNamespace -Mandatory. The Provider Namespace to process - -.PARAMETER ResourceType -Mandatory. The Resource Type to process - -.EXAMPLE -Set-ModuleFileStructure -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' - -Update / create the folder & file structure for the CARML module 'Microsoft.KeyVault/vaults'. -#> -function Set-ModuleFileStructure { - - [CmdletBinding(SupportsShouldProcess)] - param( - [Parameter(Mandatory)] - [string] $ProviderNamespace, - - [Parameter(Mandatory)] - [string] $ResourceType - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - } - - process { - - # Tokens to replace in files - $tokens = @{ - providerNamespace = $ProviderNamespace - shortProviderNamespacePascal = ($ProviderNamespace -split '\.')[ - 1].substring(0, 1).toupper() + ($ProviderNamespace -split '\.')[ - 1].substring(1) - shortProviderNamespaceLower = ($ProviderNamespace -split '\.')[ - 1].ToLower() - resourceType = $ResourceType - resourceTypePascal = $ResourceType.substring(0, 1).toupper() + $ResourceType.substring(1) - resourceTypeLower = $ResourceType.ToLower() - } - - # Create folders - # -------------- - $expectedModuleFolderPath = Join-Path $script:repoRoot 'modules' $ProviderNamespace $ResourceType - @( - $expectedModuleFolderPath, - (Join-Path $expectedModuleFolderPath '.bicep'), - (Join-Path $expectedModuleFolderPath '.test') - (Join-Path $expectedModuleFolderPath '.test' 'common') - (Join-Path $expectedModuleFolderPath '.test' 'min') - ) | ForEach-Object { - if (-not (Test-Path $_)) { - if ($PSCmdlet.ShouldProcess(('Folder [{0}]' -f ($_ -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { - $null = New-Item -Path $_ -ItemType 'Directory' - } - } else { - Write-Verbose "Folder [$_] already exists." - } - } - - # Create module files - # ------------------- - ## Root files - ### Template file - $templateFilePath = Join-Path $expectedModuleFolderPath 'deploy.bicep' - if (-not (Test-Path $templateFilePath)) { - if ($PSCmdlet.ShouldProcess(('Template file [{0}]' -f ($templateFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { - $null = New-Item -Path $templateFilePath -ItemType 'File' - } - } else { - Write-Verbose ('Template file [{0}] already exists.' -f ($templateFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) - } - - ### Version file - $versionFilePath = Join-Path $expectedModuleFolderPath 'version.json' - if (-not (Test-Path $versionFilePath)) { - if ($PSCmdlet.ShouldProcess(('Version file [{0}]' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { - $versionFileContent = Get-Content (Join-Path $script:src 'moduleVersion.json') -Raw - $null = New-Item -Path $versionFilePath -ItemType 'File' -Value $versionFileContent - } - } else { - Write-Verbose ('Version file [{0}] already exists.' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) - } - - ### ReadMe file - $readMeFilePath = Join-Path $expectedModuleFolderPath 'readme.md' - if (-not (Test-Path $readMeFilePath)) { - if ($PSCmdlet.ShouldProcess(('ReadMe file [{0}]' -f ($readMeFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { - $null = New-Item -Path $readMeFilePath -ItemType 'File' - } - } else { - Write-Verbose ('ReadMe file [{0}] already exists.' -f ($readMeFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) - } - - ## .test files - @( - (Join-Path $expectedModuleFolderPath '.test' 'common' 'deploy.bicep') - (Join-Path $expectedModuleFolderPath '.test' 'min' 'deploy.bicep') - ) | ForEach-Object { - if (-not (Test-Path $_)) { - if ($PSCmdlet.ShouldProcess(('File [{0}]' -f ($_ -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { - $null = New-Item -Path $_ -ItemType 'File' - } - } else { - Write-Verbose "File [$_] already exists." - } - } - - # Create/Update DevOps files - # -------------------------- - ## GitHub - $automationFileName = ('ms.{0}.{1}.yml' -f ($ProviderNamespace -split '\.')[-1], $ResourceType).ToLower() - $gitHubWorkflowYAMLPath = Join-Path $script:repoRoot '.github' 'workflows' $automationFileName - $workflowFileContent = Get-Content (Join-Path $script:src 'gitHubWorkflowTemplateFile.yml') -Raw - $workflowFileContent = Set-TokenValuesInArray -Content $workflowFileContent -Tokens $tokens - if (-not (Test-Path $gitHubWorkflowYAMLPath)) { - if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { - $null = New-Item $gitHubWorkflowYAMLPath -ItemType 'File' -Value $workflowFileContent.TrimEnd() - } - } else { - if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Update')) { - $null = Set-Content -Path $gitHubWorkflowYAMLPath -Value $workflowFileContent.TrimEnd() - } - } - - ## Azure DevOps - $azureDevOpsPipelineYAMLPath = Join-Path $script:repoRoot '.azuredevops' 'modulePipelines' $automationFileName - $pipelineFileContent = Get-Content (Join-Path $script:src 'azureDevOpsPipelineTemplateFile.yml') -Raw - $pipelineFileContent = Set-TokenValuesInArray -Content $pipelineFileContent -Tokens $tokens - if (-not (Test-Path $azureDevOpsPipelineYAMLPath)) { - if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Create')) { - $null = New-Item $azureDevOpsPipelineYAMLPath -ItemType 'File' -Value $pipelineFileContent.TrimEnd() - } - } else { - if ($PSCmdlet.ShouldProcess("GitHub Workflow file [$automationFileName]", 'Update')) { - $null = Set-Content -Path $azureDevOpsPipelineYAMLPath -Value $pipelineFileContent.TrimEnd() - } - } - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 3dbd668a1c..989b82cc31 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -43,11 +43,13 @@ function Set-ModuleTemplate { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) $templatePath = Join-Path $script:repoRoot 'modules' $FullResourceType 'deploy.bicep' + $providerNamespace = ($FullResourceType -split '/')[0] + $resourceType = $FullResourceType -replace "$providerNamespace/", '' } process { - $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] ################## ## PARAMETERS ## @@ -138,7 +140,7 @@ function Set-ModuleTemplate { # Other collected resources $templateContent += $ModuleData.resources - # TODO: Add children if applicable + # TODO: Add children references if applicable ####################################### ## Create template outputs section ## diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index c3cdca4e73..aac827d3d5 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -6,11 +6,8 @@ Get module configuration data based on the latest API information available .DESCRIPTION Get module configuration data based on the latest API information available. If you want to use a nested resource type, just concatinate the identifiers like 'storageAccounts/blobServices/containers' -.PARAMETER ProviderNamespace -Mandatory. The provider namespace to query the data for - -.PARAMETER ResourceType -Mandatory. The resource type to query the data for +.PARAMETER FullResourceType +Mandatory. The full resource type including the provider namespace to query the data for (e.g., Microsoft.Storage/storageAccounts) .PARAMETER ExcludeChildren Optional. Don't include child resource types in the result @@ -19,13 +16,13 @@ Optional. Don't include child resource types in the result Optional. Include preview API versions .EXAMPLE -Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' +Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' Get the data for [Microsoft.Storage/storageAccounts/blobServices/containers] based on the data stored in the provided API Specs rpository path .EXAMPLE # Get the Storage Account resource data (and the one of all its child-resources) -$out = Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts' -Verbose -KeepArtifacts +$out = Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts' -Verbose -KeepArtifacts # The object looks somewhat like: # Name Value @@ -51,17 +48,14 @@ $storageAccountResource.data.parameters | Where-Object { $_.description -like "* $storageAccountResource.data.parameters | Where-Object { $_.type -notin @('object','array') } | ForEach-Object { [PSCustomObject]@{ Name = $_.name; Description = $_.description } } | Out-GridView # Get data for a specific child-resource type -$out = Get-AzureApiSpecsData -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' -Verbose -KeepArtifacts +$out = Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' -Verbose -KeepArtifacts #> function Get-AzureApiSpecsData { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, + [string] $FullResourceType, [Parameter(Mandatory = $false)] [switch] $ExcludeChildren, @@ -75,6 +69,9 @@ function Get-AzureApiSpecsData { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + + $providerNamespace = ($FullResourceType -split '/')[0] + $resourceType = $FullResourceType -replace "$providerNamespace/", '' } process { diff --git a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index 90f616c5f1..296f198cda 100644 --- a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -6,16 +6,12 @@ Create/Update a CARML module based on the latest API information available Create/Update a CARML module based on the latest API information available. NOTE: As we query some data from Azure, you must be connected to an Azure Context to use this function -.PARAMETER ProviderNamespace -Mandatory. The provider namespace to query the data for - -.PARAMETER ResourceType -Mandatory. The resource type to query the data for +.PARAMETER FullResourceType +Mandatory. The full resource type including the provider namespace to query the data for (e.g., Microsoft.Storage/storageAccounts) .PARAMETER ExcludeChildren Optional. Don't include child resource types in the result - .PARAMETER IncludePreview Mandatory. Include preview API versions @@ -23,22 +19,22 @@ Mandatory. Include preview API versions Optional. Skip the removal of downloaded/cloned artifacts (e.g. the API-Specs repository). Useful if you want to run the function multiple times in a row. .EXAMPLE -Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' +Invoke-REST2CARML -FullResourceType 'Microsoft.Keyvault/vaults' Generate/Update a CARML module for [Microsoft.Keyvault/vaults] .EXAMPLE -Invoke-REST2CARML -ProviderNamespace 'Microsoft.AVS' -ResourceType 'privateClouds' -Verbose -KeepArtifacts +Invoke-REST2CARML -FullResourceType 'Microsoft.AVS/privateClouds' -Verbose -KeepArtifacts Generate/Update a CARML module for [Microsoft.AVS/privateClouds] and do not delete any downloaded/cloned artifact. .EXAMPLE -Invoke-REST2CARML -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' -KeepArtifacts +Invoke-REST2CARML -FullResourceType 'Microsoft.Keyvault/vaults' -KeepArtifacts Generate/Update a CARML module for [Microsoft.Keyvault/vaults] and do not delete any downloaded/cloned artifact. .EXAMPLE -Invoke-AzureApiCrawler -ProviderNamespace 'Microsoft.Storage' -ResourceType 'storageAccounts/blobServices/containers' -Verbose -KeepArtifacts +Invoke-AzureApiCrawler -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' -Verbose -KeepArtifacts Generate/Update a CARML module for [Microsoft.Storage/storageAccounts/blobServices/containers] and do not delete any downloaded/cloned artifact. #> @@ -47,10 +43,7 @@ function Invoke-REST2CARML { [CmdletBinding(SupportsShouldProcess)] param ( [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, + [string] $FullResourceType, [Parameter(Mandatory = $false)] [switch] $ExcludeChildren, @@ -64,7 +57,7 @@ function Invoke-REST2CARML { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - Write-Verbose ('Processing module [{0}/{1}]' -f $ProviderNamespace, $ResourceType) -Verbose + Write-Verbose ('Processing module [{0}]' -f $FullResourceType) -Verbose } process { @@ -74,11 +67,10 @@ function Invoke-REST2CARML { ############################################ $apiSpecsInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - ExcludeChildren = $ExcludeChildren - IncludePreview = $IncludePreview - KeepArtifacts = $KeepArtifacts + FullResourceType = $FullResourceType + ExcludeChildren = $ExcludeChildren + IncludePreview = $IncludePreview + KeepArtifacts = $KeepArtifacts } $moduleData = Get-AzureApiSpecsData @apiSpecsInputObject From 8624670663f386c387110c513192f6f7f4a7bc10 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 22:34:02 +0200 Subject: [PATCH 089/130] Fixed child resource ref --- .../REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 | 2 +- .../tools/REST2CARML/private/extension/Set-LockModuleData.ps1 | 2 +- .../private/extension/Set-PrivateEndpointModuleData.ps1 | 2 +- .../private/extension/Set-RoleAssignmentsModuleData.ps1 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index c05a0582ff..e53df3f810 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -38,7 +38,7 @@ function Set-DiagnosticModuleData { } process { - $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType if (-not ($diagnosticOptions.Logs -and $diagnosticOptions.Metrics)) { diff --git a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index 2907f993db..87e95d24a0 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -39,7 +39,7 @@ function Set-LockModuleData { process { - $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] if (-not (Get-SupportsLock -UrlPath $UrlPath)) { return diff --git a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 index d282f79258..2ec946a9e3 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 @@ -39,7 +39,7 @@ function Set-PrivateEndpointModuleData { process { - $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] if (-not (Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath)) { return diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 4c8ebe4ea4..84d3776761 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -45,7 +45,7 @@ function Set-RoleAssignmentsModuleData { process { - $resourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $ResourceType + $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] # Tokens to replace in files $tokens = @{ From 540cf78f32627260d44adfa547e4a8b275a97fcb Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 22:38:53 +0200 Subject: [PATCH 090/130] Update to latest --- utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 | 1 - 1 file changed, 1 deletion(-) diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index aac827d3d5..f8442c7c82 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -69,7 +69,6 @@ function Get-AzureApiSpecsData { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $providerNamespace = ($FullResourceType -split '/')[0] $resourceType = $FullResourceType -replace "$providerNamespace/", '' } From 6a4c3db35bb24fbe2cb36185a7cbd7f5f72c50c8 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 22:40:01 +0200 Subject: [PATCH 091/130] Update to latest --- .../public/Get-AzureApiSpecsData.ps1 | 40 +++++-------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index f8442c7c82..2207bdaf29 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -16,39 +16,19 @@ Optional. Don't include child resource types in the result Optional. Include preview API versions .EXAMPLE -Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' +Get-AzureApiSpecsData -FullResourceType 'Microsoft.Keyvault/vaults' -Get the data for [Microsoft.Storage/storageAccounts/blobServices/containers] based on the data stored in the provided API Specs rpository path +Get the data for [Microsoft.Keyvault/vaults] .EXAMPLE -# Get the Storage Account resource data (and the one of all its child-resources) -$out = Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts' -Verbose -KeepArtifacts - -# The object looks somewhat like: -# Name Value -# ---- ----- -# data {outputs, parameters, resources, variables…} -# identifier Microsoft.Storage/storageAccounts -# metadata {parentUrlPath, urlPath} -# -# data {outputs, parameters, resources, variables…} -# identifier Microsoft.Storage/storageAccounts/localUsers -# metadata {parentUrlPath, urlPath} - -# Filter the list down to only the Storage Account itself -$storageAccountResource = $out | Where-Object { $_.identifier -eq 'Microsoft.Storage/storageAccounts' } - -# Print a simple outline similar to the Azure Resource reference: -$storageAccountResource.data.parameters | ForEach-Object { '{0}{1}:{2}' -f (' ' * $_.level), $_.name, $_.type } - -# Filter parameters down to those containing the keyword 'network' -$storageAccountResource.data.parameters | Where-Object { $_.description -like "*network*" } | ConvertTo-Json - -# Use the Grid-View to enable dynamic UI processing using a table format -$storageAccountResource.data.parameters | Where-Object { $_.type -notin @('object','array') } | ForEach-Object { [PSCustomObject]@{ Name = $_.name; Description = $_.description } } | Out-GridView - -# Get data for a specific child-resource type -$out = Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' -Verbose -KeepArtifacts +Get-AzureApiSpecsData -FullResourceType 'Microsoft.AVS/privateClouds' -Verbose -KeepArtifacts + +Get the data for [Microsoft.AVS/privateClouds] and do not delete any downloaded/cloned artifact. + +.EXAMPLE +Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' -Verbose -KeepArtifacts + +Get the data for [Microsoft.Storage/storageAccounts/blobServices/containers] and do not delete any downloaded/cloned artifact. #> function Get-AzureApiSpecsData { From 99c87b1e7962fd38a9b1748b500889c71a8b1704 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 22:40:49 +0200 Subject: [PATCH 092/130] Update to latest --- utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index 2207bdaf29..adad5b80a0 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -15,6 +15,9 @@ Optional. Don't include child resource types in the result .PARAMETER IncludePreview Optional. Include preview API versions +.PARAMETER KeepArtifacts +Optional. Skip the removal of downloaded/cloned artifacts (e.g. the API-Specs repository). Useful if you want to run the function multiple times in a row. + .EXAMPLE Get-AzureApiSpecsData -FullResourceType 'Microsoft.Keyvault/vaults' From 6585763b19f0acb9061848e95c58d56c88b55a2a Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 22:43:13 +0200 Subject: [PATCH 093/130] Update to latest --- .../tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index adad5b80a0..595fb0fab8 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -2,7 +2,6 @@ .SYNOPSIS Get module configuration data based on the latest API information available - .DESCRIPTION Get module configuration data based on the latest API information available. If you want to use a nested resource type, just concatinate the identifiers like 'storageAccounts/blobServices/containers' @@ -72,9 +71,9 @@ function Get-AzureApiSpecsData { ## Find relevant Spec-Files & URL Paths ## ############################################## $getPathDataInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - RepositoryPath = $RepositoryPath + ProviderNamespace = $providerNamespace + ResourceType = $resourceType + RepositoryPath = $repositoryPath IncludePreview = $IncludePreview } $pathData = Get-ServiceSpecPathData @getPathDataInputObject From 3468b6d60057f48547a660f9865acbe2dfcc9ac2 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Thu, 27 Oct 2022 22:43:32 +0200 Subject: [PATCH 094/130] Update to latest --- utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index 595fb0fab8..5ef468ed51 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -88,7 +88,6 @@ function Get-AzureApiSpecsData { ################################################################# $moduleData = @() foreach ($pathBlock in $pathData) { - # Calculate simplified identifier $identifier = ($pathBlock.urlPath -split '\/providers\/')[1] $identifierElem = $identifier -split '\/' @@ -124,6 +123,7 @@ function Get-AzureApiSpecsData { } return $moduleData + } catch { throw $_ } finally { From 6a13ee156db3861e16509375c7fe8e980c3d6bf2 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 28 Oct 2022 18:03:40 +0200 Subject: [PATCH 095/130] Latest draft --- .../REST2CARML/private/module/Set-Module.ps1 | 19 +++-- .../private/module/Set-ModuleTemplate.ps1 | 75 +++++++++++++++++-- .../private/module/Set-ModuleTestFile.ps1 | 2 +- .../REST2CARML/public/Invoke-REST2CARML.ps1 | 5 +- 4 files changed, 83 insertions(+), 18 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index 6145726ef6..320c59923f 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -11,6 +11,9 @@ Mandatory. The complete ResourceType identifier to update the template for (e.g. .PARAMETER ModuleData Mandatory. The module data (e.g. parameters) to add to the template. +.PARAMETER FullModuleData +Mandatory. The full stack of module data of all modules included in the original invocation. May be used for parent-child references. + .PARAMETER JSONFilePath Mandatory. The service specification file to process. @@ -18,7 +21,7 @@ Mandatory. The service specification file to process. Mandatory. The API Path in the JSON specification file to process .EXAMPLE -Set-Module -FullResourceType 'Microsoft.KeyVault/vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +Set-Module -FullResourceType 'Microsoft.KeyVault/vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -FullModuleData @(@{ parameters = @(...); resource = @(...); (...) }, @{...}) Update the module [Microsoft.KeyVault/vaults] with the provided module data. #> @@ -32,6 +35,9 @@ function Set-Module { [Parameter(Mandatory = $true)] [Hashtable] $ModuleData, + [Parameter(Mandatory = $true)] + [array] $FullModuleData, + [Parameter(Mandatory = $true)] [string] $JSONFilePath, @@ -44,6 +50,7 @@ function Set-Module { $moduleRootPath = Join-Path $script:repoRoot 'modules' $FullResourceType $templatePath = Join-Path $moduleRootPath 'deploy.bicep' + $isTopLevelModule = ($FullResourceType -split '\/').Count -eq 2 # Load external functions . (Join-Path $script:repoRoot 'utilities' 'tools' 'Set-ModuleReadMe.ps1') @@ -54,13 +61,9 @@ function Set-Module { ## Update Support Files # ############################# - # Pipeline files (top-level module only) - if (($FullResourceType -split '/').count -eq 1) { + # Pipeline & test files (top-level module only) + if ($isTopLevelModule) { Set-ModulePipelineFile -FullResourceType $FullResourceType - } - - # Test files (top-level module only) - if (($FullResourceType -split '/').count -eq 1) { Set-ModuleTestFile -FullResourceType $FullResourceType } @@ -92,10 +95,10 @@ function Set-Module { ############################# ## Update Template File # ############################# - $moduleTemplateContentInputObject = @{ FullResourceType = $FullResourceType ModuleData = $ModuleData + FullModuleData = $FullModuleData JSONFilePath = $JSONFilePath urlPath = $UrlPath } diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 989b82cc31..bdeefa7d6d 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -11,6 +11,9 @@ Mandatory. The complete ResourceType identifier to update the template for (e.g. .PARAMETER ModuleData Mandatory. The module data (e.g. parameters) to add to the template. +.PARAMETER FullModuleData +Mandatory. The full stack of module data of all modules included in the original invocation. May be used for parent-child references. + .PARAMETER JSONFilePath Mandatory. The service specification file to process. @@ -18,7 +21,7 @@ Mandatory. The service specification file to process. Mandatory. The API Path in the JSON specification file to process .EXAMPLE -Set-ModuleTemplate -FullResourceType 'Microsoft.KeyVault/vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' +Set-ModuleTemplate -FullResourceType 'Microsoft.KeyVault/vaults' -ModuleData @{ parameters = @(...); resource = @(...); (...) } -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -FullModuleData @(@{ parameters = @(...); resource = @(...); (...) }, @{...}) Update the module [Microsoft.KeyVault/vaults] with the provided module data. #> @@ -32,6 +35,9 @@ function Set-ModuleTemplate { [Parameter(Mandatory = $true)] [array] $ModuleData, + [Parameter(Mandatory = $true)] + [array] $FullModuleData, + [Parameter(Mandatory = $true)] [string] $JSONFilePath, @@ -48,6 +54,10 @@ function Set-ModuleTemplate { } process { + $directChildren = $fullmoduleData | Where-Object { + # direct children are only those with one more '/' in the path + (($_.identifier -replace $FullResourceType, '') -split '/').Count -eq 2 + } $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] @@ -77,6 +87,23 @@ function Set-ModuleTemplate { foreach ($parameter in $ModuleData.additionalParameters) { $templateContent += Get-FormattedModuleParameter -ParameterData $parameter } + + # Child module references + foreach ($dataBlock in $directChildren) { + $childResourceType = ($dataBlock.identifier -split '/')[-1] + + $templateContent += Get-FormattedModuleParameter -ParameterData @{ + level = 0 + name = $childResourceType + type = 'array' + default = @() + description = "The $childResourceType to create as part of the $resourceTypeSingular." + required = $false + } + } + + # TODO: Add parent name(s) if any + # Add telemetry parameter $templateContent += Get-FormattedModuleParameter -ParameterData @{ level = 0 @@ -95,11 +122,12 @@ function Set-ModuleTemplate { $templateContent += $variable } # Add telemetry variable - # TODO: Should only be added if module has children) - $templateContent += @( - 'var enableReferencedModulesTelemetry = false' - '' - ) + if ($directChildren.Count -gt 0) { + $templateContent += @( + 'var enableReferencedModulesTelemetry = false' + '' + ) + } ################### ## DEPLOYMENTS ## @@ -117,6 +145,8 @@ function Set-ModuleTemplate { $templateContent += Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') $templateContent += '' + # TODO: Add recursive parent reference (if any) + # Deployment resource declaration line $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf $templateContent += "resource $resourceTypeSingular '$FullResourceType@$serviceAPIVersion' = {" @@ -140,7 +170,38 @@ function Set-ModuleTemplate { # Other collected resources $templateContent += $ModuleData.resources - # TODO: Add children references if applicable + # Child-module references + foreach ($dataBlock in $directChildren) { + $childResourceType = ($dataBlock.identifier -split '/')[-1] + $childResourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $childResourceType + $templateContent += @( + "module $($resourceTypeSingular)_$($childResourceType) '$($childResourceType)/deploy.bicep' = [for ($($childResourceTypeSingular), index) in $($childResourceType): {", + "name: '`${uniqueString(deployment().name, location)}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", + 'params: {' + ) + # TODO : Generate resource based on path + top-level properties + + # TODO: Add parent name(s) to be passed down too + + # Add primary child parameters + foreach ($parameter in ($dataBlock.data.parameters | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { + # TODO handle required vs. non required + $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter + $wouldBeParameter + } + # Add additional (extension) parameters + foreach ($parameter in $dataBlock.data.additionalParameters) { + # TODO handle required vs. non required + $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter + } + + $templateContent += @( + ' enableDefaultTelemetry: enableReferencedModulesTelemetry' + ' }' + '}]' + '' + ) + } ####################################### ## Create template outputs section ## diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 index 215779484f..efdeac024d 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 @@ -36,7 +36,7 @@ function Set-ModuleTestFile { ) | ForEach-Object { if (-not (Test-Path $_)) { if ($PSCmdlet.ShouldProcess(('File [{0}]' -f ($_ -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { - $null = New-Item -Path $_ -ItemType 'File' + $null = New-Item -Path $_ -ItemType 'File' -Force } } else { Write-Verbose "File [$_] already exists." diff --git a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index 296f198cda..7debd7aa52 100644 --- a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -72,18 +72,19 @@ function Invoke-REST2CARML { IncludePreview = $IncludePreview KeepArtifacts = $KeepArtifacts } - $moduleData = Get-AzureApiSpecsData @apiSpecsInputObject + $fullModuleData = Get-AzureApiSpecsData @apiSpecsInputObject ############################ ## Set module content ## ############################ - foreach ($moduleDataBlock in ($moduleData | Sort-Object -Property 'Identifier')) { + foreach ($moduleDataBlock in ($fullModuleData | Sort-Object -Property 'Identifier')) { # Sort shortest to longest path $moduleTemplateInputObject = @{ FullResourceType = $moduleDataBlock.identifier JSONFilePath = $moduleDataBlock.metadata.jsonFilePath UrlPath = $moduleDataBlock.metadata.urlPath ModuleData = $moduleDataBlock.data + FullModuleData = $fullModuleData } if ($PSCmdlet.ShouldProcess(('Module [{0}] files' -f $moduleDataBlock.identifier), 'Create/Update')) { Set-Module @moduleTemplateInputObject From a5fda87622973a8fe58a3e01d34dde360e3effa0 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 28 Oct 2022 18:12:32 +0200 Subject: [PATCH 096/130] Update to latest --- .../private/extension/Set-DiagnosticModuleData.ps1 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index e53df3f810..cb1a642297 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -165,9 +165,10 @@ function Set-DiagnosticModuleData { $ModuleData.resources += $diagnosticResource # Other variables - $ModuleData.variables += @( - "@description('Optional. The name of the diagnostic setting, if deployed.')" - "param diagnosticSettingsName string = '`${name}-diagnosticSettings'" + $ModuleData.additionalParameters += @( + "@description('Optional. The name of the diagnostic setting, if deployed.')", + "param diagnosticSettingsName string = '`${name}-diagnosticSettings'", + '' ) } From d7cba512bb34ce6ee8350b57d6b6d9e634d23d50 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 28 Oct 2022 18:17:51 +0200 Subject: [PATCH 097/130] Small fix --- .../private/extension/Set-DiagnosticModuleData.ps1 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index cb1a642297..d783e0530e 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -166,9 +166,13 @@ function Set-DiagnosticModuleData { # Other variables $ModuleData.additionalParameters += @( - "@description('Optional. The name of the diagnostic setting, if deployed.')", - "param diagnosticSettingsName string = '`${name}-diagnosticSettings'", - '' + @{ + name = 'diagnosticSettingsName' + type = 'string' + description = 'The name of the diagnostic setting, if deployed.' + required = $false + default = '${name}-diagnosticSettings' + } ) } From 767040cc9faa460daa1271d91796ab8cf8142789 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 28 Oct 2022 20:32:56 +0200 Subject: [PATCH 098/130] Further updates & fixes --- .../module/Get-FormattedModuleParameter.ps1 | 30 +++++++++------- .../private/module/Set-ModuleTemplate.ps1 | 34 ++++++++++++------- .../Get-SpecsPropertiesAsParameterList.ps1 | 4 +-- .../specs/Get-SpecsPropertyAsParameter.ps1 | 4 +++ 4 files changed, 46 insertions(+), 26 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index 5d897b87ce..03fb547c7c 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -115,20 +115,26 @@ function Get-FormattedModuleParameter { break } 'array' { - $result += "$paramLine = [" - $result += $ParameterData.default | ForEach-Object { - if ($ParameterData.type -eq 'boolean') { - # Any boolean type (e.g., True) - " '{0}'" -f $_.ToLower() - } elseif ($_ -match '\w') { - # Any string value (e.g., 'Enabled') - " '$_'" - } elseif ($_ -match '\d') { - # Any number value (e.g., 3) - " $_" + if ($ParameterData.default.Count -eq 0) { + $result += "$paramLine = []" + } else { + $result += "$paramLine = [" + $result += $ParameterData.default | ForEach-Object { + if ($ParameterData.type -eq 'boolean') { + # Any boolean type (e.g., True) + " '{0}'" -f $_.ToLower() + } elseif ($_ -match '\w') { + # Any string value (e.g., 'Enabled') + " '$_'" + } elseif ($_ -match '\d') { + # Any number value (e.g., 3) + " $_" + } else { + throw 'Not handled when formatting object' + } } + $result += ']' } - $result += ']' break } 'integer' { diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index bdeefa7d6d..89b1d2f0a3 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -55,8 +55,7 @@ function Set-ModuleTemplate { process { $directChildren = $fullmoduleData | Where-Object { - # direct children are only those with one more '/' in the path - (($_.identifier -replace $FullResourceType, '') -split '/').Count -eq 2 + ($_.identifier -split '/').Count -gt ($FullResourceType -split '/').count } $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] @@ -179,23 +178,34 @@ function Set-ModuleTemplate { "name: '`${uniqueString(deployment().name, location)}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", 'params: {' ) - # TODO : Generate resource based on path + top-level properties # TODO: Add parent name(s) to be passed down too # Add primary child parameters - foreach ($parameter in ($dataBlock.data.parameters | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { - # TODO handle required vs. non required - $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter - $wouldBeParameter - } - # Add additional (extension) parameters - foreach ($parameter in $dataBlock.data.additionalParameters) { - # TODO handle required vs. non required - $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter + $allParam = $dataBlock.data.parameters + $dataBlock.data.additionalParameters + foreach ($parameter in ($allParam | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { + $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter | Where-Object { $_ -like 'param *' } | ForEach-Object { $_ -replace 'param ', '' } + $wouldBeParamElem = $wouldBeParameter -split ' = ' + $parameter.name = ($wouldBeParamElem -split ' ')[0] + if ($wouldBeParamElem.count -gt 1) { + # With default + + if ($parameter.name -eq 'lock') { + # Special handling as we pass the parameter down to the child + $templateContent += " lock: contains($($childResourceTypeSingular), 'lock') ? $($childResourceTypeSingular).lock : lock" + continue + } + + $wouldBeParamValue = $wouldBeParamElem[1] + $templateContent += " $($parameter.name): contains($($childResourceTypeSingular), '$($parameter.name)') ? $($childResourceTypeSingular).$($parameter.name) : $($wouldBeParamValue)" + } else { + # No default + $templateContent += " $($parameter.name): $($childResourceTypeSingular).$($parameter.name)" + } } $templateContent += @( + # Special handling as we pass the variable down to the child ' enableDefaultTelemetry: enableReferencedModulesTelemetry' ' }' '}]' diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 index 2855daa2f0..74d0e17dc2 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 @@ -112,7 +112,7 @@ function Get-SpecsPropertiesAsParameterList { # Process outer properties # ------------------------0 - foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -notin @('location') -and -not $outerParameters.properties[$_].readOnly } | Sort-Object ) { + foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -notin @('location') -and -not $outerParameters.properties[$_].readOnly } | Sort-Object) { $innerParamInputObject = @{ JSONFilePath = $JSONFilePath Parameter = $outerParameters.properties[$outerParameter] @@ -127,7 +127,7 @@ function Get-SpecsPropertiesAsParameterList { # Special case: Location # The location parameter is not explicitely documented at this place (even though it should). It is however referenced as 'required' and must be included - if ($outerParameters.required -contains 'location') { + if ($outerParameters.required -contains 'location' -or $outerParameters.properties.Keys -contains 'location') { $parameterObject = @{ level = 0 name = 'location' diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 index 5faeefd604..4ab78d9ac9 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 @@ -100,6 +100,10 @@ function Get-SpecsPropertyAsParameter { $refObjects = @() + if ($Parameter.readOnly) { + return @() + } + if ($Parameter.Keys -contains '$ref') { # Parameter contains a reference to another specification $inputObject = @{ From 13aefc1b1fd1949483ed59f10dc3bb1463a3ace7 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 28 Oct 2022 20:58:51 +0200 Subject: [PATCH 099/130] Cleanup --- .../REST2CARML/private/specs/Get-FileList.ps1 | 84 ------------------- 1 file changed, 84 deletions(-) delete mode 100644 utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 diff --git a/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 deleted file mode 100644 index 8e670df886..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Get-FileList.ps1 +++ /dev/null @@ -1,84 +0,0 @@ -<# -.SYNOPSIS -Get a list of all API Spec files that are relevant for the given Provider Namespace & Resource Type. - -.DESCRIPTION -Get a list of all API Spec files that are relevant for the given Provider Namespace & Resource Type. - -Paths must contain: -- ProviderNamespace -- Resource-Manager -- API version -- Speicication JSON file -- Preview (if configured) - - -Paths must NOT contain -- Examples - -.PARAMETER RootFolder -Mandatory. The root folder to search from (recursively). - -.PARAMETER ProviderNamespace -Mandatory. The ProviderNsmespace to filter for. - -.PARAMETER ResourceType -Mandatory. The ResourceType to filter for. - -.PARAMETER IncludePreview -Optional. Consider preview versions - -.EXAMPLE -Get-FileList -RootFolder './temp/azure-rest-api-specs/specification' -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' - -Get the API spec files for [Microsoft.KeyVault/vaults]. -#> -function Get-FileList { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $rootFolder, - - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, - - [Parameter(Mandatory = $false)] - [switch] $IncludePreview - ) - - # TODO: Is this file intended to be used anywhere? - - $allFilePaths = (Get-ChildItem -Path $rootFolder -Recurse -File).FullName - Write-Verbose ('Fetched all [{0}] file paths. Filtering...' -f $allFilePaths.Count) -Verbose - # Filter - $filteredFilePaths = $allFilePaths | Where-Object { - ($_ -replace '\\', '/') -like '*/resource-manager/*' - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -notlike '*/examples/*' - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" - } - if (-not $IncludePreview) { - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -notlike '*/preview/*' - } - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -like ('*/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*/*.json') - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -like ('*/*.json') - } - if (-not $filteredFilePaths) { - Write-Warning "No files found for resource type [$ProviderNamespace/$ResourceType]" - return $filteredFilePaths - } - Write-Verbose ('Filtered down to [{0}] files.' -f $filteredFilePaths.Length) -Verbose - return $filteredFilePaths | Sort-Object -} From a6c7da8818b7d834ef18b1181d4489317ff6bc62 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Fri, 28 Oct 2022 21:56:49 +0200 Subject: [PATCH 100/130] Further updates for parent/child relation --- .../module/Get-FormattedModuleParameter.ps1 | 8 +++++- .../private/module/Set-ModuleTemplate.ps1 | 27 ++++++++++++++++--- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index 03fb547c7c..90dc3a0522 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -26,7 +26,13 @@ function Get-FormattedModuleParameter { # ---------------------- if ($ParameterData.description) { # For the description we have to escape any single quote that is not already escaped (i.e., negative lookbehind) - $result += "@description('{0}. {1}')" -f (($ParameterData.required) ? 'Required' : 'Optional'), ($ParameterData.description -replace "(? Date: Fri, 28 Oct 2022 22:37:41 +0200 Subject: [PATCH 101/130] Update to latest --- .../tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 | 1 + .../REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index d6813a2d0f..67a48b3938 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -163,6 +163,7 @@ function Set-ModuleTemplate { $templateContent += '' # TODO: Add recursive parent reference (if any) + # TODO: Also add 'scope' statement for main resource (linking to the existing parent ref) # Deployment resource declaration line $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 index 4ab78d9ac9..02716b8bc7 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 @@ -148,8 +148,8 @@ function Get-SpecsPropertyAsParameter { Parameter = $Parameter RequiredParametersOnLevel = $RequiredParametersOnLevel Level = $Level - Parent = $Name - Name = $property + Parent = $Parent + Name = $Name } $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject } From 6cb70805acbd05186ea9c05f8cfa54c244de1ec6 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 00:00:16 +0200 Subject: [PATCH 102/130] Update to latest --- .../module/Get-ParentResourceTypeList.ps1 | 34 +++++++++++++++++++ .../private/module/Set-ModuleTemplate.ps1 | 32 +++++++++++++++-- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 utilities/tools/REST2CARML/private/module/Get-ParentResourceTypeList.ps1 diff --git a/utilities/tools/REST2CARML/private/module/Get-ParentResourceTypeList.ps1 b/utilities/tools/REST2CARML/private/module/Get-ParentResourceTypeList.ps1 new file mode 100644 index 0000000000..55b36c6d9e --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-ParentResourceTypeList.ps1 @@ -0,0 +1,34 @@ +<# +.SYNOPSIS +Get the resource type's parents + +.DESCRIPTION +Get the resource type's parents + +.PARAMETER ResourceType +Mandatory. The resource type to get all parent paths of + +.EXAMPLE +Get-ParentResourceTypeList -ResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' + +Get the parent resource paths for [Microsoft.Storage/storageAccounts/blobServices/containers]. Would return +- Microsoft.Storage/storageAccounts/blobServices/containers +- Microsoft.Storage/storageAccounts/blobServices +- Microsoft.Storage/storageAccounts +#> +function Get-ParentResourceTypeList { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $ResourceType + ) + + $res = @( + $ResourceType + ) + if (($ResourceType -split '/').Count -gt 2) { + $res += Get-ParentResourceTypeList -ResourceType ((Split-Path $ResourceType -Parent) -replace '\\', '/') + } + return $res +} diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 67a48b3938..b299d9bd87 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -67,6 +67,9 @@ function Set-ModuleTemplate { $parentResourceTypes = @() } + # Collect all parent references for 'exiting' resource references + $fullParentResourceStack = Get-ParentResourceTypeList -ResourceType $FullResourceType + # Get the singular version of the current resource type for proper naming $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] @@ -162,13 +165,38 @@ function Set-ModuleTemplate { $templateContent += Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') $templateContent += '' - # TODO: Add recursive parent reference (if any) - # TODO: Also add 'scope' statement for main resource (linking to the existing parent ref) + $existingResourceIndent = 0 + $orderedParentResourceTypes = $fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object + foreach ($parentResourceType in $orderedParentResourceTypes) { + $singularParent = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] + $levedParentResourceType = ($parentResourceType -ne $orderedParentResourceTypes[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType + $parentResourceAPI = Split-Path (Split-Path ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath -Parent) -Leaf + $templateContent += @( + "$(' ' * $existingResourceIndent)resource $($singularParent) '$($levedParentResourceType)@$($parentResourceAPI)' existing = {", + "$(' ' * $existingResourceIndent) name: $($singularParent)Name" + ) + if ($parentResourceType -ne $orderedParentResourceTypes[-1]) { + # Only add an empty line if there is more content to add + $templateContent += '' + } + $existingResourceIndent += 4 + } + # Add closing brakets + foreach ($parentResourceType in ($fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object)) { + $existingResourceIndent -= 4 + $templateContent += "$(' ' * $existingResourceIndent)}" + } + $templateContent += '' # Deployment resource declaration line $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf $templateContent += "resource $resourceTypeSingular '$FullResourceType@$serviceAPIVersion' = {" + if (($FullResourceType -split '/').Count -ne 2) { + # In case of children, we set the 'parent' to the next parent + $templateContent += (' parent: {0}' -f (($parentResourceTypes | ForEach-Object { Get-ResourceTypeSingularName -ResourceType $_ }) -join '::')) + } + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 -and $_.name -ne 'properties' })) { $templateContent += ' {0}: {0}' -f $parameter.name } From 9b5f20c8462e6f39e4109a5d1f71be74b3a91895 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 12:54:58 +0200 Subject: [PATCH 103/130] Latest update --- .../extension/Get-SupportsPrivateEndpoint.ps1 | 17 ++++++++++++++--- .../private/extension/Set-LockModuleData.ps1 | 6 +++--- .../Set-PrivateEndpointModuleData.ps1 | 10 ++++++++-- .../REST2CARML/private/module/Set-Module.ps1 | 2 +- .../private/module/Set-ModuleTemplate.ps1 | 18 +++++++++++++++--- .../private/specs/Resolve-ModuleData.ps1 | 3 ++- 6 files changed, 43 insertions(+), 13 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 b/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 index c9e339d0b2..1cf6391980 100644 --- a/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 @@ -5,11 +5,14 @@ Check if the given service specification supports private endpoints .DESCRIPTION Check if the given service specification supports private endpoints +.PARAMETER UrlPath +Mandatory. The JSON key path (of the API Specs) to use when determining if private endpoints are supported or not + .PARAMETER JSONFilePath Mandatory. The file path to the service specification to check .EXAMPLE -Get-SupportsPrivateEndpoint -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' +Get-SupportsPrivateEndpoint -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' Check the Key Vault service specification for any Private Endpoint references #> @@ -18,6 +21,9 @@ function Get-SupportsPrivateEndpoint { [CmdletBinding()] [OutputType('System.Boolean')] param ( + [Parameter(Mandatory = $true)] + [string] $UrlPath, + [Parameter(Mandatory = $true)] [string] $JSONFilePath ) @@ -29,9 +35,14 @@ function Get-SupportsPrivateEndpoint { process { $specContent = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable + # Only consider those paths that + # - contain a reference to private links + # - and in that link reference a resource type (e.g. 'Microsoft.Storage/storageAccounts/privateLink/*') $relevantPaths = $specContent.paths.Keys | Where-Object { - ($_ -replace '\\', '/') -like '*/privateLinkResources*' -or - ($_ -replace '\\', '/') -like '*/privateEndpointConnections*' + (($_ -replace '\\', '/') -like '*/privateLinkResources*' -or + ($_ -replace '\\', '/') -like '*/privateEndpointConnections*') -and + $_ -like "$UrlPath/*" -and + $_ -ne $UrlPath } | Where-Object { $specContent.paths[$_].keys -contains 'put' } diff --git a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index 87e95d24a0..e15e939f06 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -15,7 +15,7 @@ Mandatory. The resource type to check if lock are supported. Mandatory. The ModuleData object to populate. .EXAMPLE -Set-LockModuleData -UrlPath = '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } +Set-LockModuleData -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } Add the lock module data of the resource type [vaults] to the provided module data object #> @@ -53,8 +53,8 @@ function Set-LockModuleData { required = $false default = '' allowedValues = @( - '', - 'CanNotDelete', + '' + 'CanNotDelete' 'ReadOnly' ) } diff --git a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 index 2ec946a9e3..7a5ebd8d10 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 @@ -5,6 +5,9 @@ Populate the provided ModuleData with all parameters, variables & resources requ .DESCRIPTION Populate the provided ModuleData with all parameters, variables & resources required for private endpoints. +.PARAMETER UrlPath +Mandatory. The JSON key path (of the API Specs) to use when determining if private endpoints are supported or not + .PARAMETER JSONFilePath Mandatory. The path to the API Specs file to use to check if private endpoints are supported. @@ -15,7 +18,7 @@ Mandatory. The resource type to check if private endpoints are supported. Mandatory. The ModuleData object to populate. .EXAMPLE -Set-PrivateEndpointModuleData -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } +Set-PrivateEndpointModuleData -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' Add the private endpoint module data of the resource type [vaults] to the provided module data object #> @@ -23,6 +26,9 @@ function Set-PrivateEndpointModuleData { [CmdletBinding()] param ( + [Parameter(Mandatory = $true)] + [string] $UrlPath, + [Parameter(Mandatory = $true)] [string] $JSONFilePath, @@ -41,7 +47,7 @@ function Set-PrivateEndpointModuleData { $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] - if (-not (Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath)) { + if (-not (Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath -UrlPath $UrlPath)) { return } diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index 320c59923f..b58bfe2e06 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -109,7 +109,7 @@ function Set-Module { ############################# try { if ($PSCmdlet.ShouldProcess(('Module ReadMe [{0}]' -f (Join-Path (Split-Path $templatePath -Parent) 'readme.md')), 'Update')) { - Set-ModuleReadMe -TemplateFilePath $templatePath + Set-ModuleReadMe -TemplateFilePath $templatePath -Verbose:$false } } catch { Write-Warning "Invocation of 'Set-ModuleReadMe' fuction for template in path [$templatePath] failed. Please review the template and re-run the command `Set-ModuleReadMe -TemplateFilePath '$templatePath'``" diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index b299d9bd87..cfb0de367f 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -134,6 +134,8 @@ function Set-ModuleTemplate { required = $false } + $locationParameterExists = ($templateContent | Where-Object { $_ -like 'param location *' }).Count -gt 0 + ################# ## VARIABLES ## ################# @@ -162,14 +164,18 @@ function Set-ModuleTemplate { ) # Telemetry - $templateContent += Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') + $telemetryTemplate = Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') + if (-not $locationParameterExists) { + $telemetryTemplate = $telemetryTemplate -replace ', location', '' + } + $templateContent += $telemetryTemplate $templateContent += '' $existingResourceIndent = 0 $orderedParentResourceTypes = $fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object foreach ($parentResourceType in $orderedParentResourceTypes) { $singularParent = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] - $levedParentResourceType = ($parentResourceType -ne $orderedParentResourceTypes[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType + $levedParentResourceType = ($parentResourceType -ne (@() + $orderedParentResourceTypes)[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType $parentResourceAPI = Split-Path (Split-Path ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath -Parent) -Leaf $templateContent += @( "$(' ' * $existingResourceIndent)resource $($singularParent) '$($levedParentResourceType)@$($parentResourceAPI)' existing = {", @@ -222,7 +228,7 @@ function Set-ModuleTemplate { $childResourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $childResourceType $templateContent += @( "module $($resourceTypeSingular)_$($childResourceType) '$($childResourceType)/deploy.bicep' = [for ($($childResourceTypeSingular), index) in $($childResourceType): {", - "name: '`${uniqueString(deployment().name, location)}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", + "name: '`${uniqueString(deployment().name$($locationParameterExists ? ', location' : ''))}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", 'params: {' ) @@ -247,6 +253,12 @@ function Set-ModuleTemplate { } $wouldBeParamValue = $wouldBeParamElem[1] + + # Special case, location function - should reference a location parameter instead + if ($wouldBeParamValue -like '*().location') { + $wouldBeParamValue = 'location' + } + $templateContent += " $($parameter.name): contains($($childResourceTypeSingular), '$($parameter.name)') ? $($childResourceTypeSingular).$($parameter.name) : $($wouldBeParamValue)" } else { # No default diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 index 398bf7323f..62ebfec41d 100644 --- a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 @@ -91,6 +91,7 @@ function Resolve-ModuleData { # Set Endpoint data $endpInputObject = @{ + UrlPath = $UrlPath JSONFilePath = $JSONFilePath ResourceType = $ResourceType ModuleData = $ModuleData @@ -108,7 +109,7 @@ function Resolve-ModuleData { ## Set Locks data $lockInputObject = @{ - urlPath = $UrlPath + UrlPath = $UrlPath ResourceType = $ResourceType ModuleData = $ModuleData } From 27751efd4e4e0830619a69f00cbc557dec2b3fd7 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 12:55:48 +0200 Subject: [PATCH 104/130] Update to latest --- utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index cfb0de367f..b1cacdfd2f 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -166,6 +166,7 @@ function Set-ModuleTemplate { # Telemetry $telemetryTemplate = Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') if (-not $locationParameterExists) { + # Remove the location from the deployment name if the template has no such parameter $telemetryTemplate = $telemetryTemplate -replace ', location', '' } $templateContent += $telemetryTemplate From 1dad3af5a934bb98832f2afea48f503d3c12bdbc Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 13:16:51 +0200 Subject: [PATCH 105/130] Additional fixes --- .../REST2CARML/private/module/Set-ModuleTemplate.ps1 | 3 ++- .../private/specs/Get-SpecsPropertyAsParameter.ps1 | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index b1cacdfd2f..16e92cb14e 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -56,7 +56,8 @@ function Set-ModuleTemplate { process { # Collect any children of the current resource to create references $directChildren = $fullmoduleData | Where-Object { - ($_.identifier -split '/').Count -gt ($FullResourceType -split '/').count + (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 1)) -and + $_.identifier -like "$FullResourceType/*" } # Collect parent resources to use for parent type references diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 index 02716b8bc7..f7e2515af4 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 @@ -180,19 +180,21 @@ function Get-SpecsPropertyAsParameter { $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject } else { # Each item has a primitive type - $refObjects += @{ + $parameterObject = @{ level = $Level name = $Name - type = '{0}[]' -f $Parameter.items.type + type = 'array' description = $Parameter.description required = $RequiredParametersOnLevel -contains $Name Parent = $Parent } + $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject + } } elseif ($parameter.Keys -contains 'properties') { # The case if a definition reference should have been created, but the RP implemented it another way. # Example "TableServiceProperties": { "properties": { "properties": { "properties": { "cors": {...}}}}} - $refObjects += @{ + $parameterObject = @{ level = $Level name = $Name type = 'object' @@ -200,6 +202,7 @@ function Get-SpecsPropertyAsParameter { required = $RequiredParametersOnLevel -contains $Name Parent = $Parent } + $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject foreach ($property in $Parameter['properties'].Keys) { $recursiveInputObject = @{ @@ -227,7 +230,6 @@ function Get-SpecsPropertyAsParameter { required = $RequiredParametersOnLevel -contains $Name Parent = $Parent } - $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject } From 9080dea5788e4479b5b502a4adee8d3f657caab4 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 13:46:14 +0200 Subject: [PATCH 106/130] Added latest todos & updated AVS --- .../privateClouds/addons/deploy.bicep | 64 ++++++ .../privateClouds/addons/version.json | 4 + .../privateClouds/authorizations/deploy.bicep | 54 +++++ .../privateClouds/authorizations/readme.md | 54 +++++ .../privateClouds/authorizations/version.json | 4 + .../privateClouds/cloudLinks/deploy.bicep | 58 +++++ .../privateClouds/cloudLinks/readme.md | 55 +++++ .../privateClouds/cloudLinks/version.json | 4 + .../clusters/datastores/deploy.bicep | 68 ++++++ .../clusters/datastores/readme.md | 57 +++++ .../clusters/datastores/version.json | 4 + .../privateClouds/clusters/deploy.bicep | 103 +++++++++ .../clusters/placementPolicies/deploy.bicep | 104 +++++++++ .../clusters/placementPolicies/version.json | 4 + .../privateClouds/clusters/version.json | 4 + .../Microsoft.AVS/privateClouds/deploy.bicep | 212 ++++++++++++------ .../globalReachConnections/deploy.bicep | 66 ++++++ .../globalReachConnections/readme.md | 57 +++++ .../globalReachConnections/version.json | 4 + .../hcxEnterpriseSites/deploy.bicep | 54 +++++ .../hcxEnterpriseSites/readme.md | 54 +++++ .../hcxEnterpriseSites/version.json | 4 + .../scriptExecutions/deploy.bicep | 86 +++++++ .../privateClouds/scriptExecutions/readme.md | 62 +++++ .../scriptExecutions/version.json | 4 + .../dhcpConfigurations/deploy.bicep | 76 +++++++ .../dhcpConfigurations/version.json | 4 + .../workloadNetworks/dnsServices/deploy.bicep | 91 ++++++++ .../workloadNetworks/dnsServices/version.json | 4 + .../workloadNetworks/dnsZones/deploy.bicep | 84 +++++++ .../workloadNetworks/dnsZones/version.json | 4 + .../portMirroringProfiles/deploy.bicep | 85 +++++++ .../portMirroringProfiles/version.json | 4 + .../workloadNetworks/publicIPs/deploy.bicep | 68 ++++++ .../workloadNetworks/publicIPs/version.json | 4 + .../workloadNetworks/segments/deploy.bicep | 76 +++++++ .../workloadNetworks/segments/version.json | 4 + .../workloadNetworks/vmGroups/deploy.bicep | 72 ++++++ .../workloadNetworks/vmGroups/version.json | 4 + .../private/module/Set-ModuleTemplate.ps1 | 11 +- utilities/tools/REST2CARML/readme.md | 5 +- 41 files changed, 1774 insertions(+), 66 deletions(-) create mode 100644 modules/Microsoft.AVS/privateClouds/addons/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/addons/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/authorizations/readme.md create mode 100644 modules/Microsoft.AVS/privateClouds/authorizations/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md create mode 100644 modules/Microsoft.AVS/privateClouds/cloudLinks/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md create mode 100644 modules/Microsoft.AVS/privateClouds/clusters/datastores/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/clusters/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md create mode 100644 modules/Microsoft.AVS/privateClouds/globalReachConnections/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md create mode 100644 modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md create mode 100644 modules/Microsoft.AVS/privateClouds/scriptExecutions/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/version.json create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep create mode 100644 modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/version.json diff --git a/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep new file mode 100644 index 0000000000..6ccc65484b --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep @@ -0,0 +1,64 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Required. Name of the addon for the private cloud') +param name string + +@description('Optional. The type of private cloud addon') +@allowed([ + 'SRM' + 'VR' + 'HCX' + 'Arc' +]) +param addonType string = '' + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + +} + +resource addon 'Microsoft.AVS/privateClouds/addons@2022-05-01' = { + parent: privateCloud + name: name + properties: { + addonType: addonType + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the addon.') +output name string = addon.name + +@description('The resource ID of the addon.') +output resourceId string = addon.id + +@description('The name of the resource group the addon was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/addons/version.json b/modules/Microsoft.AVS/privateClouds/addons/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/addons/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep new file mode 100644 index 0000000000..6bac0461d6 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep @@ -0,0 +1,54 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Required. Name of the ExpressRoute Circuit Authorization in the private cloud') +param name string + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + +} + +resource authorization 'Microsoft.AVS/privateClouds/authorizations@2022-05-01' = { + parent: privateCloud + name: name + properties: { + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the authorization.') +output name string = authorization.name + +@description('The resource ID of the authorization.') +output resourceId string = authorization.id + +@description('The name of the resource group the authorization was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/authorizations/readme.md b/modules/Microsoft.AVS/privateClouds/authorizations/readme.md new file mode 100644 index 0000000000..87c2a6e81f --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/authorizations/readme.md @@ -0,0 +1,54 @@ +# AVS PrivateClouds Authorizations `[Microsoft.AVS/privateClouds/authorizations]` + +This module deploys AVS PrivateClouds Authorizations. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.AVS/privateClouds/authorizations` | [2022-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/privateClouds/authorizations) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | Name of the ExpressRoute Circuit Authorization in the private cloud | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the authorization. | +| `resourceGroupName` | string | The name of the resource group the authorization was created in. | +| `resourceId` | string | The resource ID of the authorization. | + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.AVS/privateClouds/authorizations/version.json b/modules/Microsoft.AVS/privateClouds/authorizations/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/authorizations/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep new file mode 100644 index 0000000000..22d202acc2 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep @@ -0,0 +1,58 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Required. Name of the cloud link resource') +param name string + +@description('Optional. Identifier of the other private cloud participating in the link.') +param linkedCloud string = '' + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + +} + +resource cloudLink 'Microsoft.AVS/privateClouds/cloudLinks@2022-05-01' = { + parent: privateCloud + name: name + properties: { + linkedCloud: linkedCloud + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the cloudLink.') +output name string = cloudLink.name + +@description('The resource ID of the cloudLink.') +output resourceId string = cloudLink.id + +@description('The name of the resource group the cloudLink was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md b/modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md new file mode 100644 index 0000000000..091a2ea973 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md @@ -0,0 +1,55 @@ +# AVS PrivateClouds CloudLinks `[Microsoft.AVS/privateClouds/cloudLinks]` + +This module deploys AVS PrivateClouds CloudLinks. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.AVS/privateClouds/cloudLinks` | [2022-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/privateClouds/cloudLinks) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | Name of the cloud link resource | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `linkedCloud` | string | `''` | Identifier of the other private cloud participating in the link. | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the cloudLink. | +| `resourceGroupName` | string | The name of the resource group the cloudLink was created in. | +| `resourceId` | string | The resource ID of the cloudLink. | + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.AVS/privateClouds/cloudLinks/version.json b/modules/Microsoft.AVS/privateClouds/cloudLinks/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/cloudLinks/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep new file mode 100644 index 0000000000..6fd1378ae9 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep @@ -0,0 +1,68 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param clusterName string + +@description('Required. Name of the datastore in the private cloud cluster') +param name string + +@description('Optional. An iSCSI volume from Microsoft.StoragePool provider') +param diskPoolVolume object = {} + +@description('Optional. An Azure NetApp Files volume from Microsoft.NetApp provider') +param netAppVolume object = {} + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource cluster 'clusters@2022-05-01' existing = { + name: clusterName + } +} + +resource datastore 'Microsoft.AVS/privateClouds/clusters/datastores@2022-05-01' = { + parent: privateCloud::cluster + name: name + properties: { + diskPoolVolume: diskPoolVolume + netAppVolume: netAppVolume + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the datastore.') +output name string = datastore.name + +@description('The resource ID of the datastore.') +output resourceId string = datastore.id + +@description('The name of the resource group the datastore was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md b/modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md new file mode 100644 index 0000000000..b274b47402 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md @@ -0,0 +1,57 @@ +# AVS PrivateClouds Clusters Datastores `[Microsoft.AVS/privateClouds/clusters/datastores]` + +This module deploys AVS PrivateClouds Clusters Datastores. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.AVS/privateClouds/clusters/datastores` | [2022-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/privateClouds/clusters/datastores) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | Name of the datastore in the private cloud cluster | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `clusterName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | +| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `diskPoolVolume` | object | `{object}` | An iSCSI volume from Microsoft.StoragePool provider | +| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `netAppVolume` | object | `{object}` | An Azure NetApp Files volume from Microsoft.NetApp provider | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the datastore. | +| `resourceGroupName` | string | The name of the resource group the datastore was created in. | +| `resourceId` | string | The resource ID of the datastore. | + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/version.json b/modules/Microsoft.AVS/privateClouds/clusters/datastores/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep new file mode 100644 index 0000000000..a36c2f8277 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep @@ -0,0 +1,103 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Required. Name of the cluster in the private cloud') +param name string + +@description('Required. The resource model definition representing SKU') +param sku object + +@description('Optional. The cluster size') +param clusterSize int = + +@description('Optional. The hosts') +param hosts array = [] + +@description('Optional. The placementPolicies to create as part of the cluster.') +param placementPolicies array = [] + +@description('Optional. The datastores to create as part of the cluster.') +param datastores array = [] + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +var enableReferencedModulesTelemetry = false + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + +} + +resource cluster 'Microsoft.AVS/privateClouds/clusters@2022-05-01' = { + parent: privateCloud + name: name + sku: sku + properties: { + clusterSize: clusterSize + hosts: hosts + } +} + +module cluster_placementPolicies 'placementPolicies/deploy.bicep' = [for (placementPolicy, index) in placementPolicies: { +name: '${uniqueString(deployment().name)}-cluster-placementPolicy-${index}' +params: { + privateCloudName: privateCloudName + clusterName: name + name: placementPolicy.name + type: contains(placementPolicy, 'type') ? placementPolicy.type : '' + state: contains(placementPolicy, 'state') ? placementPolicy.state : '' + displayName: contains(placementPolicy, 'displayName') ? placementPolicy.displayName : '' + vmMembers: contains(placementPolicy, 'vmMembers') ? placementPolicy.vmMembers : [] + azureHybridBenefitType: contains(placementPolicy, 'azureHybridBenefitType') ? placementPolicy.azureHybridBenefitType : '' + affinityStrength: contains(placementPolicy, 'affinityStrength') ? placementPolicy.affinityStrength : '' + hostMembers: contains(placementPolicy, 'hostMembers') ? placementPolicy.hostMembers : [] + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module cluster_datastores 'datastores/deploy.bicep' = [for (datastore, index) in datastores: { +name: '${uniqueString(deployment().name)}-cluster-datastore-${index}' +params: { + privateCloudName: privateCloudName + clusterName: name + name: datastore.name + diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} + netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +// =========== // +// Outputs // +// =========== // + +@description('The name of the cluster.') +output name string = cluster.name + +@description('The resource ID of the cluster.') +output resourceId string = cluster.id + +@description('The name of the resource group the cluster was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep new file mode 100644 index 0000000000..aca487772e --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep @@ -0,0 +1,104 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param clusterName string + +@description('Required. Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy') +param name string + +@description('Optional. placement policy type') +@allowed([ + 'VmVm' + 'VmHost' +]) +param type string = '' + +@description('Optional. Whether the placement policy is enabled or disabled') +@allowed([ + 'Enabled' + 'Disabled' +]) +param state string = '' + +@description('Optional. Display name of the placement policy') +param displayName string = '' + +@description('Optional. Virtual machine members list') +param vmMembers array = [] + +@description('Optional. Placement policy hosts opt-in Azure Hybrid Benefit type') +@allowed([ + 'SqlHost' + 'None' +]) +param azureHybridBenefitType string = '' + +@description('Optional. VM-Host placement policy affinity strength (should/must)') +@allowed([ + 'Should' + 'Must' +]) +param affinityStrength string = '' + +@description('Optional. Host members list') +param hostMembers array = [] + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource cluster 'clusters@2022-05-01' existing = { + name: clusterName + } +} + +resource placementPolicy 'Microsoft.AVS/privateClouds/clusters/placementPolicies@2022-05-01' = { + parent: privateCloud::cluster + name: name + properties: { + type: type + state: state + displayName: displayName + vmMembers: vmMembers + azureHybridBenefitType: azureHybridBenefitType + affinityStrength: affinityStrength + hostMembers: hostMembers + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the placementPolicy.') +output name string = placementPolicy.name + +@description('The resource ID of the placementPolicy.') +output resourceId string = placementPolicy.id + +@description('The name of the resource group the placementPolicy was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/version.json b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/clusters/version.json b/modules/Microsoft.AVS/privateClouds/clusters/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/clusters/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index 40ab7bcc21..e45ef0f720 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -1,35 +1,35 @@ -targetScope = 'resourceGroup' - // ============== // // Parameters // // ============== // -@description('Optional. The identity of the private cloud, if configured.') -param identity object - -@description('Optional. Location for all Resources.') -param location string = resourceGroup().location - @description('Required. Name of the private cloud') param name string -@description('Required. The private cloud SKU') -param sku object +@description('Optional. Identity for the virtual machine.') +param identity object = {} -@description('Optional. Resource tags') -param tags object +@description('Optional. Optionally, set the vCenter admin password when the private cloud is created') +@secure() +param vcenterPassword string = '' -@description('Optional. Properties describing how the cloud is distributed across availability zones') -param availability object +@description('Optional. The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22') +param networkBlock string = '' @description('Optional. An ExpressRoute Circuit') -param circuit object +param circuit object = {} -@description('Optional. Customer managed key encryption, can be enabled or disabled') -param encryption object +@description('Optional. An ExpressRoute Circuit') +param secondaryCircuit object = {} -@description('Optional. vCenter Single Sign On Identity Sources') -param identitySources array +@description('Optional. Optionally, set the NSX-T Manager password when the private cloud is created') +@secure() +param nsxtPassword string = '' + +@description('Required. The resource model definition representing SKU') +param sku object + +@description('Optional. Location for all Resources.') +param location string = resourceGroup().location @description('Optional. Connectivity to internet is enabled or disabled') @allowed([ @@ -38,37 +38,35 @@ param identitySources array ]) param internet string = 'Disabled' -@description('Optional. The default cluster used for management') -param managementCluster object +@description('Optional. vCenter Single Sign On Identity Sources') +param identitySources array = [] -@description('Optional. The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22') -param networkBlock string +@description('Optional. The properties describing private cloud availability zone distribution') +param availability object = {} -@description('Optional. Optionally, set the NSX-T Manager password when the private cloud is created') -@secure() -param nsxtPassword string +@description('Optional. The properties of customer managed encryption key') +param encryption object = {} -@description('Optional. A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud') -param secondaryCircuit object +@description('Optional. The properties of a management cluster') +param managementCluster object = {} -@description('Optional. Optionally, set the vCenter admin password when the private cloud is created') -@secure() -param vcenterPassword string +@description('Optional. Resource tags') +param tags object = {} @description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') param diagnosticLogsRetentionInDays int = 365 @description('Optional. Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') -param diagnosticStorageAccountId string +param diagnosticStorageAccountId string = '' @description('Optional. Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') -param diagnosticWorkspaceId string +param diagnosticWorkspaceId string = '' @description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') -param diagnosticEventHubAuthorizationRuleId string +param diagnosticEventHubAuthorizationRuleId string = '' @description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') -param diagnosticEventHubName string +param diagnosticEventHubName string = '' @description('Optional. The name of metrics that will be streamed.') @allowed([ @@ -100,15 +98,37 @@ param diagnosticLogCategoriesToEnable array = [ 'UsedLatest' ] -@description('Optional. Array of role assignment objects that contain the \'roleDefinitionIdOrName\' and \'principalId\' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: \'/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\'.') -param roleAssignments array +@description('Optional. The name of the diagnostic setting, if deployed.') +param diagnosticSettingsName string = '${name}-diagnosticSettings' @description('Optional. Specify the type of lock.') @allowed([ + '' 'CanNotDelete' 'ReadOnly' ]) -param lock string +param lock string = '' + +@description('Optional. The hcxEnterpriseSites to create as part of the privateCloud.') +param hcxEnterpriseSites array = [] + +@description('Optional. The cloudLinks to create as part of the privateCloud.') +param cloudLinks array = [] + +@description('Optional. The addons to create as part of the privateCloud.') +param addons array = [] + +@description('Optional. The scriptExecutions to create as part of the privateCloud.') +param scriptExecutions array = [] + +@description('Optional. The globalReachConnections to create as part of the privateCloud.') +param globalReachConnections array = [] + +@description('Optional. The clusters to create as part of the privateCloud.') +param clusters array = [] + +@description('Optional. The authorizations to create as part of the privateCloud.') +param authorizations array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -132,8 +152,6 @@ var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: { } }] -@description('Optional. The name of the diagnostic setting, if deployed.') -param diagnosticSettingsName string = '${name}-diagnosticSettings' var enableReferencedModulesTelemetry = false @@ -153,23 +171,24 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } } -resource privateCloud 'Microsoft.AVS/privateClouds@2021-12-01' = { - identity: identity - location: location + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' = { name: name + identity: identity sku: sku + location: location tags: tags properties: { - availability: availability + vcenterPassword: vcenterPassword + networkBlock: networkBlock circuit: circuit - encryption: encryption - identitySources: identitySources + secondaryCircuit: secondaryCircuit + nsxtPassword: nsxtPassword internet: internet + identitySources: identitySources + availability: availability + encryption: encryption managementCluster: managementCluster - networkBlock: networkBlock - nsxtPassword: nsxtPassword - secondaryCircuit: secondaryCircuit - vcenterPassword: vcenterPassword } } @@ -186,19 +205,6 @@ resource privateCloud_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@ scope: privateCloud } -module privateCloud_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: { - name: '${uniqueString(deployment().name, location)}-privateCloud-Rbac-${index}' - params: { - description: contains(roleAssignment,'description') ? roleAssignment.description : '' - principalIds: roleAssignment.principalIds - principalType: contains(roleAssignment,'principalType') ? roleAssignment.principalType : '' - roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName - condition: contains(roleAssignment,'condition') ? roleAssignment.condition : '' - delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : '' - resourceId: privateCloud.id - } -}] - resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) { name: '${privateCloud.name}-${lock}-lock' properties: { @@ -208,6 +214,85 @@ resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(l scope: privateCloud } +module privateCloud_hcxEnterpriseSites 'hcxEnterpriseSites/deploy.bicep' = [for (hcxEnterpriseSite, index) in hcxEnterpriseSites: { +name: '${uniqueString(deployment().name, location)}-privateCloud-hcxEnterpriseSite-${index}' +params: { + privateCloudName: name + name: hcxEnterpriseSite.name + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module privateCloud_cloudLinks 'cloudLinks/deploy.bicep' = [for (cloudLink, index) in cloudLinks: { +name: '${uniqueString(deployment().name, location)}-privateCloud-cloudLink-${index}' +params: { + privateCloudName: name + name: cloudLink.name + linkedCloud: contains(cloudLink, 'linkedCloud') ? cloudLink.linkedCloud : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module privateCloud_addons 'addons/deploy.bicep' = [for (addon, index) in addons: { +name: '${uniqueString(deployment().name, location)}-privateCloud-addon-${index}' +params: { + privateCloudName: name + name: addon.name + addonType: contains(addon, 'addonType') ? addon.addonType : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scriptExecution, index) in scriptExecutions: { +name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' +params: { + privateCloudName: name + name: scriptExecution.name + retention: contains(scriptExecution, 'retention') ? scriptExecution.retention : '' + output: contains(scriptExecution, 'output') ? scriptExecution.output : [] + failureReason: contains(scriptExecution, 'failureReason') ? scriptExecution.failureReason : '' + parameters: contains(scriptExecution, 'parameters') ? scriptExecution.parameters : [] + hiddenParameters: contains(scriptExecution, 'hiddenParameters') ? scriptExecution.hiddenParameters : [] + scriptCmdletId: contains(scriptExecution, 'scriptCmdletId') ? scriptExecution.scriptCmdletId : '' + namedOutputs: contains(scriptExecution, 'namedOutputs') ? scriptExecution.namedOutputs : {} + timeout: contains(scriptExecution, 'timeout') ? scriptExecution.timeout : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module privateCloud_globalReachConnections 'globalReachConnections/deploy.bicep' = [for (globalReachConnection, index) in globalReachConnections: { +name: '${uniqueString(deployment().name, location)}-privateCloud-globalReachConnection-${index}' +params: { + privateCloudName: name + name: globalReachConnection.name + expressRouteId: contains(globalReachConnection, 'expressRouteId') ? globalReachConnection.expressRouteId : '' + authorizationKey: contains(globalReachConnection, 'authorizationKey') ? globalReachConnection.authorizationKey : '' + peerExpressRouteCircuit: contains(globalReachConnection, 'peerExpressRouteCircuit') ? globalReachConnection.peerExpressRouteCircuit : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { +name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' +params: { + privateCloudName: name + name: cluster.name + sku: cluster.sku + clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : + hosts: contains(cluster, 'hosts') ? cluster.hosts : [] + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module privateCloud_authorizations 'authorizations/deploy.bicep' = [for (authorization, index) in authorizations: { +name: '${uniqueString(deployment().name, location)}-privateCloud-authorization-${index}' +params: { + privateCloudName: name + name: authorization.name + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + // =========== // // Outputs // // =========== // @@ -220,4 +305,3 @@ output resourceId string = privateCloud.id @description('The name of the resource group the privateCloud was created in.') output resourceGroupName string = resourceGroup().name - diff --git a/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep new file mode 100644 index 0000000000..0703eff554 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep @@ -0,0 +1,66 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Required. Name of the global reach connection in the private cloud') +param name string + +@description('Optional. The ID of the Private Cloud\'s ExpressRoute Circuit that is participating in the global reach connection') +param expressRouteId string = '' + +@description('Optional. Authorization key from the peer express route used for the global reach connection') +param authorizationKey string = '' + +@description('Optional. Identifier of the ExpressRoute Circuit to peer with in the global reach connection') +param peerExpressRouteCircuit string = '' + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + +} + +resource globalReachConnection 'Microsoft.AVS/privateClouds/globalReachConnections@2022-05-01' = { + parent: privateCloud + name: name + properties: { + expressRouteId: expressRouteId + authorizationKey: authorizationKey + peerExpressRouteCircuit: peerExpressRouteCircuit + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the globalReachConnection.') +output name string = globalReachConnection.name + +@description('The resource ID of the globalReachConnection.') +output resourceId string = globalReachConnection.id + +@description('The name of the resource group the globalReachConnection was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md b/modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md new file mode 100644 index 0000000000..33bfeef235 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md @@ -0,0 +1,57 @@ +# AVS PrivateClouds GlobalReachConnections `[Microsoft.AVS/privateClouds/globalReachConnections]` + +This module deploys AVS PrivateClouds GlobalReachConnections. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.AVS/privateClouds/globalReachConnections` | [2022-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/privateClouds/globalReachConnections) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | Name of the global reach connection in the private cloud | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `authorizationKey` | string | `''` | Authorization key from the peer express route used for the global reach connection | +| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `expressRouteId` | string | `''` | The ID of the Private Cloud's ExpressRoute Circuit that is participating in the global reach connection | +| `peerExpressRouteCircuit` | string | `''` | Identifier of the ExpressRoute Circuit to peer with in the global reach connection | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the globalReachConnection. | +| `resourceGroupName` | string | The name of the resource group the globalReachConnection was created in. | +| `resourceId` | string | The resource ID of the globalReachConnection. | + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.AVS/privateClouds/globalReachConnections/version.json b/modules/Microsoft.AVS/privateClouds/globalReachConnections/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/globalReachConnections/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep new file mode 100644 index 0000000000..46c33f2647 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep @@ -0,0 +1,54 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Required. Name of the HCX Enterprise Site in the private cloud') +param name string + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + +} + +resource hcxEnterpriseSite 'Microsoft.AVS/privateClouds/hcxEnterpriseSites@2022-05-01' = { + parent: privateCloud + name: name + properties: { + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the hcxEnterpriseSite.') +output name string = hcxEnterpriseSite.name + +@description('The resource ID of the hcxEnterpriseSite.') +output resourceId string = hcxEnterpriseSite.id + +@description('The name of the resource group the hcxEnterpriseSite was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md new file mode 100644 index 0000000000..dab14d2aec --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md @@ -0,0 +1,54 @@ +# AVS PrivateClouds HcxEnterpriseSites `[Microsoft.AVS/privateClouds/hcxEnterpriseSites]` + +This module deploys AVS PrivateClouds HcxEnterpriseSites. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.AVS/privateClouds/hcxEnterpriseSites` | [2022-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/privateClouds/hcxEnterpriseSites) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | Name of the HCX Enterprise Site in the private cloud | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the hcxEnterpriseSite. | +| `resourceGroupName` | string | The name of the resource group the hcxEnterpriseSite was created in. | +| `resourceId` | string | The resource ID of the hcxEnterpriseSite. | + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/version.json b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep new file mode 100644 index 0000000000..d84208d0ca --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep @@ -0,0 +1,86 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Required. Name of the user-invoked script execution resource') +param name string + +@description('Optional. Time to live for the resource. If not provided, will be available for 60 days') +param retention string = '' + +@description('Optional. Standard output stream from the powershell execution') +param output array = [] + +@description('Optional. Error message if the script was able to run, but if the script itself had errors or powershell threw an exception') +param failureReason string = '' + +@description('Optional. Parameters the script will accept') +param parameters array = [] + +@description('Optional. Parameters that will be hidden/not visible to ARM, such as passwords and credentials') +param hiddenParameters array = [] + +@description('Optional. A reference to the script cmdlet resource if user is running a AVS script') +param scriptCmdletId string = '' + +@description('Optional. User-defined dictionary.') +param namedOutputs object = {} + +@description('Optional. Time limit for execution') +param timeout string = '' + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + +} + +resource scriptExecution 'Microsoft.AVS/privateClouds/scriptExecutions@2022-05-01' = { + parent: privateCloud + name: name + properties: { + retention: retention + output: output + failureReason: failureReason + parameters: parameters + hiddenParameters: hiddenParameters + scriptCmdletId: scriptCmdletId + namedOutputs: namedOutputs + timeout: timeout + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the scriptExecution.') +output name string = scriptExecution.name + +@description('The resource ID of the scriptExecution.') +output resourceId string = scriptExecution.id + +@description('The name of the resource group the scriptExecution was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md b/modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md new file mode 100644 index 0000000000..824e8d55c2 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md @@ -0,0 +1,62 @@ +# AVS PrivateClouds ScriptExecutions `[Microsoft.AVS/privateClouds/scriptExecutions]` + +This module deploys AVS PrivateClouds ScriptExecutions. +// TODO: Replace Resource and fill in description + +## Navigation + +- [Resource Types](#Resource-Types) +- [Parameters](#Parameters) +- [Outputs](#Outputs) +- [Cross-referenced modules](#Cross-referenced-modules) + +## Resource Types + +| Resource Type | API Version | +| :-- | :-- | +| `Microsoft.AVS/privateClouds/scriptExecutions` | [2022-05-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/privateClouds/scriptExecutions) | + +## Parameters + +**Required parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | Name of the user-invoked script execution resource | + +**Conditional parameters** + +| Parameter Name | Type | Description | +| :-- | :-- | :-- | +| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | + +**Optional parameters** + +| Parameter Name | Type | Default Value | Description | +| :-- | :-- | :-- | :-- | +| `enableDefaultTelemetry` | bool | `True` | Enable telemetry via the Customer Usage Attribution ID (GUID). | +| `failureReason` | string | `''` | Error message if the script was able to run, but if the script itself had errors or powershell threw an exception | +| `hiddenParameters` | array | `[]` | Parameters that will be hidden/not visible to ARM, such as passwords and credentials | +| `namedOutputs` | object | `{object}` | User-defined dictionary. | +| `output` | array | `[]` | Standard output stream from the powershell execution | +| `parameters` | array | `[]` | Parameters the script will accept | +| `retention` | string | `''` | Time to live for the resource. If not provided, will be available for 60 days | +| `scriptCmdletId` | string | `''` | A reference to the script cmdlet resource if user is running a AVS script | +| `timeout` | string | `''` | Time limit for execution | + + +### Parameter Usage: `` + +// TODO: Fill in Parameter usage + +## Outputs + +| Output Name | Type | Description | +| :-- | :-- | :-- | +| `name` | string | The name of the scriptExecution. | +| `resourceGroupName` | string | The name of the resource group the scriptExecution was created in. | +| `resourceId` | string | The resource ID of the scriptExecution. | + +## Cross-referenced modules + +_None_ diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/version.json b/modules/Microsoft.AVS/privateClouds/scriptExecutions/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep new file mode 100644 index 0000000000..0fdc6b2f8a --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep @@ -0,0 +1,76 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param workloadNetworkName string + +@description('Required. NSX DHCP identifier. Generally the same as the DHCP display name') +param name string + +@description('Optional. Display name of the DHCP entity.') +param displayName string = '' + +@description('Optional. Type of DHCP: SERVER or RELAY.') +@allowed([ + 'SERVER' + 'RELAY' +]) +param dhcpType string = '' + +@description('Optional. NSX revision number.') +param revision int = + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { + name: workloadNetworkName + } +} + +resource dhcpConfiguration 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations@2022-05-01' = { + parent: privateCloud::workloadNetwork + name: name + properties: { + displayName: displayName + dhcpType: dhcpType + revision: revision + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the dhcpConfiguration.') +output name string = dhcpConfiguration.name + +@description('The resource ID of the dhcpConfiguration.') +output resourceId string = dhcpConfiguration.id + +@description('The name of the resource group the dhcpConfiguration was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/version.json b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep new file mode 100644 index 0000000000..2127acdfe8 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep @@ -0,0 +1,91 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param workloadNetworkName string + +@description('Required. NSX DNS Service identifier. Generally the same as the DNS Service\'s display name') +param name string + +@description('Optional. DNS Service log level.') +@allowed([ + 'DEBUG' + 'INFO' + 'WARNING' + 'ERROR' + 'FATAL' +]) +param logLevel string = '' + +@description('Optional. DNS service IP of the DNS Service.') +param dnsServiceIp string = '' + +@description('Optional. Display name of the DNS Service.') +param displayName string = '' + +@description('Optional. Default DNS zone of the DNS Service.') +param defaultDnsZone string = '' + +@description('Optional. NSX revision number.') +param revision int = + +@description('Optional. FQDN zones of the DNS Service.') +param fqdnZones array = [] + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { + name: workloadNetworkName + } +} + +resource dnsService 'Microsoft.AVS/privateClouds/workloadNetworks/dnsServices@2022-05-01' = { + parent: privateCloud::workloadNetwork + name: name + properties: { + logLevel: logLevel + dnsServiceIp: dnsServiceIp + displayName: displayName + defaultDnsZone: defaultDnsZone + revision: revision + fqdnZones: fqdnZones + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the dnsService.') +output name string = dnsService.name + +@description('The resource ID of the dnsService.') +output resourceId string = dnsService.id + +@description('The name of the resource group the dnsService was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/version.json b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep new file mode 100644 index 0000000000..9e95c0b4b3 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep @@ -0,0 +1,84 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param workloadNetworkName string + +@description('Required. NSX DNS Zone identifier. Generally the same as the DNS Zone\'s display name') +param name string + +@description('Optional. Number of DNS Services using the DNS zone.') +param dnsServices int = + +@description('Optional. Display name of the DNS Zone.') +param displayName string = '' + +@description('Optional. DNS Server IP array of the DNS Zone.') +param dnsServerIps array = [] + +@description('Optional. Source IP of the DNS Zone.') +param sourceIp string = '' + +@description('Optional. NSX revision number.') +param revision int = + +@description('Optional. Domain names of the DNS Zone.') +param domain array = [] + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { + name: workloadNetworkName + } +} + +resource dnsZone 'Microsoft.AVS/privateClouds/workloadNetworks/dnsZones@2022-05-01' = { + parent: privateCloud::workloadNetwork + name: name + properties: { + dnsServices: dnsServices + displayName: displayName + dnsServerIps: dnsServerIps + sourceIp: sourceIp + revision: revision + domain: domain + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the dnsZone.') +output name string = dnsZone.name + +@description('The resource ID of the dnsZone.') +output resourceId string = dnsZone.id + +@description('The name of the resource group the dnsZone was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/version.json b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep new file mode 100644 index 0000000000..1deaf4ece5 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep @@ -0,0 +1,85 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param workloadNetworkName string + +@description('Required. NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name') +param name string + +@description('Optional. Destination VM Group.') +param destination string = '' + +@description('Optional. Direction of port mirroring profile.') +@allowed([ + 'INGRESS' + 'EGRESS' + 'BIDIRECTIONAL' +]) +param direction string = '' + +@description('Optional. Display name of the port mirroring profile.') +param displayName string = '' + +@description('Optional. Source VM Group.') +param source string = '' + +@description('Optional. NSX revision number.') +param revision int = + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { + name: workloadNetworkName + } +} + +resource portMirroringProfile 'Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles@2022-05-01' = { + parent: privateCloud::workloadNetwork + name: name + properties: { + destination: destination + direction: direction + displayName: displayName + source: source + revision: revision + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the portMirroringProfile.') +output name string = portMirroringProfile.name + +@description('The resource ID of the portMirroringProfile.') +output resourceId string = portMirroringProfile.id + +@description('The name of the resource group the portMirroringProfile was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/version.json b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep new file mode 100644 index 0000000000..58176ff231 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep @@ -0,0 +1,68 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param workloadNetworkName string + +@description('Required. NSX Public IP Block identifier. Generally the same as the Public IP Block\'s display name') +param name string + +@description('Optional. Display name of the Public IP Block.') +param displayName string = '' + +@description('Optional. Number of Public IPs requested.') +param numberOfPublicIPs int = + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { + name: workloadNetworkName + } +} + +resource publicIP 'Microsoft.AVS/privateClouds/workloadNetworks/publicIPs@2022-05-01' = { + parent: privateCloud::workloadNetwork + name: name + properties: { + displayName: displayName + numberOfPublicIPs: numberOfPublicIPs + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the publicIP.') +output name string = publicIP.name + +@description('The resource ID of the publicIP.') +output resourceId string = publicIP.id + +@description('The name of the resource group the publicIP was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/version.json b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep new file mode 100644 index 0000000000..e7b6ccfafd --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep @@ -0,0 +1,76 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param workloadNetworkName string + +@description('Required. NSX Segment identifier. Generally the same as the Segment\'s display name') +param name string + +@description('Optional. Subnet configuration for segment') +param subnet object = {} + +@description('Optional. Display name of the segment.') +param displayName string = '' + +@description('Optional. Gateway which to connect segment to.') +param connectedGateway string = '' + +@description('Optional. NSX revision number.') +param revision int = + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { + name: workloadNetworkName + } +} + +resource segment 'Microsoft.AVS/privateClouds/workloadNetworks/segments@2022-05-01' = { + parent: privateCloud::workloadNetwork + name: name + properties: { + subnet: subnet + displayName: displayName + connectedGateway: connectedGateway + revision: revision + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the segment.') +output name string = segment.name + +@description('The resource ID of the segment.') +output resourceId string = segment.id + +@description('The name of the resource group the segment was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/version.json b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep new file mode 100644 index 0000000000..c0c2e17753 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep @@ -0,0 +1,72 @@ +// ============== // +// Parameters // +// ============== // + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +param workloadNetworkName string + +@description('Required. NSX VM Group identifier. Generally the same as the VM Group\'s display name') +param name string + +@description('Optional. Display name of the VM group.') +param displayName string = '' + +@description('Optional. Virtual machine members of this group.') +param members array = [] + +@description('Optional. NSX revision number.') +param revision int = + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + + +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment().name)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} + +resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { + name: privateCloudName + + resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { + name: workloadNetworkName + } +} + +resource vmGroup 'Microsoft.AVS/privateClouds/workloadNetworks/vmGroups@2022-05-01' = { + parent: privateCloud::workloadNetwork + name: name + properties: { + displayName: displayName + members: members + revision: revision + } +} + +// =========== // +// Outputs // +// =========== // + +@description('The name of the vmGroup.') +output name string = vmGroup.name + +@description('The resource ID of the vmGroup.') +output resourceId string = vmGroup.id + +@description('The name of the resource group the vmGroup was created in.') +output resourceGroupName string = resourceGroup().name diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/version.json b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/version.json new file mode 100644 index 0000000000..41f66cc990 --- /dev/null +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/version.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "0.1" +} diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 16e92cb14e..b238315cc8 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -178,7 +178,15 @@ function Set-ModuleTemplate { foreach ($parentResourceType in $orderedParentResourceTypes) { $singularParent = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] $levedParentResourceType = ($parentResourceType -ne (@() + $orderedParentResourceTypes)[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType - $parentResourceAPI = Split-Path (Split-Path ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath -Parent) -Leaf + $parentJSONPath = ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath + # TODO: Handle case where parent is a proxy resource without its own resource PUT deployment (e.g. 'Microsoft.AVS/privateClouds/workloadNetworks' is not existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations') + if ([String]::IsNullOrEmpty($parentJSONPath)) { + # Case: A child who's parent resource does not exist (i.e., is a proxy). In this case we use the current API paths as a fallback + # Example: 'Microsoft.AVS/privateClouds/workloadNetworks' is not actually existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations' + $parentJSONPath = $JSONFilePath + } + + $parentResourceAPI = Split-Path (Split-Path $parentJSONPath -Parent) -Leaf $templateContent += @( "$(' ' * $existingResourceIndent)resource $($singularParent) '$($levedParentResourceType)@$($parentResourceAPI)' existing = {", "$(' ' * $existingResourceIndent) name: $($singularParent)Name" @@ -225,6 +233,7 @@ function Set-ModuleTemplate { $templateContent += $ModuleData.resources # Child-module references + # TODO: Handle case where parent is a proxy resource without its own resource PUT deployment (e.g. 'Microsoft.AVS/privateClouds/workloadNetworks' is not existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations'). I.e. 'indirect children' foreach ($dataBlock in $directChildren) { $childResourceType = ($dataBlock.identifier -split '/')[-1] $childResourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $childResourceType diff --git a/utilities/tools/REST2CARML/readme.md b/utilities/tools/REST2CARML/readme.md index a3148f49e0..0577295b61 100644 --- a/utilities/tools/REST2CARML/readme.md +++ b/utilities/tools/REST2CARML/readme.md @@ -21,6 +21,7 @@ This module provides you with the ability to generate most of a CARML module's c # In scope - Module itself with parameters, resource & outputs +- Child-modules with references via their parent - Azure DevOps pipeline & GitHub workflow - Extension code such as - Diagnostic Settings @@ -30,5 +31,7 @@ This module provides you with the ability to generate most of a CARML module's c # Out of scope -- Child-Modules: Generate not only the module's code, but also that of it's children and reference them in their parent (**_can be implemented later_**). - Idempotency: Run the module on existing code without overwriting any un-related content (**_can be implemented later_**). + - Notes: + - Should not update `params` that are already set (as we might have defined a custom default value) + - Should not update `properties`/`params` of resources/modules as we might have implemented custom logic From e1a0a8a5190f9c3ce3903db4546231dbf7a069f9 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 18:00:32 +0200 Subject: [PATCH 107/130] Latest draft --- .../clusters/datastores/deploy.bicep | 8 +- .../privateClouds/clusters/deploy.bicep | 14 +- .../clusters/placementPolicies/deploy.bicep | 12 +- .../Microsoft.AVS/privateClouds/deploy.bicep | 207 ++++++++++++++---- .../scriptExecutions/deploy.bicep | 30 +-- .../dhcpConfigurations/deploy.bicep | 12 +- .../workloadNetworks/dnsServices/deploy.bicep | 30 +-- .../workloadNetworks/dnsZones/deploy.bicep | 28 +-- .../portMirroringProfiles/deploy.bicep | 16 +- .../workloadNetworks/publicIPs/deploy.bicep | 8 +- .../workloadNetworks/segments/deploy.bicep | 8 +- .../workloadNetworks/vmGroups/deploy.bicep | 8 +- .../private/module/Set-ModuleTemplate.ps1 | 37 +++- 13 files changed, 275 insertions(+), 143 deletions(-) diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep index 6fd1378ae9..04057c9f88 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep @@ -11,12 +11,12 @@ param clusterName string @description('Required. Name of the datastore in the private cloud cluster') param name string -@description('Optional. An iSCSI volume from Microsoft.StoragePool provider') -param diskPoolVolume object = {} - @description('Optional. An Azure NetApp Files volume from Microsoft.NetApp provider') param netAppVolume object = {} +@description('Optional. An iSCSI volume from Microsoft.StoragePool provider') +param diskPoolVolume object = {} + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -49,8 +49,8 @@ resource datastore 'Microsoft.AVS/privateClouds/clusters/datastores@2022-05-01' parent: privateCloud::cluster name: name properties: { - diskPoolVolume: diskPoolVolume netAppVolume: netAppVolume + diskPoolVolume: diskPoolVolume } } diff --git a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep index a36c2f8277..a435e8a501 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep @@ -11,12 +11,12 @@ param name string @description('Required. The resource model definition representing SKU') param sku object -@description('Optional. The cluster size') -param clusterSize int = - @description('Optional. The hosts') param hosts array = [] +@description('Optional. The cluster size') +param clusterSize int = + @description('Optional. The placementPolicies to create as part of the cluster.') param placementPolicies array = [] @@ -55,8 +55,8 @@ resource cluster 'Microsoft.AVS/privateClouds/clusters@2022-05-01' = { name: name sku: sku properties: { - clusterSize: clusterSize hosts: hosts + clusterSize: clusterSize } } @@ -69,10 +69,10 @@ params: { type: contains(placementPolicy, 'type') ? placementPolicy.type : '' state: contains(placementPolicy, 'state') ? placementPolicy.state : '' displayName: contains(placementPolicy, 'displayName') ? placementPolicy.displayName : '' - vmMembers: contains(placementPolicy, 'vmMembers') ? placementPolicy.vmMembers : [] + hostMembers: contains(placementPolicy, 'hostMembers') ? placementPolicy.hostMembers : [] azureHybridBenefitType: contains(placementPolicy, 'azureHybridBenefitType') ? placementPolicy.azureHybridBenefitType : '' affinityStrength: contains(placementPolicy, 'affinityStrength') ? placementPolicy.affinityStrength : '' - hostMembers: contains(placementPolicy, 'hostMembers') ? placementPolicy.hostMembers : [] + vmMembers: contains(placementPolicy, 'vmMembers') ? placementPolicy.vmMembers : [] enableDefaultTelemetry: enableReferencedModulesTelemetry } }] @@ -83,8 +83,8 @@ params: { privateCloudName: privateCloudName clusterName: name name: datastore.name - diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} + diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep index aca487772e..f2fdee6e9e 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep @@ -28,8 +28,8 @@ param state string = '' @description('Optional. Display name of the placement policy') param displayName string = '' -@description('Optional. Virtual machine members list') -param vmMembers array = [] +@description('Optional. Host members list') +param hostMembers array = [] @description('Optional. Placement policy hosts opt-in Azure Hybrid Benefit type') @allowed([ @@ -45,8 +45,8 @@ param azureHybridBenefitType string = '' ]) param affinityStrength string = '' -@description('Optional. Host members list') -param hostMembers array = [] +@description('Optional. Virtual machine members list') +param vmMembers array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -83,10 +83,10 @@ resource placementPolicy 'Microsoft.AVS/privateClouds/clusters/placementPolicies type: type state: state displayName: displayName - vmMembers: vmMembers + hostMembers: hostMembers azureHybridBenefitType: azureHybridBenefitType affinityStrength: affinityStrength - hostMembers: hostMembers + vmMembers: vmMembers } } diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index e45ef0f720..1e4dd663b0 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -8,16 +8,9 @@ param name string @description('Optional. Identity for the virtual machine.') param identity object = {} -@description('Optional. Optionally, set the vCenter admin password when the private cloud is created') -@secure() -param vcenterPassword string = '' - @description('Optional. The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22') param networkBlock string = '' -@description('Optional. An ExpressRoute Circuit') -param circuit object = {} - @description('Optional. An ExpressRoute Circuit') param secondaryCircuit object = {} @@ -25,12 +18,28 @@ param secondaryCircuit object = {} @secure() param nsxtPassword string = '' +@description('Optional. Optionally, set the vCenter admin password when the private cloud is created') +@secure() +param vcenterPassword string = '' + +@description('Optional. An ExpressRoute Circuit') +param circuit object = {} + @description('Required. The resource model definition representing SKU') param sku object @description('Optional. Location for all Resources.') param location string = resourceGroup().location +@description('Optional. The properties describing private cloud availability zone distribution') +param availability object = {} + +@description('Optional. vCenter Single Sign On Identity Sources') +param identitySources array = [] + +@description('Optional. The properties of a management cluster') +param managementCluster object = {} + @description('Optional. Connectivity to internet is enabled or disabled') @allowed([ 'Enabled' @@ -38,18 +47,9 @@ param location string = resourceGroup().location ]) param internet string = 'Disabled' -@description('Optional. vCenter Single Sign On Identity Sources') -param identitySources array = [] - -@description('Optional. The properties describing private cloud availability zone distribution') -param availability object = {} - @description('Optional. The properties of customer managed encryption key') param encryption object = {} -@description('Optional. The properties of a management cluster') -param managementCluster object = {} - @description('Optional. Resource tags') param tags object = {} @@ -112,23 +112,44 @@ param lock string = '' @description('Optional. The hcxEnterpriseSites to create as part of the privateCloud.') param hcxEnterpriseSites array = [] +@description('Optional. The authorizations to create as part of the privateCloud.') +param authorizations array = [] + @description('Optional. The cloudLinks to create as part of the privateCloud.') param cloudLinks array = [] +@description('Optional. The scriptExecutions to create as part of the privateCloud.') +param scriptExecutions array = [] + @description('Optional. The addons to create as part of the privateCloud.') param addons array = [] -@description('Optional. The scriptExecutions to create as part of the privateCloud.') -param scriptExecutions array = [] +@description('Optional. The clusters to create as part of the privateCloud.') +param clusters array = [] @description('Optional. The globalReachConnections to create as part of the privateCloud.') param globalReachConnections array = [] -@description('Optional. The clusters to create as part of the privateCloud.') -param clusters array = [] +@description('Optional. The publicIPs to create as part of the privateCloud.') +param publicIPs array = [] -@description('Optional. The authorizations to create as part of the privateCloud.') -param authorizations array = [] +@description('Optional. The dnsZones to create as part of the privateCloud.') +param dnsZones array = [] + +@description('Optional. The portMirroringProfiles to create as part of the privateCloud.') +param portMirroringProfiles array = [] + +@description('Optional. The vmGroups to create as part of the privateCloud.') +param vmGroups array = [] + +@description('Optional. The segments to create as part of the privateCloud.') +param segments array = [] + +@description('Optional. The dnsServices to create as part of the privateCloud.') +param dnsServices array = [] + +@description('Optional. The dhcpConfigurations to create as part of the privateCloud.') +param dhcpConfigurations array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -179,16 +200,16 @@ resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' = { location: location tags: tags properties: { - vcenterPassword: vcenterPassword networkBlock: networkBlock - circuit: circuit secondaryCircuit: secondaryCircuit nsxtPassword: nsxtPassword - internet: internet - identitySources: identitySources + vcenterPassword: vcenterPassword + circuit: circuit availability: availability - encryption: encryption + identitySources: identitySources managementCluster: managementCluster + internet: internet + encryption: encryption } } @@ -223,6 +244,15 @@ params: { } }] +module privateCloud_authorizations 'authorizations/deploy.bicep' = [for (authorization, index) in authorizations: { +name: '${uniqueString(deployment().name, location)}-privateCloud-authorization-${index}' +params: { + privateCloudName: name + name: authorization.name + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + module privateCloud_cloudLinks 'cloudLinks/deploy.bicep' = [for (cloudLink, index) in cloudLinks: { name: '${uniqueString(deployment().name, location)}-privateCloud-cloudLink-${index}' params: { @@ -233,6 +263,23 @@ params: { } }] +module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scriptExecution, index) in scriptExecutions: { +name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' +params: { + privateCloudName: name + name: scriptExecution.name + hiddenParameters: contains(scriptExecution, 'hiddenParameters') ? scriptExecution.hiddenParameters : [] + parameters: contains(scriptExecution, 'parameters') ? scriptExecution.parameters : [] + failureReason: contains(scriptExecution, 'failureReason') ? scriptExecution.failureReason : '' + retention: contains(scriptExecution, 'retention') ? scriptExecution.retention : '' + timeout: contains(scriptExecution, 'timeout') ? scriptExecution.timeout : '' + scriptCmdletId: contains(scriptExecution, 'scriptCmdletId') ? scriptExecution.scriptCmdletId : '' + namedOutputs: contains(scriptExecution, 'namedOutputs') ? scriptExecution.namedOutputs : {} + output: contains(scriptExecution, 'output') ? scriptExecution.output : [] + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + module privateCloud_addons 'addons/deploy.bicep' = [for (addon, index) in addons: { name: '${uniqueString(deployment().name, location)}-privateCloud-addon-${index}' params: { @@ -243,19 +290,14 @@ params: { } }] -module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scriptExecution, index) in scriptExecutions: { -name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' +module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { +name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' params: { privateCloudName: name - name: scriptExecution.name - retention: contains(scriptExecution, 'retention') ? scriptExecution.retention : '' - output: contains(scriptExecution, 'output') ? scriptExecution.output : [] - failureReason: contains(scriptExecution, 'failureReason') ? scriptExecution.failureReason : '' - parameters: contains(scriptExecution, 'parameters') ? scriptExecution.parameters : [] - hiddenParameters: contains(scriptExecution, 'hiddenParameters') ? scriptExecution.hiddenParameters : [] - scriptCmdletId: contains(scriptExecution, 'scriptCmdletId') ? scriptExecution.scriptCmdletId : '' - namedOutputs: contains(scriptExecution, 'namedOutputs') ? scriptExecution.namedOutputs : {} - timeout: contains(scriptExecution, 'timeout') ? scriptExecution.timeout : '' + name: cluster.name + sku: cluster.sku + hosts: contains(cluster, 'hosts') ? cluster.hosts : [] + clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] @@ -272,23 +314,94 @@ params: { } }] -module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { -name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' +module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deploy.bicep' = [for (publicIP, index) in publicIPs: { +name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' params: { privateCloudName: name - name: cluster.name - sku: cluster.sku - clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : - hosts: contains(cluster, 'hosts') ? cluster.hosts : [] + name: publicIP.name + numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : + displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module privateCloud_authorizations 'authorizations/deploy.bicep' = [for (authorization, index) in authorizations: { -name: '${uniqueString(deployment().name, location)}-privateCloud-authorization-${index}' +module workloadNetworks_privateCloud_dnsZones 'workloadNetworks/dnsZones/deploy.bicep' = [for (dnsZone, index) in dnsZones: { +name: '${uniqueString(deployment().name, location)}-privateCloud-dnsZone-${index}' params: { privateCloudName: name - name: authorization.name + name: dnsZone.name + domain: contains(dnsZone, 'domain') ? dnsZone.domain : [] + sourceIp: contains(dnsZone, 'sourceIp') ? dnsZone.sourceIp : '' + revision: contains(dnsZone, 'revision') ? dnsZone.revision : + dnsServerIps: contains(dnsZone, 'dnsServerIps') ? dnsZone.dnsServerIps : [] + displayName: contains(dnsZone, 'displayName') ? dnsZone.displayName : '' + dnsServices: contains(dnsZone, 'dnsServices') ? dnsZone.dnsServices : + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module workloadNetworks_privateCloud_portMirroringProfiles 'workloadNetworks/portMirroringProfiles/deploy.bicep' = [for (portMirroringProfile, index) in portMirroringProfiles: { +name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' +params: { + privateCloudName: name + name: portMirroringProfile.name + direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' + source: contains(portMirroringProfile, 'source') ? portMirroringProfile.source : '' + destination: contains(portMirroringProfile, 'destination') ? portMirroringProfile.destination : '' + revision: contains(portMirroringProfile, 'revision') ? portMirroringProfile.revision : + displayName: contains(portMirroringProfile, 'displayName') ? portMirroringProfile.displayName : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module workloadNetworks_privateCloud_vmGroups 'workloadNetworks/vmGroups/deploy.bicep' = [for (vmGroup, index) in vmGroups: { +name: '${uniqueString(deployment().name, location)}-privateCloud-vmGroup-${index}' +params: { + privateCloudName: name + name: vmGroup.name + members: contains(vmGroup, 'members') ? vmGroup.members : [] + revision: contains(vmGroup, 'revision') ? vmGroup.revision : + displayName: contains(vmGroup, 'displayName') ? vmGroup.displayName : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy.bicep' = [for (segment, index) in segments: { +name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' +params: { + privateCloudName: name + name: segment.name + subnet: contains(segment, 'subnet') ? segment.subnet : {} + connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' + revision: contains(segment, 'revision') ? segment.revision : + displayName: contains(segment, 'displayName') ? segment.displayName : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/deploy.bicep' = [for (dnsService, index) in dnsServices: { +name: '${uniqueString(deployment().name, location)}-privateCloud-dnsService-${index}' +params: { + privateCloudName: name + name: dnsService.name + displayName: contains(dnsService, 'displayName') ? dnsService.displayName : '' + defaultDnsZone: contains(dnsService, 'defaultDnsZone') ? dnsService.defaultDnsZone : '' + fqdnZones: contains(dnsService, 'fqdnZones') ? dnsService.fqdnZones : [] + revision: contains(dnsService, 'revision') ? dnsService.revision : + logLevel: contains(dnsService, 'logLevel') ? dnsService.logLevel : '' + dnsServiceIp: contains(dnsService, 'dnsServiceIp') ? dnsService.dnsServiceIp : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpConfigurations/deploy.bicep' = [for (dhcpConfiguration, index) in dhcpConfigurations: { +name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' +params: { + privateCloudName: name + name: dhcpConfiguration.name + revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : + dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' + displayName: contains(dhcpConfiguration, 'displayName') ? dhcpConfiguration.displayName : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep index d84208d0ca..989233f125 100644 --- a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep @@ -8,20 +8,20 @@ param privateCloudName string @description('Required. Name of the user-invoked script execution resource') param name string -@description('Optional. Time to live for the resource. If not provided, will be available for 60 days') -param retention string = '' +@description('Optional. Parameters that will be hidden/not visible to ARM, such as passwords and credentials') +param hiddenParameters array = [] -@description('Optional. Standard output stream from the powershell execution') -param output array = [] +@description('Optional. Parameters the script will accept') +param parameters array = [] @description('Optional. Error message if the script was able to run, but if the script itself had errors or powershell threw an exception') param failureReason string = '' -@description('Optional. Parameters the script will accept') -param parameters array = [] +@description('Optional. Time to live for the resource. If not provided, will be available for 60 days') +param retention string = '' -@description('Optional. Parameters that will be hidden/not visible to ARM, such as passwords and credentials') -param hiddenParameters array = [] +@description('Optional. Time limit for execution') +param timeout string = '' @description('Optional. A reference to the script cmdlet resource if user is running a AVS script') param scriptCmdletId string = '' @@ -29,8 +29,8 @@ param scriptCmdletId string = '' @description('Optional. User-defined dictionary.') param namedOutputs object = {} -@description('Optional. Time limit for execution') -param timeout string = '' +@description('Optional. Standard output stream from the powershell execution') +param output array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -61,14 +61,14 @@ resource scriptExecution 'Microsoft.AVS/privateClouds/scriptExecutions@2022-05-0 parent: privateCloud name: name properties: { - retention: retention - output: output - failureReason: failureReason - parameters: parameters hiddenParameters: hiddenParameters + parameters: parameters + failureReason: failureReason + retention: retention + timeout: timeout scriptCmdletId: scriptCmdletId namedOutputs: namedOutputs - timeout: timeout + output: output } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep index 0fdc6b2f8a..8e93a72c7d 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep @@ -11,8 +11,8 @@ param workloadNetworkName string @description('Required. NSX DHCP identifier. Generally the same as the DHCP display name') param name string -@description('Optional. Display name of the DHCP entity.') -param displayName string = '' +@description('Optional. NSX revision number.') +param revision int = @description('Optional. Type of DHCP: SERVER or RELAY.') @allowed([ @@ -21,8 +21,8 @@ param displayName string = '' ]) param dhcpType string = '' -@description('Optional. NSX revision number.') -param revision int = +@description('Optional. Display name of the DHCP entity.') +param displayName string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -56,9 +56,9 @@ resource dhcpConfiguration 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpCon parent: privateCloud::workloadNetwork name: name properties: { - displayName: displayName - dhcpType: dhcpType revision: revision + dhcpType: dhcpType + displayName: displayName } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep index 2127acdfe8..67bad4a55b 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep @@ -11,6 +11,18 @@ param workloadNetworkName string @description('Required. NSX DNS Service identifier. Generally the same as the DNS Service\'s display name') param name string +@description('Optional. Display name of the DNS Service.') +param displayName string = '' + +@description('Optional. Default DNS zone of the DNS Service.') +param defaultDnsZone string = '' + +@description('Optional. FQDN zones of the DNS Service.') +param fqdnZones array = [] + +@description('Optional. NSX revision number.') +param revision int = + @description('Optional. DNS Service log level.') @allowed([ 'DEBUG' @@ -24,18 +36,6 @@ param logLevel string = '' @description('Optional. DNS service IP of the DNS Service.') param dnsServiceIp string = '' -@description('Optional. Display name of the DNS Service.') -param displayName string = '' - -@description('Optional. Default DNS zone of the DNS Service.') -param defaultDnsZone string = '' - -@description('Optional. NSX revision number.') -param revision int = - -@description('Optional. FQDN zones of the DNS Service.') -param fqdnZones array = [] - @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -68,12 +68,12 @@ resource dnsService 'Microsoft.AVS/privateClouds/workloadNetworks/dnsServices@20 parent: privateCloud::workloadNetwork name: name properties: { - logLevel: logLevel - dnsServiceIp: dnsServiceIp displayName: displayName defaultDnsZone: defaultDnsZone - revision: revision fqdnZones: fqdnZones + revision: revision + logLevel: logLevel + dnsServiceIp: dnsServiceIp } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep index 9e95c0b4b3..639dbbc5e4 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep @@ -11,14 +11,8 @@ param workloadNetworkName string @description('Required. NSX DNS Zone identifier. Generally the same as the DNS Zone\'s display name') param name string -@description('Optional. Number of DNS Services using the DNS zone.') -param dnsServices int = - -@description('Optional. Display name of the DNS Zone.') -param displayName string = '' - -@description('Optional. DNS Server IP array of the DNS Zone.') -param dnsServerIps array = [] +@description('Optional. Domain names of the DNS Zone.') +param domain array = [] @description('Optional. Source IP of the DNS Zone.') param sourceIp string = '' @@ -26,8 +20,14 @@ param sourceIp string = '' @description('Optional. NSX revision number.') param revision int = -@description('Optional. Domain names of the DNS Zone.') -param domain array = [] +@description('Optional. DNS Server IP array of the DNS Zone.') +param dnsServerIps array = [] + +@description('Optional. Display name of the DNS Zone.') +param displayName string = '' + +@description('Optional. Number of DNS Services using the DNS zone.') +param dnsServices int = @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -61,12 +61,12 @@ resource dnsZone 'Microsoft.AVS/privateClouds/workloadNetworks/dnsZones@2022-05- parent: privateCloud::workloadNetwork name: name properties: { - dnsServices: dnsServices - displayName: displayName - dnsServerIps: dnsServerIps + domain: domain sourceIp: sourceIp revision: revision - domain: domain + dnsServerIps: dnsServerIps + displayName: displayName + dnsServices: dnsServices } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep index 1deaf4ece5..7487f3f171 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep @@ -11,9 +11,6 @@ param workloadNetworkName string @description('Required. NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name') param name string -@description('Optional. Destination VM Group.') -param destination string = '' - @description('Optional. Direction of port mirroring profile.') @allowed([ 'INGRESS' @@ -22,15 +19,18 @@ param destination string = '' ]) param direction string = '' -@description('Optional. Display name of the port mirroring profile.') -param displayName string = '' - @description('Optional. Source VM Group.') param source string = '' +@description('Optional. Destination VM Group.') +param destination string = '' + @description('Optional. NSX revision number.') param revision int = +@description('Optional. Display name of the port mirroring profile.') +param displayName string = '' + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -63,11 +63,11 @@ resource portMirroringProfile 'Microsoft.AVS/privateClouds/workloadNetworks/port parent: privateCloud::workloadNetwork name: name properties: { - destination: destination direction: direction - displayName: displayName source: source + destination: destination revision: revision + displayName: displayName } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep index 58176ff231..04eace07b7 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep @@ -11,12 +11,12 @@ param workloadNetworkName string @description('Required. NSX Public IP Block identifier. Generally the same as the Public IP Block\'s display name') param name string -@description('Optional. Display name of the Public IP Block.') -param displayName string = '' - @description('Optional. Number of Public IPs requested.') param numberOfPublicIPs int = +@description('Optional. Display name of the Public IP Block.') +param displayName string = '' + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -49,8 +49,8 @@ resource publicIP 'Microsoft.AVS/privateClouds/workloadNetworks/publicIPs@2022-0 parent: privateCloud::workloadNetwork name: name properties: { - displayName: displayName numberOfPublicIPs: numberOfPublicIPs + displayName: displayName } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep index e7b6ccfafd..b2d96f4b25 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep @@ -14,15 +14,15 @@ param name string @description('Optional. Subnet configuration for segment') param subnet object = {} -@description('Optional. Display name of the segment.') -param displayName string = '' - @description('Optional. Gateway which to connect segment to.') param connectedGateway string = '' @description('Optional. NSX revision number.') param revision int = +@description('Optional. Display name of the segment.') +param displayName string = '' + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -56,9 +56,9 @@ resource segment 'Microsoft.AVS/privateClouds/workloadNetworks/segments@2022-05- name: name properties: { subnet: subnet - displayName: displayName connectedGateway: connectedGateway revision: revision + displayName: displayName } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep index c0c2e17753..97db932047 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep @@ -11,15 +11,15 @@ param workloadNetworkName string @description('Required. NSX VM Group identifier. Generally the same as the VM Group\'s display name') param name string -@description('Optional. Display name of the VM group.') -param displayName string = '' - @description('Optional. Virtual machine members of this group.') param members array = [] @description('Optional. NSX revision number.') param revision int = +@description('Optional. Display name of the VM group.') +param displayName string = '' + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -52,9 +52,9 @@ resource vmGroup 'Microsoft.AVS/privateClouds/workloadNetworks/vmGroups@2022-05- parent: privateCloud::workloadNetwork name: name properties: { - displayName: displayName members: members revision: revision + displayName: displayName } } diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index b238315cc8..f5f2f8046b 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -55,10 +55,24 @@ function Set-ModuleTemplate { process { # Collect any children of the current resource to create references - $directChildren = $fullmoduleData | Where-Object { - (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 1)) -and - $_.identifier -like "$FullResourceType/*" + $linkedChildren = $fullmoduleData | Where-Object { + # Is nested + $_.identifier -like "$FullResourceType/*" -and + # Is direct child + (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 1) + ) + } + # Add indirect child (via proxy resource) (i.e. it's a nested-nested resources who's parent has no individual specification/JSONFilePath). TODO: Is that always true? What if the data is specified in one file?x` + $indirectChildren = $FullModuleData | Where-Object { + # Is nested + $_.identifier -like "$FullResourceType/*" -and + # Is indirect child + (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 2)) + } | Where-Object { + # If the child's parent's parentUrlPath is empty, this parent has no PUT rest command which indicates it cannot be created independently + [String]::IsNullOrEmpty($_.metadata.parentUrlPath) } + $linkedChildren += $indirectChildren # Collect parent resources to use for parent type references $typeElem = $FullResourceType -split '/' @@ -112,7 +126,7 @@ function Set-ModuleTemplate { } # Child module references - foreach ($dataBlock in $directChildren) { + foreach ($dataBlock in $linkedChildren) { $childResourceType = ($dataBlock.identifier -split '/')[-1] $templateContent += Get-FormattedModuleParameter -ParameterData @{ @@ -145,7 +159,7 @@ function Set-ModuleTemplate { $templateContent += $variable } # Add telemetry variable - if ($directChildren.Count -gt 0) { + if ($linkedChildren.Count -gt 0) { $templateContent += @( 'var enableReferencedModulesTelemetry = false' '' @@ -179,7 +193,7 @@ function Set-ModuleTemplate { $singularParent = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] $levedParentResourceType = ($parentResourceType -ne (@() + $orderedParentResourceTypes)[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType $parentJSONPath = ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath - # TODO: Handle case where parent is a proxy resource without its own resource PUT deployment (e.g. 'Microsoft.AVS/privateClouds/workloadNetworks' is not existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations') + if ([String]::IsNullOrEmpty($parentJSONPath)) { # Case: A child who's parent resource does not exist (i.e., is a proxy). In this case we use the current API paths as a fallback # Example: 'Microsoft.AVS/privateClouds/workloadNetworks' is not actually existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations' @@ -233,12 +247,17 @@ function Set-ModuleTemplate { $templateContent += $ModuleData.resources # Child-module references - # TODO: Handle case where parent is a proxy resource without its own resource PUT deployment (e.g. 'Microsoft.AVS/privateClouds/workloadNetworks' is not existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations'). I.e. 'indirect children' - foreach ($dataBlock in $directChildren) { + foreach ($dataBlock in $linkedChildren) { $childResourceType = ($dataBlock.identifier -split '/')[-1] $childResourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $childResourceType + + $hasProxyParent = [String]::IsNullOrEmpty($dataBlock.metadata.parentUrlPath) + if ($hasProxyParent) { + $proxyParentName = Split-Path (Split-Path $dataBlock.identifier -Parent) -Leaf + } + $templateContent += @( - "module $($resourceTypeSingular)_$($childResourceType) '$($childResourceType)/deploy.bicep' = [for ($($childResourceTypeSingular), index) in $($childResourceType): {", + "module $($hasProxyParent ? "$($proxyParentName)_" : '')$($resourceTypeSingular)_$($childResourceType) '$($hasProxyParent ? "$proxyParentName/" : '')$($childResourceType)/deploy.bicep' = [for ($($childResourceTypeSingular), index) in $($childResourceType): {", "name: '`${uniqueString(deployment().name$($locationParameterExists ? ', location' : ''))}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", 'params: {' ) From f26e3ecf77f094d29c672ce7f4c287d4e3fd8ff5 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 18:17:43 +0200 Subject: [PATCH 108/130] Update to latest --- modules/Microsoft.AVS/privateClouds/deploy.bicep | 7 +++++++ .../REST2CARML/private/module/Set-ModuleTemplate.ps1 | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index 1e4dd663b0..42e09a1dd8 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -318,6 +318,7 @@ module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deplo name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' params: { privateCloudName: name + workloadNetworkName: 'default' name: publicIP.name numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' @@ -329,6 +330,7 @@ module workloadNetworks_privateCloud_dnsZones 'workloadNetworks/dnsZones/deploy. name: '${uniqueString(deployment().name, location)}-privateCloud-dnsZone-${index}' params: { privateCloudName: name + workloadNetworkName: 'default' name: dnsZone.name domain: contains(dnsZone, 'domain') ? dnsZone.domain : [] sourceIp: contains(dnsZone, 'sourceIp') ? dnsZone.sourceIp : '' @@ -344,6 +346,7 @@ module workloadNetworks_privateCloud_portMirroringProfiles 'workloadNetworks/por name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' params: { privateCloudName: name + workloadNetworkName: 'default' name: portMirroringProfile.name direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' source: contains(portMirroringProfile, 'source') ? portMirroringProfile.source : '' @@ -358,6 +361,7 @@ module workloadNetworks_privateCloud_vmGroups 'workloadNetworks/vmGroups/deploy. name: '${uniqueString(deployment().name, location)}-privateCloud-vmGroup-${index}' params: { privateCloudName: name + workloadNetworkName: 'default' name: vmGroup.name members: contains(vmGroup, 'members') ? vmGroup.members : [] revision: contains(vmGroup, 'revision') ? vmGroup.revision : @@ -370,6 +374,7 @@ module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy. name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' params: { privateCloudName: name + workloadNetworkName: 'default' name: segment.name subnet: contains(segment, 'subnet') ? segment.subnet : {} connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' @@ -383,6 +388,7 @@ module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/d name: '${uniqueString(deployment().name, location)}-privateCloud-dnsService-${index}' params: { privateCloudName: name + workloadNetworkName: 'default' name: dnsService.name displayName: contains(dnsService, 'displayName') ? dnsService.displayName : '' defaultDnsZone: contains(dnsService, 'defaultDnsZone') ? dnsService.defaultDnsZone : '' @@ -398,6 +404,7 @@ module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpCo name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' params: { privateCloudName: name + workloadNetworkName: 'default' name: dhcpConfiguration.name revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index f5f2f8046b..fdf16333ed 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -262,11 +262,19 @@ function Set-ModuleTemplate { 'params: {' ) + # All param names of parents foreach ($parentResourceType in $parentResourceTypes) { $templateContent += ' {0}Name: {0}Name' -f ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] } + # Itself $templateContent += ' {0}Name: name' -f ((Get-ResourceTypeSingularName -ResourceType ($FullResourceType -split '/')[-1]) -split '/')[-1] + # Any proxy default if any + if ($hasProxyParent) { + $proxyDefaultValue = ($dataBlock.metadata.urlPath -split '\/')[-3] + $templateContent += " {0}Name: '{1}'" -f (Get-ResourceTypeSingularName -ResourceType ($proxyParentName -split '/')[-1]), $proxyDefaultValue + } + # Add primary child parameters $allParam = $dataBlock.data.parameters + $dataBlock.data.additionalParameters foreach ($parameter in ($allParam | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { From 0b6319a2fadbe2120db168bcdc37aeca5593efc3 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 19:17:07 +0200 Subject: [PATCH 109/130] Added sorting and the like --- .../privateClouds/addons/deploy.bicep | 12 +- .../privateClouds/authorizations/deploy.bicep | 8 +- .../privateClouds/authorizations/readme.md | 2 +- .../privateClouds/cloudLinks/deploy.bicep | 14 +- .../privateClouds/cloudLinks/readme.md | 2 +- .../clusters/datastores/deploy.bicep | 20 +- .../clusters/datastores/readme.md | 4 +- .../privateClouds/clusters/deploy.bicep | 54 +-- .../clusters/placementPolicies/deploy.bicep | 62 ++-- .../Microsoft.AVS/privateClouds/deploy.bicep | 332 +++++++++--------- .../globalReachConnections/deploy.bicep | 18 +- .../globalReachConnections/readme.md | 2 +- .../hcxEnterpriseSites/deploy.bicep | 8 +- .../hcxEnterpriseSites/readme.md | 2 +- .../scriptExecutions/deploy.bicep | 46 +-- .../privateClouds/scriptExecutions/readme.md | 2 +- .../dhcpConfigurations/deploy.bicep | 28 +- .../workloadNetworks/dnsServices/deploy.bicep | 42 +-- .../workloadNetworks/dnsZones/deploy.bicep | 42 +-- .../portMirroringProfiles/deploy.bicep | 38 +- .../workloadNetworks/publicIPs/deploy.bicep | 18 +- .../workloadNetworks/segments/deploy.bicep | 30 +- .../workloadNetworks/vmGroups/deploy.bicep | 24 +- .../private/module/Set-ModuleTemplate.ps1 | 70 +++- 24 files changed, 456 insertions(+), 424 deletions(-) diff --git a/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep index 6ccc65484b..93896f5bc1 100644 --- a/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep @@ -2,12 +2,6 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Required. Name of the addon for the private cloud') -param name string - @description('Optional. The type of private cloud addon') @allowed([ 'SRM' @@ -20,6 +14,12 @@ param addonType string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true +@description('Required. Name of the addon for the private cloud') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + // =============== // // Deployments // diff --git a/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep index 6bac0461d6..8a81f8610d 100644 --- a/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep @@ -2,14 +2,14 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Required. Name of the ExpressRoute Circuit Authorization in the private cloud') param name string -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string // =============== // diff --git a/modules/Microsoft.AVS/privateClouds/authorizations/readme.md b/modules/Microsoft.AVS/privateClouds/authorizations/readme.md index 87c2a6e81f..89ab5af150 100644 --- a/modules/Microsoft.AVS/privateClouds/authorizations/readme.md +++ b/modules/Microsoft.AVS/privateClouds/authorizations/readme.md @@ -28,7 +28,7 @@ This module deploys AVS PrivateClouds Authorizations. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | +| `privateCloudName` | string | The name of the parent privateClouds. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep index 22d202acc2..068f181727 100644 --- a/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep @@ -2,17 +2,17 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Required. Name of the cloud link resource') -param name string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Optional. Identifier of the other private cloud participating in the link.') param linkedCloud string = '' -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Required. Name of the cloud link resource') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string // =============== // diff --git a/modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md b/modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md index 091a2ea973..163ef46d6e 100644 --- a/modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md +++ b/modules/Microsoft.AVS/privateClouds/cloudLinks/readme.md @@ -28,7 +28,7 @@ This module deploys AVS PrivateClouds CloudLinks. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | +| `privateCloudName` | string | The name of the parent privateClouds. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep index 04057c9f88..7ab8b77ece 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep @@ -2,23 +2,23 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') +@description('Conditional. The name of the parent clusters. Required if the template is used in a standalone deployment.') param clusterName string +@description('Optional. An iSCSI volume from Microsoft.StoragePool provider') +param diskPoolVolume object = {} + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + @description('Required. Name of the datastore in the private cloud cluster') param name string @description('Optional. An Azure NetApp Files volume from Microsoft.NetApp provider') param netAppVolume object = {} -@description('Optional. An iSCSI volume from Microsoft.StoragePool provider') -param diskPoolVolume object = {} - -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string // =============== // @@ -49,8 +49,8 @@ resource datastore 'Microsoft.AVS/privateClouds/clusters/datastores@2022-05-01' parent: privateCloud::cluster name: name properties: { - netAppVolume: netAppVolume diskPoolVolume: diskPoolVolume + netAppVolume: netAppVolume } } diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md b/modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md index b274b47402..dcecf01a6c 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/readme.md @@ -28,8 +28,8 @@ This module deploys AVS PrivateClouds Clusters Datastores. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `clusterName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | -| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | +| `clusterName` | string | The name of the parent clusters. Required if the template is used in a standalone deployment. | +| `privateCloudName` | string | The name of the parent privateClouds. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep index a435e8a501..a21134c052 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep @@ -2,29 +2,29 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. The cluster size') +param clusterSize int = -@description('Required. Name of the cluster in the private cloud') -param name string +@description('Optional. The datastores to create as part of the cluster.') +param datastores array = [] -@description('Required. The resource model definition representing SKU') -param sku object +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Optional. The hosts') param hosts array = [] -@description('Optional. The cluster size') -param clusterSize int = +@description('Required. Name of the cluster in the private cloud') +param name string @description('Optional. The placementPolicies to create as part of the cluster.') param placementPolicies array = [] -@description('Optional. The datastores to create as part of the cluster.') -param datastores array = [] +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Required. The resource model definition representing SKU') +param sku object var enableReferencedModulesTelemetry = false @@ -60,31 +60,31 @@ resource cluster 'Microsoft.AVS/privateClouds/clusters@2022-05-01' = { } } -module cluster_placementPolicies 'placementPolicies/deploy.bicep' = [for (placementPolicy, index) in placementPolicies: { -name: '${uniqueString(deployment().name)}-cluster-placementPolicy-${index}' +module cluster_datastores 'datastores/deploy.bicep' = [for (datastore, index) in datastores: { +name: '${uniqueString(deployment().name)}-cluster-datastore-${index}' params: { privateCloudName: privateCloudName clusterName: name - name: placementPolicy.name - type: contains(placementPolicy, 'type') ? placementPolicy.type : '' - state: contains(placementPolicy, 'state') ? placementPolicy.state : '' - displayName: contains(placementPolicy, 'displayName') ? placementPolicy.displayName : '' - hostMembers: contains(placementPolicy, 'hostMembers') ? placementPolicy.hostMembers : [] - azureHybridBenefitType: contains(placementPolicy, 'azureHybridBenefitType') ? placementPolicy.azureHybridBenefitType : '' - affinityStrength: contains(placementPolicy, 'affinityStrength') ? placementPolicy.affinityStrength : '' - vmMembers: contains(placementPolicy, 'vmMembers') ? placementPolicy.vmMembers : [] + name: datastore.name + diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} + netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module cluster_datastores 'datastores/deploy.bicep' = [for (datastore, index) in datastores: { -name: '${uniqueString(deployment().name)}-cluster-datastore-${index}' +module cluster_placementPolicies 'placementPolicies/deploy.bicep' = [for (placementPolicy, index) in placementPolicies: { +name: '${uniqueString(deployment().name)}-cluster-placementPolicy-${index}' params: { privateCloudName: privateCloudName clusterName: name - name: datastore.name - netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} - diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} + name: placementPolicy.name + state: contains(placementPolicy, 'state') ? placementPolicy.state : '' + type: contains(placementPolicy, 'type') ? placementPolicy.type : '' + displayName: contains(placementPolicy, 'displayName') ? placementPolicy.displayName : '' + affinityStrength: contains(placementPolicy, 'affinityStrength') ? placementPolicy.affinityStrength : '' + azureHybridBenefitType: contains(placementPolicy, 'azureHybridBenefitType') ? placementPolicy.azureHybridBenefitType : '' + vmMembers: contains(placementPolicy, 'vmMembers') ? placementPolicy.vmMembers : [] + hostMembers: contains(placementPolicy, 'hostMembers') ? placementPolicy.hostMembers : [] enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep index f2fdee6e9e..6275b9d032 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep @@ -2,55 +2,55 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param clusterName string - -@description('Required. Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy') -param name string - -@description('Optional. placement policy type') +@description('Optional. VM-Host placement policy affinity strength (should/must)') @allowed([ - 'VmVm' - 'VmHost' + 'Should' + 'Must' ]) -param type string = '' +param affinityStrength string = '' -@description('Optional. Whether the placement policy is enabled or disabled') +@description('Optional. Placement policy hosts opt-in Azure Hybrid Benefit type') @allowed([ - 'Enabled' - 'Disabled' + 'SqlHost' + 'None' ]) -param state string = '' +param azureHybridBenefitType string = '' + +@description('Conditional. The name of the parent clusters. Required if the template is used in a standalone deployment.') +param clusterName string @description('Optional. Display name of the placement policy') param displayName string = '' +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + @description('Optional. Host members list') param hostMembers array = [] -@description('Optional. Placement policy hosts opt-in Azure Hybrid Benefit type') +@description('Required. Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + +@description('Optional. Whether the placement policy is enabled or disabled') @allowed([ - 'SqlHost' - 'None' + 'Enabled' + 'Disabled' ]) -param azureHybridBenefitType string = '' +param state string = '' -@description('Optional. VM-Host placement policy affinity strength (should/must)') +@description('Optional. placement policy type') @allowed([ - 'Should' - 'Must' + 'VmVm' + 'VmHost' ]) -param affinityStrength string = '' +param type string = '' @description('Optional. Virtual machine members list') param vmMembers array = [] -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true - // =============== // // Deployments // @@ -80,13 +80,13 @@ resource placementPolicy 'Microsoft.AVS/privateClouds/clusters/placementPolicies parent: privateCloud::cluster name: name properties: { - type: type state: state + type: type displayName: displayName - hostMembers: hostMembers - azureHybridBenefitType: azureHybridBenefitType affinityStrength: affinityStrength + azureHybridBenefitType: azureHybridBenefitType vmMembers: vmMembers + hostMembers: hostMembers } } diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index 42e09a1dd8..90fbc931ff 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -2,65 +2,26 @@ // Parameters // // ============== // -@description('Required. Name of the private cloud') -param name string - -@description('Optional. Identity for the virtual machine.') -param identity object = {} - -@description('Optional. The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22') -param networkBlock string = '' - -@description('Optional. An ExpressRoute Circuit') -param secondaryCircuit object = {} - -@description('Optional. Optionally, set the NSX-T Manager password when the private cloud is created') -@secure() -param nsxtPassword string = '' - -@description('Optional. Optionally, set the vCenter admin password when the private cloud is created') -@secure() -param vcenterPassword string = '' - -@description('Optional. An ExpressRoute Circuit') -param circuit object = {} - -@description('Required. The resource model definition representing SKU') -param sku object +@description('Optional. The addons to create as part of the privateCloud.') +param addons array = [] -@description('Optional. Location for all Resources.') -param location string = resourceGroup().location +@description('Optional. The authorizations to create as part of the privateCloud.') +param authorizations array = [] @description('Optional. The properties describing private cloud availability zone distribution') param availability object = {} -@description('Optional. vCenter Single Sign On Identity Sources') -param identitySources array = [] - -@description('Optional. The properties of a management cluster') -param managementCluster object = {} - -@description('Optional. Connectivity to internet is enabled or disabled') -@allowed([ - 'Enabled' - 'Disabled' -]) -param internet string = 'Disabled' - -@description('Optional. The properties of customer managed encryption key') -param encryption object = {} - -@description('Optional. Resource tags') -param tags object = {} +@description('Optional. An ExpressRoute Circuit') +param circuit object = {} -@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') -param diagnosticLogsRetentionInDays int = 365 +@description('Optional. The cloudLinks to create as part of the privateCloud.') +param cloudLinks array = [] -@description('Optional. Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') -param diagnosticStorageAccountId string = '' +@description('Optional. The clusters to create as part of the privateCloud.') +param clusters array = [] -@description('Optional. Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') -param diagnosticWorkspaceId string = '' +@description('Optional. The dhcpConfigurations to create as part of the privateCloud.') +param dhcpConfigurations array = [] @description('Optional. Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to.') param diagnosticEventHubAuthorizationRuleId string = '' @@ -68,14 +29,6 @@ param diagnosticEventHubAuthorizationRuleId string = '' @description('Optional. Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') param diagnosticEventHubName string = '' -@description('Optional. The name of metrics that will be streamed.') -@allowed([ - 'AllMetrics' -]) -param diagnosticMetricsToEnable array = [ - 'AllMetrics' -] - @description('Optional. The name of logs that will be streamed.') @allowed([ 'CapacityLatest' @@ -98,9 +51,60 @@ param diagnosticLogCategoriesToEnable array = [ 'UsedLatest' ] +@description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') +param diagnosticLogsRetentionInDays int = 365 + +@description('Optional. The name of metrics that will be streamed.') +@allowed([ + 'AllMetrics' +]) +param diagnosticMetricsToEnable array = [ + 'AllMetrics' +] + @description('Optional. The name of the diagnostic setting, if deployed.') param diagnosticSettingsName string = '${name}-diagnosticSettings' +@description('Optional. Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') +param diagnosticStorageAccountId string = '' + +@description('Optional. Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub.') +param diagnosticWorkspaceId string = '' + +@description('Optional. The dnsServices to create as part of the privateCloud.') +param dnsServices array = [] + +@description('Optional. The dnsZones to create as part of the privateCloud.') +param dnsZones array = [] + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +@description('Optional. The properties of customer managed encryption key') +param encryption object = {} + +@description('Optional. The globalReachConnections to create as part of the privateCloud.') +param globalReachConnections array = [] + +@description('Optional. The hcxEnterpriseSites to create as part of the privateCloud.') +param hcxEnterpriseSites array = [] + +@description('Optional. Identity for the virtual machine.') +param identity object = {} + +@description('Optional. vCenter Single Sign On Identity Sources') +param identitySources array = [] + +@description('Optional. Connectivity to internet is enabled or disabled') +@allowed([ + 'Enabled' + 'Disabled' +]) +param internet string = 'Disabled' + +@description('Optional. Location for all Resources.') +param location string = resourceGroup().location + @description('Optional. Specify the type of lock.') @allowed([ '' @@ -109,50 +113,46 @@ param diagnosticSettingsName string = '${name}-diagnosticSettings' ]) param lock string = '' -@description('Optional. The hcxEnterpriseSites to create as part of the privateCloud.') -param hcxEnterpriseSites array = [] - -@description('Optional. The authorizations to create as part of the privateCloud.') -param authorizations array = [] - -@description('Optional. The cloudLinks to create as part of the privateCloud.') -param cloudLinks array = [] +@description('Optional. The properties of a management cluster') +param managementCluster object = {} -@description('Optional. The scriptExecutions to create as part of the privateCloud.') -param scriptExecutions array = [] +@description('Required. Name of the private cloud') +param name string -@description('Optional. The addons to create as part of the privateCloud.') -param addons array = [] +@description('Optional. The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22') +param networkBlock string = '' -@description('Optional. The clusters to create as part of the privateCloud.') -param clusters array = [] +@description('Optional. Optionally, set the NSX-T Manager password when the private cloud is created') +@secure() +param nsxtPassword string = '' -@description('Optional. The globalReachConnections to create as part of the privateCloud.') -param globalReachConnections array = [] +@description('Optional. The portMirroringProfiles to create as part of the privateCloud.') +param portMirroringProfiles array = [] @description('Optional. The publicIPs to create as part of the privateCloud.') param publicIPs array = [] -@description('Optional. The dnsZones to create as part of the privateCloud.') -param dnsZones array = [] - -@description('Optional. The portMirroringProfiles to create as part of the privateCloud.') -param portMirroringProfiles array = [] +@description('Optional. The scriptExecutions to create as part of the privateCloud.') +param scriptExecutions array = [] -@description('Optional. The vmGroups to create as part of the privateCloud.') -param vmGroups array = [] +@description('Optional. An ExpressRoute Circuit') +param secondaryCircuit object = {} @description('Optional. The segments to create as part of the privateCloud.') param segments array = [] -@description('Optional. The dnsServices to create as part of the privateCloud.') -param dnsServices array = [] +@description('Required. The resource model definition representing SKU') +param sku object -@description('Optional. The dhcpConfigurations to create as part of the privateCloud.') -param dhcpConfigurations array = [] +@description('Optional. Resource tags') +param tags object = {} -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Optional. Optionally, set the vCenter admin password when the private cloud is created') +@secure() +param vcenterPassword string = '' + +@description('Optional. The vmGroups to create as part of the privateCloud.') +param vmGroups array = [] var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: { category: metric @@ -200,16 +200,16 @@ resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' = { location: location tags: tags properties: { - networkBlock: networkBlock secondaryCircuit: secondaryCircuit nsxtPassword: nsxtPassword vcenterPassword: vcenterPassword + networkBlock: networkBlock circuit: circuit - availability: availability identitySources: identitySources - managementCluster: managementCluster internet: internet encryption: encryption + availability: availability + managementCluster: managementCluster } } @@ -244,6 +244,30 @@ params: { } }] +module privateCloud_globalReachConnections 'globalReachConnections/deploy.bicep' = [for (globalReachConnection, index) in globalReachConnections: { +name: '${uniqueString(deployment().name, location)}-privateCloud-globalReachConnection-${index}' +params: { + privateCloudName: name + name: globalReachConnection.name + authorizationKey: contains(globalReachConnection, 'authorizationKey') ? globalReachConnection.authorizationKey : '' + expressRouteId: contains(globalReachConnection, 'expressRouteId') ? globalReachConnection.expressRouteId : '' + peerExpressRouteCircuit: contains(globalReachConnection, 'peerExpressRouteCircuit') ? globalReachConnection.peerExpressRouteCircuit : '' + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + +module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { +name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' +params: { + privateCloudName: name + name: cluster.name + sku: cluster.sku + hosts: contains(cluster, 'hosts') ? cluster.hosts : [] + clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + module privateCloud_authorizations 'authorizations/deploy.bicep' = [for (authorization, index) in authorizations: { name: '${uniqueString(deployment().name, location)}-privateCloud-authorization-${index}' params: { @@ -263,23 +287,6 @@ params: { } }] -module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scriptExecution, index) in scriptExecutions: { -name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' -params: { - privateCloudName: name - name: scriptExecution.name - hiddenParameters: contains(scriptExecution, 'hiddenParameters') ? scriptExecution.hiddenParameters : [] - parameters: contains(scriptExecution, 'parameters') ? scriptExecution.parameters : [] - failureReason: contains(scriptExecution, 'failureReason') ? scriptExecution.failureReason : '' - retention: contains(scriptExecution, 'retention') ? scriptExecution.retention : '' - timeout: contains(scriptExecution, 'timeout') ? scriptExecution.timeout : '' - scriptCmdletId: contains(scriptExecution, 'scriptCmdletId') ? scriptExecution.scriptCmdletId : '' - namedOutputs: contains(scriptExecution, 'namedOutputs') ? scriptExecution.namedOutputs : {} - output: contains(scriptExecution, 'output') ? scriptExecution.output : [] - enableDefaultTelemetry: enableReferencedModulesTelemetry - } -}] - module privateCloud_addons 'addons/deploy.bicep' = [for (addon, index) in addons: { name: '${uniqueString(deployment().name, location)}-privateCloud-addon-${index}' params: { @@ -290,38 +297,44 @@ params: { } }] -module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { -name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' +module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scriptExecution, index) in scriptExecutions: { +name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' params: { privateCloudName: name - name: cluster.name - sku: cluster.sku - hosts: contains(cluster, 'hosts') ? cluster.hosts : [] - clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : + name: scriptExecution.name + scriptCmdletId: contains(scriptExecution, 'scriptCmdletId') ? scriptExecution.scriptCmdletId : '' + failureReason: contains(scriptExecution, 'failureReason') ? scriptExecution.failureReason : '' + output: contains(scriptExecution, 'output') ? scriptExecution.output : [] + namedOutputs: contains(scriptExecution, 'namedOutputs') ? scriptExecution.namedOutputs : {} + timeout: contains(scriptExecution, 'timeout') ? scriptExecution.timeout : '' + retention: contains(scriptExecution, 'retention') ? scriptExecution.retention : '' + parameters: contains(scriptExecution, 'parameters') ? scriptExecution.parameters : [] + hiddenParameters: contains(scriptExecution, 'hiddenParameters') ? scriptExecution.hiddenParameters : [] enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module privateCloud_globalReachConnections 'globalReachConnections/deploy.bicep' = [for (globalReachConnection, index) in globalReachConnections: { -name: '${uniqueString(deployment().name, location)}-privateCloud-globalReachConnection-${index}' +module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deploy.bicep' = [for (publicIP, index) in publicIPs: { +name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' params: { privateCloudName: name - name: globalReachConnection.name - expressRouteId: contains(globalReachConnection, 'expressRouteId') ? globalReachConnection.expressRouteId : '' - authorizationKey: contains(globalReachConnection, 'authorizationKey') ? globalReachConnection.authorizationKey : '' - peerExpressRouteCircuit: contains(globalReachConnection, 'peerExpressRouteCircuit') ? globalReachConnection.peerExpressRouteCircuit : '' + workloadNetworkName: 'default' + name: publicIP.name + displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' + numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deploy.bicep' = [for (publicIP, index) in publicIPs: { -name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' +module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpConfigurations/deploy.bicep' = [for (dhcpConfiguration, index) in dhcpConfigurations: { +name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - name: publicIP.name - numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : - displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' + name: dhcpConfiguration.name + displayName: contains(dhcpConfiguration, 'displayName') ? dhcpConfiguration.displayName : '' + dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' + revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] @@ -332,27 +345,28 @@ params: { privateCloudName: name workloadNetworkName: 'default' name: dnsZone.name - domain: contains(dnsZone, 'domain') ? dnsZone.domain : [] - sourceIp: contains(dnsZone, 'sourceIp') ? dnsZone.sourceIp : '' revision: contains(dnsZone, 'revision') ? dnsZone.revision : - dnsServerIps: contains(dnsZone, 'dnsServerIps') ? dnsZone.dnsServerIps : [] displayName: contains(dnsZone, 'displayName') ? dnsZone.displayName : '' dnsServices: contains(dnsZone, 'dnsServices') ? dnsZone.dnsServices : + dnsServerIps: contains(dnsZone, 'dnsServerIps') ? dnsZone.dnsServerIps : [] + sourceIp: contains(dnsZone, 'sourceIp') ? dnsZone.sourceIp : '' + domain: contains(dnsZone, 'domain') ? dnsZone.domain : [] enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_portMirroringProfiles 'workloadNetworks/portMirroringProfiles/deploy.bicep' = [for (portMirroringProfile, index) in portMirroringProfiles: { -name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' +module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/deploy.bicep' = [for (dnsService, index) in dnsServices: { +name: '${uniqueString(deployment().name, location)}-privateCloud-dnsService-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - name: portMirroringProfile.name - direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' - source: contains(portMirroringProfile, 'source') ? portMirroringProfile.source : '' - destination: contains(portMirroringProfile, 'destination') ? portMirroringProfile.destination : '' - revision: contains(portMirroringProfile, 'revision') ? portMirroringProfile.revision : - displayName: contains(portMirroringProfile, 'displayName') ? portMirroringProfile.displayName : '' + name: dnsService.name + logLevel: contains(dnsService, 'logLevel') ? dnsService.logLevel : '' + fqdnZones: contains(dnsService, 'fqdnZones') ? dnsService.fqdnZones : [] + defaultDnsZone: contains(dnsService, 'defaultDnsZone') ? dnsService.defaultDnsZone : '' + dnsServiceIp: contains(dnsService, 'dnsServiceIp') ? dnsService.dnsServiceIp : '' + revision: contains(dnsService, 'revision') ? dnsService.revision : + displayName: contains(dnsService, 'displayName') ? dnsService.displayName : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] @@ -363,52 +377,38 @@ params: { privateCloudName: name workloadNetworkName: 'default' name: vmGroup.name + displayName: contains(vmGroup, 'displayName') ? vmGroup.displayName : '' members: contains(vmGroup, 'members') ? vmGroup.members : [] revision: contains(vmGroup, 'revision') ? vmGroup.revision : - displayName: contains(vmGroup, 'displayName') ? vmGroup.displayName : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy.bicep' = [for (segment, index) in segments: { -name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' -params: { - privateCloudName: name - workloadNetworkName: 'default' - name: segment.name - subnet: contains(segment, 'subnet') ? segment.subnet : {} - connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' - revision: contains(segment, 'revision') ? segment.revision : - displayName: contains(segment, 'displayName') ? segment.displayName : '' - enableDefaultTelemetry: enableReferencedModulesTelemetry - } -}] - -module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/deploy.bicep' = [for (dnsService, index) in dnsServices: { -name: '${uniqueString(deployment().name, location)}-privateCloud-dnsService-${index}' +module workloadNetworks_privateCloud_portMirroringProfiles 'workloadNetworks/portMirroringProfiles/deploy.bicep' = [for (portMirroringProfile, index) in portMirroringProfiles: { +name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - name: dnsService.name - displayName: contains(dnsService, 'displayName') ? dnsService.displayName : '' - defaultDnsZone: contains(dnsService, 'defaultDnsZone') ? dnsService.defaultDnsZone : '' - fqdnZones: contains(dnsService, 'fqdnZones') ? dnsService.fqdnZones : [] - revision: contains(dnsService, 'revision') ? dnsService.revision : - logLevel: contains(dnsService, 'logLevel') ? dnsService.logLevel : '' - dnsServiceIp: contains(dnsService, 'dnsServiceIp') ? dnsService.dnsServiceIp : '' + name: portMirroringProfile.name + destination: contains(portMirroringProfile, 'destination') ? portMirroringProfile.destination : '' + displayName: contains(portMirroringProfile, 'displayName') ? portMirroringProfile.displayName : '' + revision: contains(portMirroringProfile, 'revision') ? portMirroringProfile.revision : + direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' + source: contains(portMirroringProfile, 'source') ? portMirroringProfile.source : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpConfigurations/deploy.bicep' = [for (dhcpConfiguration, index) in dhcpConfigurations: { -name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' +module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy.bicep' = [for (segment, index) in segments: { +name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - name: dhcpConfiguration.name - revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : - dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' - displayName: contains(dhcpConfiguration, 'displayName') ? dhcpConfiguration.displayName : '' + name: segment.name + subnet: contains(segment, 'subnet') ? segment.subnet : {} + displayName: contains(segment, 'displayName') ? segment.displayName : '' + revision: contains(segment, 'revision') ? segment.revision : + connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep index 0703eff554..314e92cf3f 100644 --- a/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep @@ -2,23 +2,23 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Authorization key from the peer express route used for the global reach connection') +param authorizationKey string = '' -@description('Required. Name of the global reach connection in the private cloud') -param name string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Optional. The ID of the Private Cloud\'s ExpressRoute Circuit that is participating in the global reach connection') param expressRouteId string = '' -@description('Optional. Authorization key from the peer express route used for the global reach connection') -param authorizationKey string = '' +@description('Required. Name of the global reach connection in the private cloud') +param name string @description('Optional. Identifier of the ExpressRoute Circuit to peer with in the global reach connection') param peerExpressRouteCircuit string = '' -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string // =============== // @@ -46,8 +46,8 @@ resource globalReachConnection 'Microsoft.AVS/privateClouds/globalReachConnectio parent: privateCloud name: name properties: { - expressRouteId: expressRouteId authorizationKey: authorizationKey + expressRouteId: expressRouteId peerExpressRouteCircuit: peerExpressRouteCircuit } } diff --git a/modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md b/modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md index 33bfeef235..3da1c7294f 100644 --- a/modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md +++ b/modules/Microsoft.AVS/privateClouds/globalReachConnections/readme.md @@ -28,7 +28,7 @@ This module deploys AVS PrivateClouds GlobalReachConnections. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | +| `privateCloudName` | string | The name of the parent privateClouds. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep index 46c33f2647..ca40878611 100644 --- a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep @@ -2,14 +2,14 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Required. Name of the HCX Enterprise Site in the private cloud') param name string -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string // =============== // diff --git a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md index dab14d2aec..7a0a111fdf 100644 --- a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md +++ b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/readme.md @@ -28,7 +28,7 @@ This module deploys AVS PrivateClouds HcxEnterpriseSites. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | +| `privateCloudName` | string | The name of the parent privateClouds. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep index 989233f125..90fae12402 100644 --- a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep @@ -2,38 +2,38 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true -@description('Required. Name of the user-invoked script execution resource') -param name string +@description('Optional. Error message if the script was able to run, but if the script itself had errors or powershell threw an exception') +param failureReason string = '' @description('Optional. Parameters that will be hidden/not visible to ARM, such as passwords and credentials') param hiddenParameters array = [] +@description('Required. Name of the user-invoked script execution resource') +param name string + +@description('Optional. User-defined dictionary.') +param namedOutputs object = {} + +@description('Optional. Standard output stream from the powershell execution') +param output array = [] + @description('Optional. Parameters the script will accept') param parameters array = [] -@description('Optional. Error message if the script was able to run, but if the script itself had errors or powershell threw an exception') -param failureReason string = '' +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string @description('Optional. Time to live for the resource. If not provided, will be available for 60 days') param retention string = '' -@description('Optional. Time limit for execution') -param timeout string = '' - @description('Optional. A reference to the script cmdlet resource if user is running a AVS script') param scriptCmdletId string = '' -@description('Optional. User-defined dictionary.') -param namedOutputs object = {} - -@description('Optional. Standard output stream from the powershell execution') -param output array = [] - -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Optional. Time limit for execution') +param timeout string = '' // =============== // @@ -61,14 +61,14 @@ resource scriptExecution 'Microsoft.AVS/privateClouds/scriptExecutions@2022-05-0 parent: privateCloud name: name properties: { - hiddenParameters: hiddenParameters - parameters: parameters - failureReason: failureReason - retention: retention - timeout: timeout scriptCmdletId: scriptCmdletId - namedOutputs: namedOutputs + failureReason: failureReason output: output + namedOutputs: namedOutputs + timeout: timeout + retention: retention + parameters: parameters + hiddenParameters: hiddenParameters } } diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md b/modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md index 824e8d55c2..50ea7501f0 100644 --- a/modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/readme.md @@ -28,7 +28,7 @@ This module deploys AVS PrivateClouds ScriptExecutions. | Parameter Name | Type | Description | | :-- | :-- | :-- | -| `privateCloudName` | string | The name of the parent key vault. Required if the template is used in a standalone deployment. | +| `privateCloudName` | string | The name of the parent privateClouds. Required if the template is used in a standalone deployment. | **Optional parameters** diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep index 8e93a72c7d..6d38e90640 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep @@ -2,18 +2,6 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param workloadNetworkName string - -@description('Required. NSX DHCP identifier. Generally the same as the DHCP display name') -param name string - -@description('Optional. NSX revision number.') -param revision int = - @description('Optional. Type of DHCP: SERVER or RELAY.') @allowed([ 'SERVER' @@ -27,6 +15,18 @@ param displayName string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true +@description('Required. NSX DHCP identifier. Generally the same as the DHCP display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string = 'default' + +@description('Optional. NSX revision number.') +param revision int = + +@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +param workloadNetworkName string = 'default' + // =============== // // Deployments // @@ -56,9 +56,9 @@ resource dhcpConfiguration 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpCon parent: privateCloud::workloadNetwork name: name properties: { - revision: revision - dhcpType: dhcpType displayName: displayName + dhcpType: dhcpType + revision: revision } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep index 67bad4a55b..4c8726ab4a 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep @@ -2,27 +2,21 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param workloadNetworkName string - -@description('Required. NSX DNS Service identifier. Generally the same as the DNS Service\'s display name') -param name string +@description('Optional. Default DNS zone of the DNS Service.') +param defaultDnsZone string = '' @description('Optional. Display name of the DNS Service.') param displayName string = '' -@description('Optional. Default DNS zone of the DNS Service.') -param defaultDnsZone string = '' +@description('Optional. DNS service IP of the DNS Service.') +param dnsServiceIp string = '' + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Optional. FQDN zones of the DNS Service.') param fqdnZones array = [] -@description('Optional. NSX revision number.') -param revision int = - @description('Optional. DNS Service log level.') @allowed([ 'DEBUG' @@ -33,11 +27,17 @@ param revision int = ]) param logLevel string = '' -@description('Optional. DNS service IP of the DNS Service.') -param dnsServiceIp string = '' +@description('Required. NSX DNS Service identifier. Generally the same as the DNS Service\'s display name') +param name string -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string = 'default' + +@description('Optional. NSX revision number.') +param revision int = + +@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +param workloadNetworkName string = 'default' // =============== // @@ -68,12 +68,12 @@ resource dnsService 'Microsoft.AVS/privateClouds/workloadNetworks/dnsServices@20 parent: privateCloud::workloadNetwork name: name properties: { - displayName: displayName - defaultDnsZone: defaultDnsZone - fqdnZones: fqdnZones - revision: revision logLevel: logLevel + fqdnZones: fqdnZones + defaultDnsZone: defaultDnsZone dnsServiceIp: dnsServiceIp + revision: revision + displayName: displayName } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep index 639dbbc5e4..7d272f1823 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep @@ -2,35 +2,35 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Display name of the DNS Zone.') +param displayName string = '' -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param workloadNetworkName string +@description('Optional. DNS Server IP array of the DNS Zone.') +param dnsServerIps array = [] -@description('Required. NSX DNS Zone identifier. Generally the same as the DNS Zone\'s display name') -param name string +@description('Optional. Number of DNS Services using the DNS zone.') +param dnsServices int = @description('Optional. Domain names of the DNS Zone.') param domain array = [] -@description('Optional. Source IP of the DNS Zone.') -param sourceIp string = '' +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true -@description('Optional. NSX revision number.') -param revision int = +@description('Required. NSX DNS Zone identifier. Generally the same as the DNS Zone\'s display name') +param name string -@description('Optional. DNS Server IP array of the DNS Zone.') -param dnsServerIps array = [] +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string = 'default' -@description('Optional. Display name of the DNS Zone.') -param displayName string = '' +@description('Optional. NSX revision number.') +param revision int = -@description('Optional. Number of DNS Services using the DNS zone.') -param dnsServices int = +@description('Optional. Source IP of the DNS Zone.') +param sourceIp string = '' -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +param workloadNetworkName string = 'default' // =============== // @@ -61,12 +61,12 @@ resource dnsZone 'Microsoft.AVS/privateClouds/workloadNetworks/dnsZones@2022-05- parent: privateCloud::workloadNetwork name: name properties: { - domain: domain - sourceIp: sourceIp revision: revision - dnsServerIps: dnsServerIps displayName: displayName dnsServices: dnsServices + dnsServerIps: dnsServerIps + sourceIp: sourceIp + domain: domain } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep index 7487f3f171..50014ccabf 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep @@ -2,14 +2,8 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param workloadNetworkName string - -@description('Required. NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name') -param name string +@description('Optional. Destination VM Group.') +param destination string = '' @description('Optional. Direction of port mirroring profile.') @allowed([ @@ -19,20 +13,26 @@ param name string ]) param direction string = '' -@description('Optional. Source VM Group.') -param source string = '' +@description('Optional. Display name of the port mirroring profile.') +param displayName string = '' -@description('Optional. Destination VM Group.') -param destination string = '' +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +@description('Required. NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string = 'default' @description('Optional. NSX revision number.') param revision int = -@description('Optional. Display name of the port mirroring profile.') -param displayName string = '' +@description('Optional. Source VM Group.') +param source string = '' -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +param workloadNetworkName string = 'default' // =============== // @@ -63,11 +63,11 @@ resource portMirroringProfile 'Microsoft.AVS/privateClouds/workloadNetworks/port parent: privateCloud::workloadNetwork name: name properties: { - direction: direction - source: source destination: destination - revision: revision displayName: displayName + revision: revision + direction: direction + source: source } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep index 04eace07b7..fb99318027 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep @@ -2,11 +2,11 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Display name of the Public IP Block.') +param displayName string = '' -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param workloadNetworkName string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Required. NSX Public IP Block identifier. Generally the same as the Public IP Block\'s display name') param name string @@ -14,11 +14,11 @@ param name string @description('Optional. Number of Public IPs requested.') param numberOfPublicIPs int = -@description('Optional. Display name of the Public IP Block.') -param displayName string = '' +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string = 'default' -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +param workloadNetworkName string = 'default' // =============== // @@ -49,8 +49,8 @@ resource publicIP 'Microsoft.AVS/privateClouds/workloadNetworks/publicIPs@2022-0 parent: privateCloud::workloadNetwork name: name properties: { - numberOfPublicIPs: numberOfPublicIPs displayName: displayName + numberOfPublicIPs: numberOfPublicIPs } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep index b2d96f4b25..ac80b17735 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep @@ -2,29 +2,29 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Gateway which to connect segment to.') +param connectedGateway string = '' -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param workloadNetworkName string +@description('Optional. Display name of the segment.') +param displayName string = '' + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true @description('Required. NSX Segment identifier. Generally the same as the Segment\'s display name') param name string -@description('Optional. Subnet configuration for segment') -param subnet object = {} - -@description('Optional. Gateway which to connect segment to.') -param connectedGateway string = '' +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string = 'default' @description('Optional. NSX revision number.') param revision int = -@description('Optional. Display name of the segment.') -param displayName string = '' +@description('Optional. Subnet configuration for segment') +param subnet object = {} -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +param workloadNetworkName string = 'default' // =============== // @@ -56,9 +56,9 @@ resource segment 'Microsoft.AVS/privateClouds/workloadNetworks/segments@2022-05- name: name properties: { subnet: subnet - connectedGateway: connectedGateway - revision: revision displayName: displayName + revision: revision + connectedGateway: connectedGateway } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep index 97db932047..bfa85a0fa6 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep @@ -2,26 +2,26 @@ // Parameters // // ============== // -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param privateCloudName string +@description('Optional. Display name of the VM group.') +param displayName string = '' + +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true -@description('Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.') -param workloadNetworkName string +@description('Optional. Virtual machine members of this group.') +param members array = [] @description('Required. NSX VM Group identifier. Generally the same as the VM Group\'s display name') param name string -@description('Optional. Virtual machine members of this group.') -param members array = [] +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string = 'default' @description('Optional. NSX revision number.') param revision int = -@description('Optional. Display name of the VM group.') -param displayName string = '' - -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true +@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +param workloadNetworkName string = 'default' // =============== // @@ -52,9 +52,9 @@ resource vmGroup 'Microsoft.AVS/privateClouds/workloadNetworks/vmGroups@2022-05- parent: privateCloud::workloadNetwork name: name properties: { + displayName: displayName members: members revision: revision - displayName: displayName } } diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index fdf16333ed..c061f8539f 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -54,7 +54,12 @@ function Set-ModuleTemplate { } process { - # Collect any children of the current resource to create references + + ##################### + ## Collect Data # + ##################### + + # Collect child-resource information $linkedChildren = $fullmoduleData | Where-Object { # Is nested $_.identifier -like "$FullResourceType/*" -and @@ -62,7 +67,7 @@ function Set-ModuleTemplate { (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 1) ) } - # Add indirect child (via proxy resource) (i.e. it's a nested-nested resources who's parent has no individual specification/JSONFilePath). TODO: Is that always true? What if the data is specified in one file?x` + ## Add indirect child (via proxy resource) (i.e. it's a nested-nested resources who's parent has no individual specification/JSONFilePath). TODO: Is that always true? What if the data is specified in one file?x` $indirectChildren = $FullModuleData | Where-Object { # Is nested $_.identifier -like "$FullResourceType/*" -and @@ -88,6 +93,10 @@ function Set-ModuleTemplate { # Get the singular version of the current resource type for proper naming $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] + # Handle parent proxy, if any + $hasAProxyParent = $FullModuleData.identifier -notContains ((Split-Path $FullResourceType -Parent) -replace '\\', '/') + $parentProxyName = $hasAProxyParent ? ($UrlPath -split '\/')[-3] : '' + ################## ## PARAMETERS ## ################## @@ -106,30 +115,39 @@ function Set-ModuleTemplate { '' ) - foreach ($parentResourceType in $parentResourceTypes) { - $templateContent += Get-FormattedModuleParameter -ParameterData @{ + # Collect parameters to create + # ---------------------------- + $parametersToAdd = @() + + # Add parent parameters + foreach ($parentResourceType in ($parentResourceTypes | Sort-Object)) { + $parentParamData = @{ level = 0 name = '{0}Name' -f (Get-ResourceTypeSingularName -ResourceType $parentResourceType) type = 'string' - description = 'Conditional. The name of the parent key vault. Required if the template is used in a standalone deployment.' + description = "Conditional. The name of the parent $parentResourceType. Required if the template is used in a standalone deployment." required = $false } + + if ($hasAProxyParent) { + # Handle proxy parents (i.e., empty containers with only a default value name) + $parentParamData['default'] = $parentProxyName + } + + $parametersToAdd += $parentParamData } # Add primary (service) parameters (i.e. top-level and those in the properties) - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter - } + $parametersToAdd += @() + ($ModuleData.parameters | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') }) + + # Add additional (extension) parameters - foreach ($parameter in $ModuleData.additionalParameters) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter - } + $parametersToAdd += $ModuleData.additionalParameters - # Child module references - foreach ($dataBlock in $linkedChildren) { + # Add child module references + foreach ($dataBlock in ($linkedChildren | Sort-Object -Property 'identifier')) { $childResourceType = ($dataBlock.identifier -split '/')[-1] - - $templateContent += Get-FormattedModuleParameter -ParameterData @{ + $parametersToAdd += @{ level = 0 name = $childResourceType type = 'array' @@ -140,7 +158,7 @@ function Set-ModuleTemplate { } # Add telemetry parameter - $templateContent += Get-FormattedModuleParameter -ParameterData @{ + $parametersToAdd += @{ level = 0 name = 'enableDefaultTelemetry' type = 'boolean' @@ -149,7 +167,11 @@ function Set-ModuleTemplate { required = $false } - $locationParameterExists = ($templateContent | Where-Object { $_ -like 'param location *' }).Count -gt 0 + # Create collected parameters + # --------------------------- + foreach ($parameter in ($parametersToAdd | Sort-Object -Property 'Name')) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } ################# ## VARIABLES ## @@ -170,6 +192,8 @@ function Set-ModuleTemplate { ## DEPLOYMENTS ## ################### + $locationParameterExists = ($templateContent | Where-Object { $_ -like 'param location *' }).Count -gt 0 + $templateContent += @( '' '// =============== //' @@ -178,7 +202,8 @@ function Set-ModuleTemplate { '' ) - # Telemetry + # Add telemetry resource + # ---------------------- $telemetryTemplate = Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') if (-not $locationParameterExists) { # Remove the location from the deployment name if the template has no such parameter @@ -187,6 +212,8 @@ function Set-ModuleTemplate { $templateContent += $telemetryTemplate $templateContent += '' + # Add 'existing' parents (if any) + # ------------------------------- $existingResourceIndent = 0 $orderedParentResourceTypes = $fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object foreach ($parentResourceType in $orderedParentResourceTypes) { @@ -218,6 +245,8 @@ function Set-ModuleTemplate { } $templateContent += '' + # Add primary resource + # -------------------- # Deployment resource declaration line $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf $templateContent += "resource $resourceTypeSingular '$FullResourceType@$serviceAPIVersion' = {" @@ -243,10 +272,13 @@ function Set-ModuleTemplate { ) + # Add additional resources such as extensions (like RBAC) + # ------------------------------------------------------- # Other collected resources $templateContent += $ModuleData.resources - # Child-module references + # Add child-module references + # --------------------------- foreach ($dataBlock in $linkedChildren) { $childResourceType = ($dataBlock.identifier -split '/')[-1] $childResourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $childResourceType From 4d8ac3cb08517e51a79b6240b84a0503d1949406 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Sat, 29 Oct 2022 19:36:42 +0200 Subject: [PATCH 110/130] Further refined paramters declaration & sorting --- .../privateClouds/addons/deploy.bicep | 12 ++++++------ .../privateClouds/authorizations/deploy.bicep | 6 +++--- .../privateClouds/cloudLinks/deploy.bicep | 12 ++++++------ .../clusters/datastores/deploy.bicep | 12 ++++++------ .../privateClouds/clusters/deploy.bicep | 18 +++++++++--------- .../clusters/placementPolicies/deploy.bicep | 18 +++++++++--------- .../Microsoft.AVS/privateClouds/deploy.bicep | 12 ++++++------ .../globalReachConnections/deploy.bicep | 12 ++++++------ .../hcxEnterpriseSites/deploy.bicep | 6 +++--- .../scriptExecutions/deploy.bicep | 12 ++++++------ .../dhcpConfigurations/deploy.bicep | 14 +++++++------- .../workloadNetworks/dnsServices/deploy.bicep | 14 +++++++------- .../workloadNetworks/dnsZones/deploy.bicep | 14 +++++++------- .../portMirroringProfiles/deploy.bicep | 14 +++++++------- .../workloadNetworks/publicIPs/deploy.bicep | 14 +++++++------- .../workloadNetworks/segments/deploy.bicep | 14 +++++++------- .../workloadNetworks/vmGroups/deploy.bicep | 14 +++++++------- .../private/module/Set-ModuleTemplate.ps1 | 18 +++++++++++++++--- 18 files changed, 124 insertions(+), 112 deletions(-) diff --git a/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep index 93896f5bc1..a80226314d 100644 --- a/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. Name of the addon for the private cloud') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. The type of private cloud addon') @allowed([ 'SRM' @@ -14,12 +20,6 @@ param addonType string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Required. Name of the addon for the private cloud') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string - // =============== // // Deployments // diff --git a/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep index 8a81f8610d..4a8ded2c4d 100644 --- a/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep @@ -2,15 +2,15 @@ // Parameters // // ============== // -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true - @description('Required. Name of the ExpressRoute Circuit Authorization in the private cloud') param name string @description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') param privateCloudName string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + // =============== // // Deployments // diff --git a/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep index 068f181727..ebab64d956 100644 --- a/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep @@ -2,18 +2,18 @@ // Parameters // // ============== // -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true - -@description('Optional. Identifier of the other private cloud participating in the link.') -param linkedCloud string = '' - @description('Required. Name of the cloud link resource') param name string @description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') param privateCloudName string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + +@description('Optional. Identifier of the other private cloud participating in the link.') +param linkedCloud string = '' + // =============== // // Deployments // diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep index 7ab8b77ece..4cdaad642f 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep @@ -2,24 +2,24 @@ // Parameters // // ============== // +@description('Required. Name of the datastore in the private cloud cluster') +param name string + @description('Conditional. The name of the parent clusters. Required if the template is used in a standalone deployment.') param clusterName string +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. An iSCSI volume from Microsoft.StoragePool provider') param diskPoolVolume object = {} @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Required. Name of the datastore in the private cloud cluster') -param name string - @description('Optional. An Azure NetApp Files volume from Microsoft.NetApp provider') param netAppVolume object = {} -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string - // =============== // // Deployments // diff --git a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep index a21134c052..bae652c848 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep @@ -2,6 +2,15 @@ // Parameters // // ============== // +@description('Required. Name of the cluster in the private cloud') +param name string + +@description('Required. The resource model definition representing SKU') +param sku object + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. The cluster size') param clusterSize int = @@ -14,18 +23,9 @@ param enableDefaultTelemetry bool = true @description('Optional. The hosts') param hosts array = [] -@description('Required. Name of the cluster in the private cloud') -param name string - @description('Optional. The placementPolicies to create as part of the cluster.') param placementPolicies array = [] -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string - -@description('Required. The resource model definition representing SKU') -param sku object - var enableReferencedModulesTelemetry = false diff --git a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep index 6275b9d032..c89da36d8b 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep @@ -2,6 +2,15 @@ // Parameters // // ============== // +@description('Required. Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy') +param name string + +@description('Conditional. The name of the parent clusters. Required if the template is used in a standalone deployment.') +param clusterName string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. VM-Host placement policy affinity strength (should/must)') @allowed([ 'Should' @@ -16,9 +25,6 @@ param affinityStrength string = '' ]) param azureHybridBenefitType string = '' -@description('Conditional. The name of the parent clusters. Required if the template is used in a standalone deployment.') -param clusterName string - @description('Optional. Display name of the placement policy') param displayName string = '' @@ -28,12 +34,6 @@ param enableDefaultTelemetry bool = true @description('Optional. Host members list') param hostMembers array = [] -@description('Required. Name of the VMware vSphere Distributed Resource Scheduler (DRS) placement policy') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string - @description('Optional. Whether the placement policy is enabled or disabled') @allowed([ 'Enabled' diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index 90fbc931ff..9a83001e24 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. Name of the private cloud') +param name string + +@description('Required. The resource model definition representing SKU') +param sku object + @description('Optional. The addons to create as part of the privateCloud.') param addons array = [] @@ -116,9 +122,6 @@ param lock string = '' @description('Optional. The properties of a management cluster') param managementCluster object = {} -@description('Required. Name of the private cloud') -param name string - @description('Optional. The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22') param networkBlock string = '' @@ -141,9 +144,6 @@ param secondaryCircuit object = {} @description('Optional. The segments to create as part of the privateCloud.') param segments array = [] -@description('Required. The resource model definition representing SKU') -param sku object - @description('Optional. Resource tags') param tags object = {} diff --git a/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep index 314e92cf3f..dbbef58424 100644 --- a/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. Name of the global reach connection in the private cloud') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Authorization key from the peer express route used for the global reach connection') param authorizationKey string = '' @@ -11,15 +17,9 @@ param enableDefaultTelemetry bool = true @description('Optional. The ID of the Private Cloud\'s ExpressRoute Circuit that is participating in the global reach connection') param expressRouteId string = '' -@description('Required. Name of the global reach connection in the private cloud') -param name string - @description('Optional. Identifier of the ExpressRoute Circuit to peer with in the global reach connection') param peerExpressRouteCircuit string = '' -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string - // =============== // // Deployments // diff --git a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep index ca40878611..e04501fd24 100644 --- a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep @@ -2,15 +2,15 @@ // Parameters // // ============== // -@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') -param enableDefaultTelemetry bool = true - @description('Required. Name of the HCX Enterprise Site in the private cloud') param name string @description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') param privateCloudName string +@description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') +param enableDefaultTelemetry bool = true + // =============== // // Deployments // diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep index 90fae12402..a6cd4363f4 100644 --- a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. Name of the user-invoked script execution resource') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true @@ -11,9 +17,6 @@ param failureReason string = '' @description('Optional. Parameters that will be hidden/not visible to ARM, such as passwords and credentials') param hiddenParameters array = [] -@description('Required. Name of the user-invoked script execution resource') -param name string - @description('Optional. User-defined dictionary.') param namedOutputs object = {} @@ -23,9 +26,6 @@ param output array = [] @description('Optional. Parameters the script will accept') param parameters array = [] -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string - @description('Optional. Time to live for the resource. If not provided, will be available for 60 days') param retention string = '' diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep index 6d38e90640..c4e9108831 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. NSX DHCP identifier. Generally the same as the DHCP display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Type of DHCP: SERVER or RELAY.') @allowed([ 'SERVER' @@ -15,16 +21,10 @@ param displayName string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Required. NSX DHCP identifier. Generally the same as the DHCP display name') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string = 'default' - @description('Optional. NSX revision number.') param revision int = -@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +@description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep index 4c8726ab4a..624e21bea9 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. NSX DNS Service identifier. Generally the same as the DNS Service\'s display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Default DNS zone of the DNS Service.') param defaultDnsZone string = '' @@ -27,16 +33,10 @@ param fqdnZones array = [] ]) param logLevel string = '' -@description('Required. NSX DNS Service identifier. Generally the same as the DNS Service\'s display name') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string = 'default' - @description('Optional. NSX revision number.') param revision int = -@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +@description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep index 7d272f1823..261c32a0b2 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. NSX DNS Zone identifier. Generally the same as the DNS Zone\'s display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Display name of the DNS Zone.') param displayName string = '' @@ -17,19 +23,13 @@ param domain array = [] @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Required. NSX DNS Zone identifier. Generally the same as the DNS Zone\'s display name') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string = 'default' - @description('Optional. NSX revision number.') param revision int = @description('Optional. Source IP of the DNS Zone.') param sourceIp string = '' -@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +@description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep index 50014ccabf..c5640ff762 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Destination VM Group.') param destination string = '' @@ -19,19 +25,13 @@ param displayName string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Required. NSX Port Mirroring identifier. Generally the same as the Port Mirroring display name') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string = 'default' - @description('Optional. NSX revision number.') param revision int = @description('Optional. Source VM Group.') param source string = '' -@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +@description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep index fb99318027..3adcd1a2b6 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep @@ -2,22 +2,22 @@ // Parameters // // ============== // +@description('Required. NSX Public IP Block identifier. Generally the same as the Public IP Block\'s display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Display name of the Public IP Block.') param displayName string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Required. NSX Public IP Block identifier. Generally the same as the Public IP Block\'s display name') -param name string - @description('Optional. Number of Public IPs requested.') param numberOfPublicIPs int = -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string = 'default' - -@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +@description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep index ac80b17735..f788ca34ad 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. NSX Segment identifier. Generally the same as the Segment\'s display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Gateway which to connect segment to.') param connectedGateway string = '' @@ -11,19 +17,13 @@ param displayName string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true -@description('Required. NSX Segment identifier. Generally the same as the Segment\'s display name') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string = 'default' - @description('Optional. NSX revision number.') param revision int = @description('Optional. Subnet configuration for segment') param subnet object = {} -@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +@description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep index bfa85a0fa6..5e848b5a70 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep @@ -2,6 +2,12 @@ // Parameters // // ============== // +@description('Required. NSX VM Group identifier. Generally the same as the VM Group\'s display name') +param name string + +@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') +param privateCloudName string + @description('Optional. Display name of the VM group.') param displayName string = '' @@ -11,16 +17,10 @@ param enableDefaultTelemetry bool = true @description('Optional. Virtual machine members of this group.') param members array = [] -@description('Required. NSX VM Group identifier. Generally the same as the VM Group\'s display name') -param name string - -@description('Conditional. The name of the parent privateClouds. Required if the template is used in a standalone deployment.') -param privateCloudName string = 'default' - @description('Optional. NSX revision number.') param revision int = -@description('Conditional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') +@description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index c061f8539f..46973d6a0d 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -96,6 +96,7 @@ function Set-ModuleTemplate { # Handle parent proxy, if any $hasAProxyParent = $FullModuleData.identifier -notContains ((Split-Path $FullResourceType -Parent) -replace '\\', '/') $parentProxyName = $hasAProxyParent ? ($UrlPath -split '\/')[-3] : '' + $proxyParentType = Split-Path (Split-Path $FullResourceType -Parent) -Leaf ################## ## PARAMETERS ## @@ -121,15 +122,17 @@ function Set-ModuleTemplate { # Add parent parameters foreach ($parentResourceType in ($parentResourceTypes | Sort-Object)) { + $thisParentIsProxy = $hasAProxyParent -and $parentResourceType -eq $proxyParentType + $parentParamData = @{ level = 0 name = '{0}Name' -f (Get-ResourceTypeSingularName -ResourceType $parentResourceType) type = 'string' - description = "Conditional. The name of the parent $parentResourceType. Required if the template is used in a standalone deployment." + description = '{0}. The name of the parent {1}. Required if the template is used in a standalone deployment.' -f ($thisParentIsProxy ? 'Optional' : 'Conditional'), $parentResourceType required = $false } - if ($hasAProxyParent) { + if ($thisParentIsProxy) { # Handle proxy parents (i.e., empty containers with only a default value name) $parentParamData['default'] = $parentProxyName } @@ -169,7 +172,16 @@ function Set-ModuleTemplate { # Create collected parameters # --------------------------- - foreach ($parameter in ($parametersToAdd | Sort-Object -Property 'Name')) { + # First the required + foreach ($parameter in ($parametersToAdd | Where-Object { $_.required } | Sort-Object -Property 'Name')) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } + # Then the conditional + foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -like 'Conditional. *' } | Sort-Object -Property 'Name')) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } + # Then the rest + foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -notlike 'Conditional. *' } | Sort-Object -Property 'Name')) { $templateContent += Get-FormattedModuleParameter -ParameterData $parameter } From 5db2ffd329eb4183e4904b55c65aa0e0c5ca2481 Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Sun, 30 Oct 2022 20:29:54 +0100 Subject: [PATCH 111/130] [Utilities] Added extraction function to get template content to enable REST2CARML idempotency (#2256) * Update to latest * Update to latest * Added var extraction * Added outputs extraction * Update to latest * Extended resource extraction function * Update to latest * Extended resources evaluation * Enabled detailed content for modules * Moved function * Simplified code * Added documentation * Update to latest * Update to latest --- .../private/module/Expand-DeploymentBlock.ps1 | 139 ++++++++++++++++++ .../private/module/Read-DeclarationBlock.ps1 | 111 ++++++++++++++ .../private/module/Set-ModuleTemplate.ps1 | 8 +- .../private/shared/Get-LineIndentation.ps1 | 50 +++++++ .../Resolve-ExistingTemplateContent.ps1 | 132 +++++++++++++++++ 5 files changed, 438 insertions(+), 2 deletions(-) create mode 100644 utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 create mode 100644 utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 create mode 100644 utilities/tools/REST2CARML/private/shared/Get-LineIndentation.ps1 create mode 100644 utilities/tools/REST2CARML/public/Resolve-ExistingTemplateContent.ps1 diff --git a/utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 b/utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 new file mode 100644 index 0000000000..6ddf91616b --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 @@ -0,0 +1,139 @@ +<# +.SYNOPSIS +Expand the given module/resource block content with details about contained params/properties + +.DESCRIPTION +Expand the given module/resource block content with details about contained params/properties + +.PARAMETER DeclarationBlock +Mandatory. The declaration block to expand upon. If available, the object will get the 2 new properties 'topLevelElements' & 'nestedElements' + +.PARAMETER NestedType +Mandatory. The key word that indicates nested-elements. Can be 'params' or 'properties' + +.EXAMPLE +Expand-DeploymentBlock -DeclarationBlock @{ startIndex = 173; endIndex = 183; content = @( 'resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {', ' name: name', ' location: location', (..)) } -NestedType 'properties' +#> +function Expand-DeploymentBlock { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [hashtable] $DeclarationBlock, + + [Parameter(Mandatory = $true)] + [ValidateSet('properties', 'params')] + [string] $NestedType + ) + + $topLevelIndent = Get-LineIndentation -Line $DeclarationBlock.content[1] + $relevantProperties = $DeclarationBlock.content | Where-Object { (Get-LineIndentation $_) -eq $topLevelIndent -and $_ -notlike "*$($NestedType): {*" -and $_ -like '*:*' } + $topLevelElementNames = $relevantProperties | ForEach-Object { ($_ -split ':')[0].Trim() } + + #################################### + ## Collect top level elements ## + #################################### + $topLevelElements = @() + foreach ($topLevelElementName in $topLevelElementNames) { + + # Find start index of element + $relativeElementStartIndex = 1 + for ($index = $relativeElementStartIndex; $index -lt $DeclarationBlock.content.Count; $index++) { + if ($DeclarationBlock.content[$index] -match ("^\s{$($topLevelIndent)}$($topLevelElementName):.+$" )) { + $relativeElementStartIndex = $index + break + } + } + + # Find end index of element + $isPropertyOrClosing = "^\s{$($topLevelIndent)}\w+:.+$|^}$" + if ($DeclarationBlock.content[$index + 1] -notmatch $isPropertyOrClosing) { + # If the next line is not another element/property/param, it's a multi-line declaration + $relativeElementEndIndex = $relativeElementStartIndex + while ($DeclarationBlock.content[($relativeElementEndIndex + 1)] -notmatch $isPropertyOrClosing) { + $relativeElementEndIndex++ + } + } else { + $relativeElementEndIndex = $relativeElementStartIndex + } + + # Build result + $topLevelElements += @{ + name = $topLevelElementName + content = $DeclarationBlock.content[$relativeElementStartIndex..$relativeElementEndIndex] + } + } + + $DeclarationBlock['topLevelElements'] = $topLevelElements + + ################################# + ## Collect nested elements ## + ################################# + if (($DeclarationBlock.content | Where-Object { $_ -match "^\s*$($NestedType): \{\s*$" }).count -gt 0) { + + # Find start index of nested block + # -------------------------------- + $propertiesStartIndex = 1 + for ($index = $propertiesStartIndex; $index -lt $DeclarationBlock.content.Count; $index++) { + if ($DeclarationBlock.Content[$index] -match "^\s*$($NestedType): \{\s*$") { + $propertiesStartIndex = $index + break + } + } + + # Find end index of nested block + # ------------------------------ + $propertiesEndIndex = $propertiesStartIndex + for ($index = $propertiesEndIndex; $index -lt $DeclarationBlock.content.Count; $index++) { + if ((Get-LineIndentation -Line $DeclarationBlock.Content[$index]) -eq $topLevelIndent -and $DeclarationBlock.Content[$index].Trim() -eq '}') { + $propertiesEndIndex = $index + break + } + } + + # Process nested block + # -------------------- + if ($DeclarationBlock.content[$propertiesStartIndex] -like '*{*}*' -or $DeclarationBlock.content[$propertiesStartIndex + 1].Trim() -eq '}') { + # Empty properties block. Can be skipped. + $DeclarationBlock['nestedElements'] = @() + } else { + $nestedIndent = Get-LineIndentation -Line $DeclarationBlock.content[($propertiesStartIndex + 1)] + $relevantNestedProperties = $DeclarationBlock.content[($propertiesStartIndex + 1) .. ($propertiesEndIndex - 1)] | Where-Object { (Get-LineIndentation $_) -eq $nestedIndent -and $_ -match '^\s*\w+:.*' } + $nestedPropertyNames = $relevantNestedProperties | ForEach-Object { ($_ -split ':')[0].Trim() } + + # Collect full data block + $nestedElements = @() + foreach ($nestedPropertyName in $nestedPropertyNames) { + + # Find start index of poperty + $relativeElementStartIndex = 1 + for ($index = $relativeElementStartIndex; $index -lt $DeclarationBlock.content.Count; $index++) { + if ($DeclarationBlock.content[$index] -match ("^\s{$($nestedIndent)}$($nestedPropertyName):.+$" )) { + $relativeElementStartIndex = $index + break + } + } + + # Find end index of poperty + $isPropertyOrClosing = "^\s{$($nestedIndent)}\w+:.+$|^\s{$($topLevelIndent)}}$" + if ($DeclarationBlock.content[$index + 1] -notmatch $isPropertyOrClosing) { + # If the next line is not another element/property/param, it's a multi-line declaration + $relativeElementEndIndex = $relativeElementStartIndex + while ($DeclarationBlock.content[($relativeElementEndIndex + 1)] -notmatch $isPropertyOrClosing) { + $relativeElementEndIndex++ + } + } else { + $relativeElementEndIndex = $relativeElementStartIndex + } + + # Build result + $nestedElements += @{ + name = $nestedPropertyName + content = $DeclarationBlock.content[$relativeElementStartIndex..$relativeElementEndIndex] + } + } + + $DeclarationBlock['nestedElements'] = $nestedElements + } + } +} diff --git a/utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 b/utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 new file mode 100644 index 0000000000..33742fae5c --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 @@ -0,0 +1,111 @@ +<# +.SYNOPSIS +Find all instances of a Bicep delcaration block (e.g. 'param') in the given template file + +.DESCRIPTION +Find all instances of a Bicep delcaration block (e.g. 'param') in the given template file. Returns an array of all ocurrences, including their content, start- & end-index + +.PARAMETER DeclarationContent +Mandatory. The Bicep template content to search in + +.PARAMETER DeclarationType +Mandatory. The declaration type to search for. Can be 'param', 'var', 'resource', 'module', or 'output' + +.EXAMPLE +Read-DeclarationBlock -DeclarationContent @('targetScope = 'subscription', '', '@description('Some Description'), param description string, '', (..)) -DeclarationType 'param + +Get all 'param' declaration blocks of the given declaration content. +#> +function Read-DeclarationBlock { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [object[]] $DeclarationContent, + + [Parameter(Mandatory = $true)] + [ValidateSet('param', 'var', 'resource', 'module', 'output')] + [string] $DeclarationType + ) + + ###################################################################################################################################### + ## Define which key-words indicate a new declaration (depending on whether you'd move up in the template, or down line by line) ## + ###################################################################################################################################### + + # Any keyword when moving from the current line up to indicate that it's a new declaration + $newLogicIdentifiersUp = @( + '^targetScope.+$', + '^param .+$', + '^var .+$', + '^resource .+$', + '^module .+$', + '^output .+$', + '^//.*$' + '^\s*$' + ) + # Any keyword when moving from the current line down to indicate that it's a new declaration + $newLogicIdentifiersDown = @( + '^param .+$', + '^var .+$', + '^resource .+$', + '^module .+$', + '^output .+$', + '^//.*$', + '^@.+$', + '^\s*$' + ) + + ######################################### + ## Find all indexes to investigate ## + ######################################### + $existingBlocks = @() + + $declarationIndexes = @() + for ($index = 0; $index -lt $DeclarationContent.Count; $index++) { + if ($DeclarationContent[$index] -like "$DeclarationType *") { + $declarationIndexes += $index + } + } + + ######################################################################################################################## + ## Process each found index and find its element's start- & end-index (i.e., where its declaration starts & ends) ## + ######################################################################################################################## + foreach ($declarationIndex in $declarationIndexes) { + switch ($DeclarationType) { + { $PSItem -in @('param', 'output') } { + # Let's go 'up' until the declarations end + $declarationStartIndex = $declarationIndex + while ($DeclarationContent[$declarationStartIndex] -eq $DeclarationContent[$declarationIndex] -or (($newLogicIdentifiersUp | Where-Object { $DeclarationContent[$declarationStartIndex] -match $_ }).Count -eq 0 -and $declarationStartIndex -ne 0)) { + $declarationStartIndex-- + } + # Logic always counts one too far + $declarationStartIndex++ + + # The declaration line is always the last line of the block + $declarationEndIndex = $declarationIndex + break + } + { $PSItem -in @('var', 'resource', 'module') } { + # The declaration line is always the first line of the block + $declarationStartIndex = $declarationIndex + + # Let's go 'down' until the var declarations end + $declarationEndIndex = $declarationIndex + while ($DeclarationContent[$declarationEndIndex] -eq $DeclarationContent[$declarationIndex] -or (($newLogicIdentifiersDown | Where-Object { $DeclarationContent[$declarationEndIndex] -match $_ }).Count -eq 0 -and $declarationEndIndex -ne $DeclarationContent.Count)) { + $declarationEndIndex++ + } + # Logic always counts one too far + $declarationEndIndex-- + break + } + } + + $existingBlocks += @{ + content = $templateContent[$declarationStartIndex .. $declarationEndIndex] + startIndex = $declarationStartIndex + endIndex = $declarationEndIndex + } + } + + return $existingBlocks +} diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 46973d6a0d..0dc5b4a72a 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -48,7 +48,7 @@ function Set-ModuleTemplate { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $templatePath = Join-Path $script:repoRoot 'modules' $FullResourceType 'deploy.bicep' + $templateFilePath = Join-Path $script:repoRoot 'modules' $FullResourceType 'deploy.bicep' $providerNamespace = ($FullResourceType -split '/')[0] $resourceType = $FullResourceType -replace "$providerNamespace/", '' } @@ -59,6 +59,9 @@ function Set-ModuleTemplate { ## Collect Data # ##################### + # Existing template (if any) + $existingTemplateContent = Resolve-ExistingTemplateContent -TemplateFilePath $templateFilePath + # Collect child-resource information $linkedChildren = $fullmoduleData | Where-Object { # Is nested @@ -172,6 +175,7 @@ function Set-ModuleTemplate { # Create collected parameters # --------------------------- + # TODO: Only update parameters that are not already defines # First the required foreach ($parameter in ($parametersToAdd | Where-Object { $_.required } | Sort-Object -Property 'Name')) { $templateContent += Get-FormattedModuleParameter -ParameterData $parameter @@ -385,7 +389,7 @@ function Set-ModuleTemplate { # Update file # ----------- - Set-Content -Path $templatePath -Value ($templateContent | Out-String).TrimEnd() -Force + Set-Content -Path $templateFilePath -Value ($templateContent | Out-String).TrimEnd() -Force } end { diff --git a/utilities/tools/REST2CARML/private/shared/Get-LineIndentation.ps1 b/utilities/tools/REST2CARML/private/shared/Get-LineIndentation.ps1 new file mode 100644 index 0000000000..9168cc2042 --- /dev/null +++ b/utilities/tools/REST2CARML/private/shared/Get-LineIndentation.ps1 @@ -0,0 +1,50 @@ +<# +.SYNOPSIS +Retrieve indentation of a line. + +.DESCRIPTION +Retrieve indentation of a line. + +.PARAMETER Line +Mandatory. The line to analyse for indentation. + +.EXAMPLE +Get-LineIndentation -Line ' Test' + +Retrieve indentation of line ' Test'. Would return 4. +#> +function Get-LineIndentation { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $false)] + [string] $Line + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + $indentation = 0 + for ($i = 0; $i -lt $Line.Length; $i++) { + $Char = $Line[$i] + switch -regex ($Char) { + '`t' { + $indentation += 2 + } + ' ' { + $indentation += 1 + } + default { + return $indentation + } + } + } + return $indentation + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/public/Resolve-ExistingTemplateContent.ps1 b/utilities/tools/REST2CARML/public/Resolve-ExistingTemplateContent.ps1 new file mode 100644 index 0000000000..d9744076f9 --- /dev/null +++ b/utilities/tools/REST2CARML/public/Resolve-ExistingTemplateContent.ps1 @@ -0,0 +1,132 @@ +<# +.SYNOPSIS +Get details about all parameters, variables, resources, modules & outputs in the given template + +.DESCRIPTION +Get details about all parameters, variables, resources, modules & outputs in the given template. Depending on the type of declaration, you further get information like names, types, nested properties, etc. + +.PARAMETER TemplateFilePath +Mandatory. The path of the template to extract the data from. + +.EXAMPLE +Resolve-ExistingTemplateContent -TemplateFilePath 'C:/dev/Microsoft.Storage/storageAccounts/deploy.bicep' + +Get all the requested information from the template in path 'C:/dev/Microsoft.Storage/storageAccounts/deploy.bicep'. Returns an object like: + +Name Value +---- ----- +outputs {resourceId, name, resourceGroupName, primaryBlobEndpoint…} +modules {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable…} +variables {diagnosticsMetrics, supportsBlobService, supportsFileService, identityType…} +resources {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable…} +parameters {name, location, roleAssignments, systemAssignedIdentity…} + +And if you drill down, for resources an array like: + +Name Value +---- ----- +startIndex 173 +endIndex 183 +content {resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) {, name: 'pid-47ed15a6-730a-4827-bcb4-0fd963ffbd82-${uniqueString(deployment… +nestedElements {mode, template} +topLevelElements name + +startIndex 185 +endIndex 188 +content {resource keyVault 'Microsoft.KeyVault/vaults@2021-06-01-preview' existing = if (!empty(cMKKeyVaultResourceId)) {, name: last(split(cMKKeyVaultResourceId, '/')), scope: resourc… +topLevelElements {name, scope} + +startIndex 190 +endIndex 240 +content {resource storageAccount 'Microsoft.Storage/storageAccounts@2021-09-01' = {, name: name, location: location, kind: storageAccountKind…} +nestedElements {encryption, accessTier, supportsHttpsTrafficOnly, isHnsEnabled…} +topLevelElements {name, location, kind, sku…} + +startIndex 242 +endIndex 252 +content {resource storageAccount_diagnosticSettings 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId))… +nestedElements {storageAccountId, workspaceId, eventHubAuthorizationRuleId, eventHubName…} +topLevelElements {name, scope} + +startIndex 254 +endIndex 261 +content {resource storageAccount_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) {, name: '${storageAccount.name}-${lock}-lock', Elements: {, level: any(lock)… +nestedElements {level, notes} +topLevelElements {name, scope} +#> +function Resolve-ExistingTemplateContent { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $TemplateFilePath + ) + + if (-not (Test-Path $TemplateFilePath)) { + return + } + + $templateContent = Get-Content -Path $TemplateFilePath + + ############################ + ## Extract Parameters ## + ############################ + $existingParameterBlocks = Read-DeclarationBlock -DeclarationContent $templateContent -DeclarationType 'param' + + # Analyze content + foreach ($block in $existingParameterBlocks) { + $block['name'] = (($block.content | Where-Object { $_ -like 'param *' }) -split ' ')[1] + $block['type'] = (($block.content | Where-Object { $_ -like 'param *' }) -split ' ')[2] + } + + ########################### + ## Extract Variables ## + ########################### + $existingVariableBlocks = Read-DeclarationBlock -DeclarationContent $templateContent -DeclarationType 'var' + + # Analyze content + foreach ($block in $existingVariableBlocks) { + $block['name'] = (($block.content | Where-Object { $_ -like 'var *' }) -split ' ')[1] + } + + ########################### + ## Extract Resources ## + ########################### + $existingResourceBlocks = Read-DeclarationBlock -DeclarationContent $templateContent -DeclarationType 'resource' + + # Analyze content + foreach ($block in $existingResourceBlocks) { + Expand-DeploymentBlock -DeclarationBlock $block -NestedType 'properties' + } + + ######################### + ## Extract Modules ## + ######################### + $existingModuleBlocks = Read-DeclarationBlock -DeclarationContent $templateContent -DeclarationType 'module' + + # Analyze content + foreach ($block in $existingModuleBlocks) { + Expand-DeploymentBlock -DeclarationBlock $block -NestedType 'params' + } + + ######################### + ## Extract Outputs ## + ######################### + $existingOutputBlocks = Read-DeclarationBlock -DeclarationContent $templateContent -DeclarationType 'output' + + foreach ($block in $existingOutputBlocks) { + $block['name'] = (($block.content | Where-Object { $_ -like 'output *' }) -split ' ')[1] + $block['type'] = (($block.content | Where-Object { $_ -like 'output *' }) -split ' ')[2] + } + + ####################### + ## Return result ## + ####################### + return @{ + parameters = $existingParameterBlocks + variables = $existingVariableBlocks + resources = $existingResourceBlocks + modules = $existingModuleBlocks + outputs = $existingOutputBlocks + } +} From 47c83088b5f6dcd5823413f8d871a290f923a74e Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Mon, 31 Oct 2022 09:33:33 +0100 Subject: [PATCH 112/130] Users/hack rest2 carml idemp enable (#2257) * Added sorting * Added cleanup & adjusted indents * Additinoal functional updates * Update to latest * Update to latest --- .../privateClouds/addons/deploy.bicep | 4 +- .../privateClouds/authorizations/deploy.bicep | 4 +- .../privateClouds/cloudLinks/deploy.bicep | 4 +- .../clusters/datastores/deploy.bicep | 5 +- .../privateClouds/clusters/deploy.bicep | 42 ++-- .../clusters/placementPolicies/deploy.bicep | 13 +- .../Microsoft.AVS/privateClouds/deploy.bicep | 185 +++++++++--------- .../globalReachConnections/deploy.bicep | 4 +- .../hcxEnterpriseSites/deploy.bicep | 4 +- .../scriptExecutions/deploy.bicep | 14 +- .../dhcpConfigurations/deploy.bicep | 7 +- .../workloadNetworks/dnsServices/deploy.bicep | 11 +- .../workloadNetworks/dnsZones/deploy.bicep | 11 +- .../portMirroringProfiles/deploy.bicep | 7 +- .../workloadNetworks/publicIPs/deploy.bicep | 5 +- .../workloadNetworks/segments/deploy.bicep | 9 +- .../workloadNetworks/vmGroups/deploy.bicep | 5 +- .../private/module/Read-DeclarationBlock.ps1 | 29 ++- .../private/module/Set-ModuleTemplate.ps1 | 59 ++++-- 19 files changed, 228 insertions(+), 194 deletions(-) diff --git a/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep index a80226314d..597f3dca3b 100644 --- a/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/addons/deploy.bicep @@ -20,7 +20,6 @@ param addonType string = '' @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true - // =============== // // Deployments // // =============== // @@ -38,8 +37,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName - + name: privateCloudName } resource addon 'Microsoft.AVS/privateClouds/addons@2022-05-01' = { diff --git a/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep index 4a8ded2c4d..508635ef94 100644 --- a/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/authorizations/deploy.bicep @@ -11,7 +11,6 @@ param privateCloudName string @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true - // =============== // // Deployments // // =============== // @@ -29,8 +28,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName - + name: privateCloudName } resource authorization 'Microsoft.AVS/privateClouds/authorizations@2022-05-01' = { diff --git a/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep index ebab64d956..8948ad6f16 100644 --- a/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/cloudLinks/deploy.bicep @@ -14,7 +14,6 @@ param enableDefaultTelemetry bool = true @description('Optional. Identifier of the other private cloud participating in the link.') param linkedCloud string = '' - // =============== // // Deployments // // =============== // @@ -32,8 +31,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName - + name: privateCloudName } resource cloudLink 'Microsoft.AVS/privateClouds/cloudLinks@2022-05-01' = { diff --git a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep index 4cdaad642f..85bcc45cd9 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/datastores/deploy.bicep @@ -20,7 +20,6 @@ param enableDefaultTelemetry bool = true @description('Optional. An Azure NetApp Files volume from Microsoft.NetApp provider') param netAppVolume object = {} - // =============== // // Deployments // // =============== // @@ -38,10 +37,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource cluster 'clusters@2022-05-01' existing = { - name: clusterName + name: clusterName } } diff --git a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep index bae652c848..bc4e5059dc 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep @@ -12,7 +12,7 @@ param sku object param privateCloudName string @description('Optional. The cluster size') -param clusterSize int = +param clusterSize int = @description('Optional. The datastores to create as part of the cluster.') param datastores array = [] @@ -28,7 +28,6 @@ param placementPolicies array = [] var enableReferencedModulesTelemetry = false - // =============== // // Deployments // // =============== // @@ -46,8 +45,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName - + name: privateCloudName } resource cluster 'Microsoft.AVS/privateClouds/clusters@2022-05-01' = { @@ -55,36 +53,36 @@ resource cluster 'Microsoft.AVS/privateClouds/clusters@2022-05-01' = { name: name sku: sku properties: { - hosts: hosts clusterSize: clusterSize + hosts: hosts } } -module cluster_datastores 'datastores/deploy.bicep' = [for (datastore, index) in datastores: { -name: '${uniqueString(deployment().name)}-cluster-datastore-${index}' -params: { +module cluster_placementPolicies 'placementPolicies/deploy.bicep' = [for (placementPolicy, index) in placementPolicies: { + name: '${uniqueString(deployment().name)}-cluster-placementPolicy-${index}' + params: { privateCloudName: privateCloudName clusterName: name - name: datastore.name - diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} - netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} + affinityStrength: contains(placementPolicy, 'affinityStrength') ? placementPolicy.affinityStrength : '' + azureHybridBenefitType: contains(placementPolicy, 'azureHybridBenefitType') ? placementPolicy.azureHybridBenefitType : '' + displayName: contains(placementPolicy, 'displayName') ? placementPolicy.displayName : '' + hostMembers: contains(placementPolicy, 'hostMembers') ? placementPolicy.hostMembers : [] + name: placementPolicy.name + state: contains(placementPolicy, 'state') ? placementPolicy.state : '' + type: contains(placementPolicy, 'type') ? placementPolicy.type : '' + vmMembers: contains(placementPolicy, 'vmMembers') ? placementPolicy.vmMembers : [] enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module cluster_placementPolicies 'placementPolicies/deploy.bicep' = [for (placementPolicy, index) in placementPolicies: { -name: '${uniqueString(deployment().name)}-cluster-placementPolicy-${index}' -params: { +module cluster_datastores 'datastores/deploy.bicep' = [for (datastore, index) in datastores: { + name: '${uniqueString(deployment().name)}-cluster-datastore-${index}' + params: { privateCloudName: privateCloudName clusterName: name - name: placementPolicy.name - state: contains(placementPolicy, 'state') ? placementPolicy.state : '' - type: contains(placementPolicy, 'type') ? placementPolicy.type : '' - displayName: contains(placementPolicy, 'displayName') ? placementPolicy.displayName : '' - affinityStrength: contains(placementPolicy, 'affinityStrength') ? placementPolicy.affinityStrength : '' - azureHybridBenefitType: contains(placementPolicy, 'azureHybridBenefitType') ? placementPolicy.azureHybridBenefitType : '' - vmMembers: contains(placementPolicy, 'vmMembers') ? placementPolicy.vmMembers : [] - hostMembers: contains(placementPolicy, 'hostMembers') ? placementPolicy.hostMembers : [] + diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} + name: datastore.name + netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep index c89da36d8b..bb78b7de40 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/placementPolicies/deploy.bicep @@ -51,7 +51,6 @@ param type string = '' @description('Optional. Virtual machine members list') param vmMembers array = [] - // =============== // // Deployments // // =============== // @@ -69,10 +68,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource cluster 'clusters@2022-05-01' existing = { - name: clusterName + name: clusterName } } @@ -80,13 +79,13 @@ resource placementPolicy 'Microsoft.AVS/privateClouds/clusters/placementPolicies parent: privateCloud::cluster name: name properties: { - state: state - type: type - displayName: displayName affinityStrength: affinityStrength azureHybridBenefitType: azureHybridBenefitType - vmMembers: vmMembers + displayName: displayName hostMembers: hostMembers + state: state + type: type + vmMembers: vmMembers } } diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index 9a83001e24..258c9de77d 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -175,7 +175,6 @@ var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: { var enableReferencedModulesTelemetry = false - // =============== // // Deployments // // =============== // @@ -194,22 +193,22 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' = { - name: name identity: identity - sku: sku location: location + name: name + sku: sku tags: tags properties: { - secondaryCircuit: secondaryCircuit - nsxtPassword: nsxtPassword - vcenterPassword: vcenterPassword - networkBlock: networkBlock + availability: availability circuit: circuit + encryption: encryption identitySources: identitySources internet: internet - encryption: encryption - availability: availability managementCluster: managementCluster + networkBlock: networkBlock + nsxtPassword: nsxtPassword + secondaryCircuit: secondaryCircuit + vcenterPassword: vcenterPassword } } @@ -235,180 +234,180 @@ resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(l scope: privateCloud } -module privateCloud_hcxEnterpriseSites 'hcxEnterpriseSites/deploy.bicep' = [for (hcxEnterpriseSite, index) in hcxEnterpriseSites: { -name: '${uniqueString(deployment().name, location)}-privateCloud-hcxEnterpriseSite-${index}' -params: { +module privateCloud_authorizations 'authorizations/deploy.bicep' = [for (authorization, index) in authorizations: { + name: '${uniqueString(deployment().name, location)}-privateCloud-authorization-${index}' + params: { privateCloudName: name - name: hcxEnterpriseSite.name + name: authorization.name enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module privateCloud_globalReachConnections 'globalReachConnections/deploy.bicep' = [for (globalReachConnection, index) in globalReachConnections: { -name: '${uniqueString(deployment().name, location)}-privateCloud-globalReachConnection-${index}' -params: { +module privateCloud_cloudLinks 'cloudLinks/deploy.bicep' = [for (cloudLink, index) in cloudLinks: { + name: '${uniqueString(deployment().name, location)}-privateCloud-cloudLink-${index}' + params: { privateCloudName: name - name: globalReachConnection.name - authorizationKey: contains(globalReachConnection, 'authorizationKey') ? globalReachConnection.authorizationKey : '' - expressRouteId: contains(globalReachConnection, 'expressRouteId') ? globalReachConnection.expressRouteId : '' - peerExpressRouteCircuit: contains(globalReachConnection, 'peerExpressRouteCircuit') ? globalReachConnection.peerExpressRouteCircuit : '' + linkedCloud: contains(cloudLink, 'linkedCloud') ? cloudLink.linkedCloud : '' + name: cloudLink.name enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { -name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' -params: { +module privateCloud_addons 'addons/deploy.bicep' = [for (addon, index) in addons: { + name: '${uniqueString(deployment().name, location)}-privateCloud-addon-${index}' + params: { privateCloudName: name - name: cluster.name - sku: cluster.sku - hosts: contains(cluster, 'hosts') ? cluster.hosts : [] - clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : + addonType: contains(addon, 'addonType') ? addon.addonType : '' + name: addon.name enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module privateCloud_authorizations 'authorizations/deploy.bicep' = [for (authorization, index) in authorizations: { -name: '${uniqueString(deployment().name, location)}-privateCloud-authorization-${index}' -params: { +module privateCloud_globalReachConnections 'globalReachConnections/deploy.bicep' = [for (globalReachConnection, index) in globalReachConnections: { + name: '${uniqueString(deployment().name, location)}-privateCloud-globalReachConnection-${index}' + params: { privateCloudName: name - name: authorization.name + authorizationKey: contains(globalReachConnection, 'authorizationKey') ? globalReachConnection.authorizationKey : '' + expressRouteId: contains(globalReachConnection, 'expressRouteId') ? globalReachConnection.expressRouteId : '' + name: globalReachConnection.name + peerExpressRouteCircuit: contains(globalReachConnection, 'peerExpressRouteCircuit') ? globalReachConnection.peerExpressRouteCircuit : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module privateCloud_cloudLinks 'cloudLinks/deploy.bicep' = [for (cloudLink, index) in cloudLinks: { -name: '${uniqueString(deployment().name, location)}-privateCloud-cloudLink-${index}' -params: { +module privateCloud_hcxEnterpriseSites 'hcxEnterpriseSites/deploy.bicep' = [for (hcxEnterpriseSite, index) in hcxEnterpriseSites: { + name: '${uniqueString(deployment().name, location)}-privateCloud-hcxEnterpriseSite-${index}' + params: { privateCloudName: name - name: cloudLink.name - linkedCloud: contains(cloudLink, 'linkedCloud') ? cloudLink.linkedCloud : '' + name: hcxEnterpriseSite.name enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module privateCloud_addons 'addons/deploy.bicep' = [for (addon, index) in addons: { -name: '${uniqueString(deployment().name, location)}-privateCloud-addon-${index}' -params: { +module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { + name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' + params: { privateCloudName: name - name: addon.name - addonType: contains(addon, 'addonType') ? addon.addonType : '' + clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : + hosts: contains(cluster, 'hosts') ? cluster.hosts : [] + name: cluster.name + sku: cluster.sku enableDefaultTelemetry: enableReferencedModulesTelemetry } }] module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scriptExecution, index) in scriptExecutions: { -name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' -params: { + name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' + params: { privateCloudName: name - name: scriptExecution.name - scriptCmdletId: contains(scriptExecution, 'scriptCmdletId') ? scriptExecution.scriptCmdletId : '' failureReason: contains(scriptExecution, 'failureReason') ? scriptExecution.failureReason : '' - output: contains(scriptExecution, 'output') ? scriptExecution.output : [] + hiddenParameters: contains(scriptExecution, 'hiddenParameters') ? scriptExecution.hiddenParameters : [] + name: scriptExecution.name namedOutputs: contains(scriptExecution, 'namedOutputs') ? scriptExecution.namedOutputs : {} - timeout: contains(scriptExecution, 'timeout') ? scriptExecution.timeout : '' - retention: contains(scriptExecution, 'retention') ? scriptExecution.retention : '' + output: contains(scriptExecution, 'output') ? scriptExecution.output : [] parameters: contains(scriptExecution, 'parameters') ? scriptExecution.parameters : [] - hiddenParameters: contains(scriptExecution, 'hiddenParameters') ? scriptExecution.hiddenParameters : [] + retention: contains(scriptExecution, 'retention') ? scriptExecution.retention : '' + scriptCmdletId: contains(scriptExecution, 'scriptCmdletId') ? scriptExecution.scriptCmdletId : '' + timeout: contains(scriptExecution, 'timeout') ? scriptExecution.timeout : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deploy.bicep' = [for (publicIP, index) in publicIPs: { -name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' -params: { +module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/deploy.bicep' = [for (dnsService, index) in dnsServices: { + name: '${uniqueString(deployment().name, location)}-privateCloud-dnsService-${index}' + params: { privateCloudName: name workloadNetworkName: 'default' - name: publicIP.name - displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' - numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : + defaultDnsZone: contains(dnsService, 'defaultDnsZone') ? dnsService.defaultDnsZone : '' + displayName: contains(dnsService, 'displayName') ? dnsService.displayName : '' + dnsServiceIp: contains(dnsService, 'dnsServiceIp') ? dnsService.dnsServiceIp : '' + fqdnZones: contains(dnsService, 'fqdnZones') ? dnsService.fqdnZones : [] + logLevel: contains(dnsService, 'logLevel') ? dnsService.logLevel : '' + name: dnsService.name + revision: contains(dnsService, 'revision') ? dnsService.revision : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpConfigurations/deploy.bicep' = [for (dhcpConfiguration, index) in dhcpConfigurations: { -name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' -params: { +module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy.bicep' = [for (segment, index) in segments: { + name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' + params: { privateCloudName: name workloadNetworkName: 'default' - name: dhcpConfiguration.name - displayName: contains(dhcpConfiguration, 'displayName') ? dhcpConfiguration.displayName : '' - dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' - revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : + connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' + displayName: contains(segment, 'displayName') ? segment.displayName : '' + name: segment.name + revision: contains(segment, 'revision') ? segment.revision : + subnet: contains(segment, 'subnet') ? segment.subnet : {} enableDefaultTelemetry: enableReferencedModulesTelemetry } }] module workloadNetworks_privateCloud_dnsZones 'workloadNetworks/dnsZones/deploy.bicep' = [for (dnsZone, index) in dnsZones: { -name: '${uniqueString(deployment().name, location)}-privateCloud-dnsZone-${index}' -params: { + name: '${uniqueString(deployment().name, location)}-privateCloud-dnsZone-${index}' + params: { privateCloudName: name workloadNetworkName: 'default' - name: dnsZone.name - revision: contains(dnsZone, 'revision') ? dnsZone.revision : displayName: contains(dnsZone, 'displayName') ? dnsZone.displayName : '' - dnsServices: contains(dnsZone, 'dnsServices') ? dnsZone.dnsServices : dnsServerIps: contains(dnsZone, 'dnsServerIps') ? dnsZone.dnsServerIps : [] - sourceIp: contains(dnsZone, 'sourceIp') ? dnsZone.sourceIp : '' + dnsServices: contains(dnsZone, 'dnsServices') ? dnsZone.dnsServices : domain: contains(dnsZone, 'domain') ? dnsZone.domain : [] + name: dnsZone.name + revision: contains(dnsZone, 'revision') ? dnsZone.revision : + sourceIp: contains(dnsZone, 'sourceIp') ? dnsZone.sourceIp : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/deploy.bicep' = [for (dnsService, index) in dnsServices: { -name: '${uniqueString(deployment().name, location)}-privateCloud-dnsService-${index}' -params: { +module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deploy.bicep' = [for (publicIP, index) in publicIPs: { + name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' + params: { privateCloudName: name workloadNetworkName: 'default' - name: dnsService.name - logLevel: contains(dnsService, 'logLevel') ? dnsService.logLevel : '' - fqdnZones: contains(dnsService, 'fqdnZones') ? dnsService.fqdnZones : [] - defaultDnsZone: contains(dnsService, 'defaultDnsZone') ? dnsService.defaultDnsZone : '' - dnsServiceIp: contains(dnsService, 'dnsServiceIp') ? dnsService.dnsServiceIp : '' - revision: contains(dnsService, 'revision') ? dnsService.revision : - displayName: contains(dnsService, 'displayName') ? dnsService.displayName : '' + displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' + name: publicIP.name + numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] module workloadNetworks_privateCloud_vmGroups 'workloadNetworks/vmGroups/deploy.bicep' = [for (vmGroup, index) in vmGroups: { -name: '${uniqueString(deployment().name, location)}-privateCloud-vmGroup-${index}' -params: { + name: '${uniqueString(deployment().name, location)}-privateCloud-vmGroup-${index}' + params: { privateCloudName: name workloadNetworkName: 'default' - name: vmGroup.name displayName: contains(vmGroup, 'displayName') ? vmGroup.displayName : '' members: contains(vmGroup, 'members') ? vmGroup.members : [] + name: vmGroup.name revision: contains(vmGroup, 'revision') ? vmGroup.revision : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] module workloadNetworks_privateCloud_portMirroringProfiles 'workloadNetworks/portMirroringProfiles/deploy.bicep' = [for (portMirroringProfile, index) in portMirroringProfiles: { -name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' -params: { + name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' + params: { privateCloudName: name workloadNetworkName: 'default' - name: portMirroringProfile.name destination: contains(portMirroringProfile, 'destination') ? portMirroringProfile.destination : '' + direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' displayName: contains(portMirroringProfile, 'displayName') ? portMirroringProfile.displayName : '' + name: portMirroringProfile.name revision: contains(portMirroringProfile, 'revision') ? portMirroringProfile.revision : - direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' source: contains(portMirroringProfile, 'source') ? portMirroringProfile.source : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy.bicep' = [for (segment, index) in segments: { -name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' -params: { +module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpConfigurations/deploy.bicep' = [for (dhcpConfiguration, index) in dhcpConfigurations: { + name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' + params: { privateCloudName: name workloadNetworkName: 'default' - name: segment.name - subnet: contains(segment, 'subnet') ? segment.subnet : {} - displayName: contains(segment, 'displayName') ? segment.displayName : '' - revision: contains(segment, 'revision') ? segment.revision : - connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' + dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' + displayName: contains(dhcpConfiguration, 'displayName') ? dhcpConfiguration.displayName : '' + name: dhcpConfiguration.name + revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep index dbbef58424..bd98d9ca91 100644 --- a/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/globalReachConnections/deploy.bicep @@ -20,7 +20,6 @@ param expressRouteId string = '' @description('Optional. Identifier of the ExpressRoute Circuit to peer with in the global reach connection') param peerExpressRouteCircuit string = '' - // =============== // // Deployments // // =============== // @@ -38,8 +37,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName - + name: privateCloudName } resource globalReachConnection 'Microsoft.AVS/privateClouds/globalReachConnections@2022-05-01' = { diff --git a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep index e04501fd24..f7206b8c05 100644 --- a/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/hcxEnterpriseSites/deploy.bicep @@ -11,7 +11,6 @@ param privateCloudName string @description('Optional. Enable telemetry via the Customer Usage Attribution ID (GUID).') param enableDefaultTelemetry bool = true - // =============== // // Deployments // // =============== // @@ -29,8 +28,7 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName - + name: privateCloudName } resource hcxEnterpriseSite 'Microsoft.AVS/privateClouds/hcxEnterpriseSites@2022-05-01' = { diff --git a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep index a6cd4363f4..5422b3033b 100644 --- a/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/scriptExecutions/deploy.bicep @@ -35,7 +35,6 @@ param scriptCmdletId string = '' @description('Optional. Time limit for execution') param timeout string = '' - // =============== // // Deployments // // =============== // @@ -53,22 +52,21 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName - + name: privateCloudName } resource scriptExecution 'Microsoft.AVS/privateClouds/scriptExecutions@2022-05-01' = { parent: privateCloud name: name properties: { - scriptCmdletId: scriptCmdletId failureReason: failureReason - output: output + hiddenParameters: hiddenParameters namedOutputs: namedOutputs - timeout: timeout - retention: retention + output: output parameters: parameters - hiddenParameters: hiddenParameters + retention: retention + scriptCmdletId: scriptCmdletId + timeout: timeout } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep index c4e9108831..39ec347746 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations/deploy.bicep @@ -27,7 +27,6 @@ param revision int = @description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' - // =============== // // Deployments // // =============== // @@ -45,10 +44,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { - name: workloadNetworkName + name: workloadNetworkName } } @@ -56,8 +55,8 @@ resource dhcpConfiguration 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpCon parent: privateCloud::workloadNetwork name: name properties: { - displayName: displayName dhcpType: dhcpType + displayName: displayName revision: revision } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep index 624e21bea9..1364785293 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsServices/deploy.bicep @@ -39,7 +39,6 @@ param revision int = @description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' - // =============== // // Deployments // // =============== // @@ -57,10 +56,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { - name: workloadNetworkName + name: workloadNetworkName } } @@ -68,12 +67,12 @@ resource dnsService 'Microsoft.AVS/privateClouds/workloadNetworks/dnsServices@20 parent: privateCloud::workloadNetwork name: name properties: { - logLevel: logLevel - fqdnZones: fqdnZones defaultDnsZone: defaultDnsZone + displayName: displayName dnsServiceIp: dnsServiceIp + fqdnZones: fqdnZones + logLevel: logLevel revision: revision - displayName: displayName } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep index 261c32a0b2..6e610bb3e9 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/dnsZones/deploy.bicep @@ -32,7 +32,6 @@ param sourceIp string = '' @description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' - // =============== // // Deployments // // =============== // @@ -50,10 +49,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { - name: workloadNetworkName + name: workloadNetworkName } } @@ -61,12 +60,12 @@ resource dnsZone 'Microsoft.AVS/privateClouds/workloadNetworks/dnsZones@2022-05- parent: privateCloud::workloadNetwork name: name properties: { - revision: revision displayName: displayName - dnsServices: dnsServices dnsServerIps: dnsServerIps - sourceIp: sourceIp + dnsServices: dnsServices domain: domain + revision: revision + sourceIp: sourceIp } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep index c5640ff762..5eb37963af 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles/deploy.bicep @@ -34,7 +34,6 @@ param source string = '' @description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' - // =============== // // Deployments // // =============== // @@ -52,10 +51,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { - name: workloadNetworkName + name: workloadNetworkName } } @@ -64,9 +63,9 @@ resource portMirroringProfile 'Microsoft.AVS/privateClouds/workloadNetworks/port name: name properties: { destination: destination + direction: direction displayName: displayName revision: revision - direction: direction source: source } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep index 3adcd1a2b6..f424a34ab5 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/publicIPs/deploy.bicep @@ -20,7 +20,6 @@ param numberOfPublicIPs int = @description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' - // =============== // // Deployments // // =============== // @@ -38,10 +37,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { - name: workloadNetworkName + name: workloadNetworkName } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep index f788ca34ad..ed80042d91 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/segments/deploy.bicep @@ -26,7 +26,6 @@ param subnet object = {} @description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' - // =============== // // Deployments // // =============== // @@ -44,10 +43,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { - name: workloadNetworkName + name: workloadNetworkName } } @@ -55,10 +54,10 @@ resource segment 'Microsoft.AVS/privateClouds/workloadNetworks/segments@2022-05- parent: privateCloud::workloadNetwork name: name properties: { - subnet: subnet + connectedGateway: connectedGateway displayName: displayName revision: revision - connectedGateway: connectedGateway + subnet: subnet } } diff --git a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep index 5e848b5a70..7efe5c6a16 100644 --- a/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/workloadNetworks/vmGroups/deploy.bicep @@ -23,7 +23,6 @@ param revision int = @description('Optional. The name of the parent workloadNetworks. Required if the template is used in a standalone deployment.') param workloadNetworkName string = 'default' - // =============== // // Deployments // // =============== // @@ -41,10 +40,10 @@ resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (ena } resource privateCloud 'Microsoft.AVS/privateClouds@2022-05-01' existing = { - name: privateCloudName + name: privateCloudName resource workloadNetwork 'workloadNetworks@2022-05-01' existing = { - name: workloadNetworkName + name: workloadNetworkName } } diff --git a/utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 b/utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 index 33742fae5c..69fa5f7704 100644 --- a/utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 +++ b/utilities/tools/REST2CARML/private/module/Read-DeclarationBlock.ps1 @@ -51,8 +51,8 @@ function Read-DeclarationBlock { '^module .+$', '^output .+$', '^//.*$', - '^@.+$', - '^\s*$' + '^@.+$'#, + #'^\s*$' ) ######################################### @@ -72,7 +72,25 @@ function Read-DeclarationBlock { ######################################################################################################################## foreach ($declarationIndex in $declarationIndexes) { switch ($DeclarationType) { - { $PSItem -in @('param', 'output') } { + { $PSItem -in @('param') } { + # Let's go 'up' until the declarations end + $declarationStartIndex = $declarationIndex + while ($DeclarationContent[$declarationStartIndex] -eq $DeclarationContent[$declarationIndex] -or (($newLogicIdentifiersUp | Where-Object { $DeclarationContent[$declarationStartIndex] -match $_ }).Count -eq 0 -and $declarationStartIndex -ne 0)) { + $declarationStartIndex-- + } + # Logic always counts one too far + $declarationStartIndex++ + + # The declaration line is always the last line of the block + $declarationEndIndex = $declarationIndex + while ($DeclarationContent[$declarationEndIndex] -eq $DeclarationContent[$declarationIndex] -or (($newLogicIdentifiersDown | Where-Object { $DeclarationContent[$declarationEndIndex] -match $_ }).Count -eq 0 -and $declarationEndIndex -ne $DeclarationContent.Count)) { + $declarationEndIndex++ + } + # Logic always counts one too far + $declarationEndIndex-- + break + } + { $PSItem -in @('output') } { # Let's go 'up' until the declarations end $declarationStartIndex = $declarationIndex while ($DeclarationContent[$declarationStartIndex] -eq $DeclarationContent[$declarationIndex] -or (($newLogicIdentifiersUp | Where-Object { $DeclarationContent[$declarationStartIndex] -match $_ }).Count -eq 0 -and $declarationStartIndex -ne 0)) { @@ -100,6 +118,11 @@ function Read-DeclarationBlock { } } + # Trim empty lines from the end + while ([String]::IsNullOrEmpty($templateContent[$declarationEndIndex])) { + $declarationEndIndex-- + } + $existingBlocks += @{ content = $templateContent[$declarationStartIndex .. $declarationEndIndex] startIndex = $declarationStartIndex diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 0dc5b4a72a..e10da1ccf2 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -175,24 +175,50 @@ function Set-ModuleTemplate { # Create collected parameters # --------------------------- - # TODO: Only update parameters that are not already defines # First the required foreach ($parameter in ($parametersToAdd | Where-Object { $_.required } | Sort-Object -Property 'Name')) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } else { + $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content + $templateContent += '' + } } # Then the conditional foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -like 'Conditional. *' } | Sort-Object -Property 'Name')) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } else { + $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content + $templateContent += '' + } } # Then the rest foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -notlike 'Conditional. *' } | Sort-Object -Property 'Name')) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } else { + $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content + $templateContent += '' + } + } + + # Add additional parameters at the end + foreach ($extraParameter in ($existingTemplateContent.parameters | Where-Object { $parametersToAdd.name -notcontains $_.name })) { + $templateContent += $extraParameter.content + $templateContent += '' } + ################# ## VARIABLES ## ################# + # Add a space in between the new section and the previous one in case no space exists + if (-not [String]::IsNullOrEmpty($templateContent[-1])) { + $templateContent += '' + } + foreach ($variable in $ModuleData.variables) { $templateContent += $variable } @@ -210,8 +236,12 @@ function Set-ModuleTemplate { $locationParameterExists = ($templateContent | Where-Object { $_ -like 'param location *' }).Count -gt 0 + # Add a space in between the new section and the previous one in case no space exists + if (-not [String]::IsNullOrEmpty($templateContent[-1])) { + $templateContent += '' + } + $templateContent += @( - '' '// =============== //' '// Deployments //' '// =============== //' @@ -246,9 +276,9 @@ function Set-ModuleTemplate { $parentResourceAPI = Split-Path (Split-Path $parentJSONPath -Parent) -Leaf $templateContent += @( "$(' ' * $existingResourceIndent)resource $($singularParent) '$($levedParentResourceType)@$($parentResourceAPI)' existing = {", - "$(' ' * $existingResourceIndent) name: $($singularParent)Name" + "$(' ' * $existingResourceIndent) name: $($singularParent)Name" ) - if ($parentResourceType -ne $orderedParentResourceTypes[-1]) { + if ($parentResourceType -ne (@() + $orderedParentResourceTypes)[-1]) { # Only add an empty line if there is more content to add $templateContent += '' } @@ -272,12 +302,12 @@ function Set-ModuleTemplate { $templateContent += (' parent: {0}' -f (($parentResourceTypes | ForEach-Object { Get-ResourceTypeSingularName -ResourceType $_ }) -join '::')) } - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 -and $_.name -ne 'properties' })) { + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 -and $_.name -ne 'properties' } | Sort-Object -Property 'name')) { $templateContent += ' {0}: {0}' -f $parameter.name } $templateContent += ' properties: {' - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' })) { + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' } | Sort-Object -Property 'name')) { $templateContent += ' {0}: {0}' -f $parameter.name } @@ -306,8 +336,8 @@ function Set-ModuleTemplate { $templateContent += @( "module $($hasProxyParent ? "$($proxyParentName)_" : '')$($resourceTypeSingular)_$($childResourceType) '$($hasProxyParent ? "$proxyParentName/" : '')$($childResourceType)/deploy.bicep' = [for ($($childResourceTypeSingular), index) in $($childResourceType): {", - "name: '`${uniqueString(deployment().name$($locationParameterExists ? ', location' : ''))}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", - 'params: {' + " name: '`${uniqueString(deployment().name$($locationParameterExists ? ', location' : ''))}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", + ' params: {' ) # All param names of parents @@ -325,7 +355,7 @@ function Set-ModuleTemplate { # Add primary child parameters $allParam = $dataBlock.data.parameters + $dataBlock.data.additionalParameters - foreach ($parameter in ($allParam | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') })) { + foreach ($parameter in (($allParam | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') }) | Sort-Object -Property 'Name')) { $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter | Where-Object { $_ -like 'param *' } | ForEach-Object { $_ -replace 'param ', '' } $wouldBeParamElem = $wouldBeParameter -split ' = ' $parameter.name = ($wouldBeParamElem -split ' ')[0] @@ -365,6 +395,11 @@ function Set-ModuleTemplate { ## Create template outputs section ## ####################################### + # Add a space in between the new section and the previous one in case no space exists + if (-not [String]::IsNullOrEmpty($templateContent[-1])) { + $templateContent += '' + } + # Output header comment $templateContent += @( '// =========== //' From 37359ebe3dde0cb3e0140c8b1bf0cde92bec4062 Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Sun, 6 Nov 2022 14:09:13 +0100 Subject: [PATCH 113/130] Users/hack rest2 carml idemp enable (#2285) * Added sorting * Added cleanup & adjusted indents * Additinoal functional updates * Update to latest * Update to latest * Enabled variable idempotency * Add regions * Enabled idempotency for resource deployment * Added additional logic for idempotency * Further updates to idempotency * Fixed typo * Update to latest * Update to latest * Update to latest * Added loc * Update to latest * Update to latest * Update to latest * Update to latest * Started extraction * Refactored a lot of logic into dedicated functions * Re-generated module * Improved idempotency * Added docs * Updated docs * Update to latest * Updated docs + updated module gen * Updated docs * Update to latest * Update to latest --- .../.bicep/nested_roleAssignments.bicep | 68 ---- .../privateClouds/clusters/deploy.bicep | 30 +- .../Microsoft.AVS/privateClouds/deploy.bicep | 116 +++--- modules/Microsoft.AVS/privateClouds/readme.md | 181 --------- .../extension/Set-DiagnosticModuleData.ps1 | 77 ++-- .../private/extension/Set-LockModuleData.ps1 | 25 +- .../Set-PrivateEndpointModuleData.ps1 | 47 +-- .../Set-RoleAssignmentsModuleData.ps1 | 33 +- .../private/module/Expand-DeploymentBlock.ps1 | 19 + .../module/Get-FormattedModuleParameter.ps1 | 1 + .../module/Get-LinkedChildModuleList.ps1 | 47 +++ .../module/Get-TemplateChildModuleContent.ps1 | 323 ++++++++++++++++ .../module/Get-TemplateDeploymentsContent.ps1 | 326 ++++++++++++++++ .../module/Get-TemplateOutputContent.ps1 | 173 +++++++++ .../module/Get-TemplateParametersContent.ps1 | 250 ++++++++++++ .../module/Get-TemplateVariablesContent.ps1 | 118 ++++++ .../REST2CARML/private/module/Set-Module.ps1 | 2 +- .../private/module/Set-ModuleTemplate.ps1 | 365 +++--------------- .../private/specs/Resolve-ModuleData.ps1 | 11 +- 19 files changed, 1506 insertions(+), 706 deletions(-) delete mode 100644 modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep delete mode 100644 modules/Microsoft.AVS/privateClouds/readme.md create mode 100644 utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 create mode 100644 utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 create mode 100644 utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 create mode 100644 utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 create mode 100644 utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 create mode 100644 utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 diff --git a/modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep b/modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep deleted file mode 100644 index 33195bef44..0000000000 --- a/modules/Microsoft.AVS/privateClouds/.bicep/nested_roleAssignments.bicep +++ /dev/null @@ -1,68 +0,0 @@ -@sys.description('Required. The IDs of the principals to assign the role to.') -param principalIds array - -@sys.description('Required. The name of the role to assign. If it cannot be found you can specify the role definition ID instead.') -param roleDefinitionIdOrName string - -@sys.description('Required. The resource ID of the resource to apply the role assignment to.') -param resourceId string - -@sys.description('Optional. The principal type of the assigned principal ID.') -@allowed([ - 'ServicePrincipal' - 'Group' - 'User' - 'ForeignGroup' - 'Device' - '' -]) -param principalType string = '' - -@sys.description('Optional. The description of the role assignment.') -param description string = '' - -@sys.description('Optional. The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase "foo_storage_container"') -param condition string = '' - -@sys.description('Optional. Version of the condition.') -@allowed([ - '2.0' -]) -param conditionVersion string = '2.0' - -@sys.description('Optional. Id of the delegated managed identity resource.') -param delegatedManagedIdentityResourceId string = '' - -var builtInRoleNames = { - 'Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c') - 'Log Analytics Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '92aaf0da-9dab-42b6-94a3-d43ce8d16293') - 'Log Analytics Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '73c42c96-874c-492b-b04d-ab87d138a893') - 'Managed Application Contributor Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '641177b8-a67a-45b9-a033-47bc880bb21e') - 'Managed Application Operator Role': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'c7393b34-138c-406f-901b-d8cf2b17e6ae') - 'Managed Applications Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'b9331d33-8a36-4f8c-b097-4f54124fdb44') - 'Monitoring Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '749f88d5-cbae-40b8-bcfc-e573ddc772fa') - 'Monitoring Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '43d0d8ad-25c7-4714-9337-8ba259a9fe05') - 'Owner': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635') - 'Reader': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'acdd72a7-3385-48ef-bd42-f606fba81ae7') - 'Resource Policy Contributor': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '36243c78-bf99-498c-9df9-86d9f8d28608') - 'Role Based Access Control Administrator (Preview)': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', 'f58310d9-a9f6-439a-9e8d-f62e7b41a168') - 'User Access Administrator': subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9') -} - -resource privateCloud 'Microsoft.AVS/privateClouds@2021-12-01' existing = { - name: last(split(resourceId, '/')) -} - -resource roleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = [for principalId in principalIds: { - name: guid(privateCloud.id, principalId, roleDefinitionIdOrName) - properties: { - description: description - roleDefinitionId: contains(builtInRoleNames, roleDefinitionIdOrName) ? builtInRoleNames[roleDefinitionIdOrName] : roleDefinitionIdOrName - principalId: principalId - principalType: !empty(principalType) ? any(principalType) : null - condition: !empty(condition) ? condition : null - conditionVersion: !empty(conditionVersion) && !empty(condition) ? conditionVersion : null - delegatedManagedIdentityResourceId: !empty(delegatedManagedIdentityResourceId) ? delegatedManagedIdentityResourceId : null - } - scope: privateCloud -}] diff --git a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep index bc4e5059dc..f400449f8c 100644 --- a/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/clusters/deploy.bicep @@ -12,7 +12,7 @@ param sku object param privateCloudName string @description('Optional. The cluster size') -param clusterSize int = +param clusterSize int = @description('Optional. The datastores to create as part of the cluster.') param datastores array = [] @@ -26,6 +26,10 @@ param hosts array = [] @description('Optional. The placementPolicies to create as part of the cluster.') param placementPolicies array = [] +// ============= // +// Variables // +// ============= // + var enableReferencedModulesTelemetry = false // =============== // @@ -58,6 +62,18 @@ resource cluster 'Microsoft.AVS/privateClouds/clusters@2022-05-01' = { } } +module cluster_datastores 'datastores/deploy.bicep' = [for (datastore, index) in datastores: { + name: '${uniqueString(deployment().name)}-cluster-datastore-${index}' + params: { + privateCloudName: privateCloudName + clusterName: name + diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} + name: datastore.name + netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + module cluster_placementPolicies 'placementPolicies/deploy.bicep' = [for (placementPolicy, index) in placementPolicies: { name: '${uniqueString(deployment().name)}-cluster-placementPolicy-${index}' params: { @@ -75,18 +91,6 @@ module cluster_placementPolicies 'placementPolicies/deploy.bicep' = [for (placem } }] -module cluster_datastores 'datastores/deploy.bicep' = [for (datastore, index) in datastores: { - name: '${uniqueString(deployment().name)}-cluster-datastore-${index}' - params: { - privateCloudName: privateCloudName - clusterName: name - diskPoolVolume: contains(datastore, 'diskPoolVolume') ? datastore.diskPoolVolume : {} - name: datastore.name - netAppVolume: contains(datastore, 'netAppVolume') ? datastore.netAppVolume : {} - enableDefaultTelemetry: enableReferencedModulesTelemetry - } -}] - // =========== // // Outputs // // =========== // diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index 258c9de77d..05be0abfd2 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -154,6 +154,10 @@ param vcenterPassword string = '' @description('Optional. The vmGroups to create as part of the privateCloud.') param vmGroups array = [] +// ============= // +// Variables // +// ============= // + var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: { category: metric timeGrain: null @@ -225,7 +229,7 @@ resource privateCloud_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@ scope: privateCloud } -resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) { +resource privateCloud_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) { name: '${privateCloud.name}-${lock}-lock' properties: { level: any(lock) @@ -234,6 +238,16 @@ resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(l scope: privateCloud } +module privateCloud_addons 'addons/deploy.bicep' = [for (addon, index) in addons: { + name: '${uniqueString(deployment().name, location)}-privateCloud-addon-${index}' + params: { + privateCloudName: name + addonType: contains(addon, 'addonType') ? addon.addonType : '' + name: addon.name + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + module privateCloud_authorizations 'authorizations/deploy.bicep' = [for (authorization, index) in authorizations: { name: '${uniqueString(deployment().name, location)}-privateCloud-authorization-${index}' params: { @@ -253,12 +267,14 @@ module privateCloud_cloudLinks 'cloudLinks/deploy.bicep' = [for (cloudLink, inde } }] -module privateCloud_addons 'addons/deploy.bicep' = [for (addon, index) in addons: { - name: '${uniqueString(deployment().name, location)}-privateCloud-addon-${index}' +module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { + name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' params: { privateCloudName: name - addonType: contains(addon, 'addonType') ? addon.addonType : '' - name: addon.name + clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : + hosts: contains(cluster, 'hosts') ? cluster.hosts : [] + name: cluster.name + sku: cluster.sku enableDefaultTelemetry: enableReferencedModulesTelemetry } }] @@ -284,18 +300,6 @@ module privateCloud_hcxEnterpriseSites 'hcxEnterpriseSites/deploy.bicep' = [for } }] -module privateCloud_clusters 'clusters/deploy.bicep' = [for (cluster, index) in clusters: { - name: '${uniqueString(deployment().name, location)}-privateCloud-cluster-${index}' - params: { - privateCloudName: name - clusterSize: contains(cluster, 'clusterSize') ? cluster.clusterSize : - hosts: contains(cluster, 'hosts') ? cluster.hosts : [] - name: cluster.name - sku: cluster.sku - enableDefaultTelemetry: enableReferencedModulesTelemetry - } -}] - module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scriptExecution, index) in scriptExecutions: { name: '${uniqueString(deployment().name, location)}-privateCloud-scriptExecution-${index}' params: { @@ -313,6 +317,19 @@ module privateCloud_scriptExecutions 'scriptExecutions/deploy.bicep' = [for (scr } }] +module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpConfigurations/deploy.bicep' = [for (dhcpConfiguration, index) in dhcpConfigurations: { + name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' + params: { + privateCloudName: name + workloadNetworkName: 'default' + dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' + displayName: contains(dhcpConfiguration, 'displayName') ? dhcpConfiguration.displayName : '' + name: dhcpConfiguration.name + revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : + enableDefaultTelemetry: enableReferencedModulesTelemetry + } +}] + module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/deploy.bicep' = [for (dnsService, index) in dnsServices: { name: '${uniqueString(deployment().name, location)}-privateCloud-dnsService-${index}' params: { @@ -329,20 +346,6 @@ module workloadNetworks_privateCloud_dnsServices 'workloadNetworks/dnsServices/d } }] -module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy.bicep' = [for (segment, index) in segments: { - name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' - params: { - privateCloudName: name - workloadNetworkName: 'default' - connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' - displayName: contains(segment, 'displayName') ? segment.displayName : '' - name: segment.name - revision: contains(segment, 'revision') ? segment.revision : - subnet: contains(segment, 'subnet') ? segment.subnet : {} - enableDefaultTelemetry: enableReferencedModulesTelemetry - } -}] - module workloadNetworks_privateCloud_dnsZones 'workloadNetworks/dnsZones/deploy.bicep' = [for (dnsZone, index) in dnsZones: { name: '${uniqueString(deployment().name, location)}-privateCloud-dnsZone-${index}' params: { @@ -359,55 +362,56 @@ module workloadNetworks_privateCloud_dnsZones 'workloadNetworks/dnsZones/deploy. } }] -module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deploy.bicep' = [for (publicIP, index) in publicIPs: { - name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' +module workloadNetworks_privateCloud_portMirroringProfiles 'workloadNetworks/portMirroringProfiles/deploy.bicep' = [for (portMirroringProfile, index) in portMirroringProfiles: { + name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' - name: publicIP.name - numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : + destination: contains(portMirroringProfile, 'destination') ? portMirroringProfile.destination : '' + direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' + displayName: contains(portMirroringProfile, 'displayName') ? portMirroringProfile.displayName : '' + name: portMirroringProfile.name + revision: contains(portMirroringProfile, 'revision') ? portMirroringProfile.revision : + source: contains(portMirroringProfile, 'source') ? portMirroringProfile.source : '' enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_vmGroups 'workloadNetworks/vmGroups/deploy.bicep' = [for (vmGroup, index) in vmGroups: { - name: '${uniqueString(deployment().name, location)}-privateCloud-vmGroup-${index}' +module workloadNetworks_privateCloud_publicIPs 'workloadNetworks/publicIPs/deploy.bicep' = [for (publicIP, index) in publicIPs: { + name: '${uniqueString(deployment().name, location)}-privateCloud-publicIP-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - displayName: contains(vmGroup, 'displayName') ? vmGroup.displayName : '' - members: contains(vmGroup, 'members') ? vmGroup.members : [] - name: vmGroup.name - revision: contains(vmGroup, 'revision') ? vmGroup.revision : + displayName: contains(publicIP, 'displayName') ? publicIP.displayName : '' + name: publicIP.name + numberOfPublicIPs: contains(publicIP, 'numberOfPublicIPs') ? publicIP.numberOfPublicIPs : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_portMirroringProfiles 'workloadNetworks/portMirroringProfiles/deploy.bicep' = [for (portMirroringProfile, index) in portMirroringProfiles: { - name: '${uniqueString(deployment().name, location)}-privateCloud-portMirroringProfile-${index}' +module workloadNetworks_privateCloud_segments 'workloadNetworks/segments/deploy.bicep' = [for (segment, index) in segments: { + name: '${uniqueString(deployment().name, location)}-privateCloud-segment-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - destination: contains(portMirroringProfile, 'destination') ? portMirroringProfile.destination : '' - direction: contains(portMirroringProfile, 'direction') ? portMirroringProfile.direction : '' - displayName: contains(portMirroringProfile, 'displayName') ? portMirroringProfile.displayName : '' - name: portMirroringProfile.name - revision: contains(portMirroringProfile, 'revision') ? portMirroringProfile.revision : - source: contains(portMirroringProfile, 'source') ? portMirroringProfile.source : '' + connectedGateway: contains(segment, 'connectedGateway') ? segment.connectedGateway : '' + displayName: contains(segment, 'displayName') ? segment.displayName : '' + name: segment.name + revision: contains(segment, 'revision') ? segment.revision : + subnet: contains(segment, 'subnet') ? segment.subnet : {} enableDefaultTelemetry: enableReferencedModulesTelemetry } }] -module workloadNetworks_privateCloud_dhcpConfigurations 'workloadNetworks/dhcpConfigurations/deploy.bicep' = [for (dhcpConfiguration, index) in dhcpConfigurations: { - name: '${uniqueString(deployment().name, location)}-privateCloud-dhcpConfiguration-${index}' +module workloadNetworks_privateCloud_vmGroups 'workloadNetworks/vmGroups/deploy.bicep' = [for (vmGroup, index) in vmGroups: { + name: '${uniqueString(deployment().name, location)}-privateCloud-vmGroup-${index}' params: { privateCloudName: name workloadNetworkName: 'default' - dhcpType: contains(dhcpConfiguration, 'dhcpType') ? dhcpConfiguration.dhcpType : '' - displayName: contains(dhcpConfiguration, 'displayName') ? dhcpConfiguration.displayName : '' - name: dhcpConfiguration.name - revision: contains(dhcpConfiguration, 'revision') ? dhcpConfiguration.revision : + displayName: contains(vmGroup, 'displayName') ? vmGroup.displayName : '' + members: contains(vmGroup, 'members') ? vmGroup.members : [] + name: vmGroup.name + revision: contains(vmGroup, 'revision') ? vmGroup.revision : enableDefaultTelemetry: enableReferencedModulesTelemetry } }] diff --git a/modules/Microsoft.AVS/privateClouds/readme.md b/modules/Microsoft.AVS/privateClouds/readme.md deleted file mode 100644 index 51d26ff306..0000000000 --- a/modules/Microsoft.AVS/privateClouds/readme.md +++ /dev/null @@ -1,181 +0,0 @@ -# AVS PrivateClouds `[Microsoft.AVS/privateClouds]` - -This module deploys AVS PrivateClouds. -// TODO: Replace Resource and fill in description - -## Navigation - -- [Resource Types](#Resource-Types) -- [Parameters](#Parameters) -- [Outputs](#Outputs) -- [Cross-referenced modules](#Cross-referenced-modules) -- [Deployment examples](#Deployment-examples) - -## Resource Types - -| Resource Type | API Version | -| :-- | :-- | -| `Microsoft.Authorization/locks` | [2017-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2017-04-01/locks) | -| `Microsoft.Authorization/roleAssignments` | [2022-04-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Authorization/2022-04-01/roleAssignments) | -| `Microsoft.AVS/privateClouds` | [2021-12-01](https://docs.microsoft.com/en-us/azure/templates/Microsoft.AVS/2021-12-01/privateClouds) | -| `Microsoft.Insights/diagnosticSettings` | [2021-05-01-preview](https://docs.microsoft.com/en-us/azure/templates/Microsoft.Insights/2021-05-01-preview/diagnosticSettings) | - -## Parameters - -**Required parameters** -| Parameter Name | Type | Description | -| :-- | :-- | :-- | -| `name` | string | Name of the private cloud | -| `sku` | object | The private cloud SKU | - -**Optional parameters** -| Parameter Name | Type | Default Value | Allowed Values | Description | -| :-- | :-- | :-- | :-- | :-- | -| `availability` | object | | | Properties describing how the cloud is distributed across availability zones | -| `circuit` | object | | | An ExpressRoute Circuit | -| `diagnosticEventHubAuthorizationRuleId` | string | | | Resource ID of the diagnostic event hub authorization rule for the Event Hubs namespace in which the event hub should be created or streamed to. | -| `diagnosticEventHubName` | string | | | Name of the diagnostic event hub within the namespace to which logs are streamed. Without this, an event hub is created for each log category. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. | -| `diagnosticLogCategoriesToEnable` | array | `[CapacityLatest, DiskUsedPercentage, EffectiveCpuAverage, EffectiveMemAverage, OverheadAverage, TotalMbAverage, UsageAverage, UsedLatest]` | `[CapacityLatest, DiskUsedPercentage, EffectiveCpuAverage, EffectiveMemAverage, OverheadAverage, TotalMbAverage, UsageAverage, UsedLatest]` | The name of logs that will be streamed. | -| `diagnosticLogsRetentionInDays` | int | `365` | | Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely. | -| `diagnosticMetricsToEnable` | array | `[AllMetrics]` | `[AllMetrics]` | The name of metrics that will be streamed. | -| `diagnosticSettingsName` | string | `[format('{0}-diagnosticSettings', parameters('name'))]` | | The name of the diagnostic setting, if deployed. | -| `diagnosticStorageAccountId` | string | | | Resource ID of the diagnostic storage account. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. | -| `diagnosticWorkspaceId` | string | | | Resource ID of the diagnostic log analytics workspace. For security reasons, it is recommended to set diagnostic settings to send data to either storage account, log analytics workspace or event hub. | -| `enableDefaultTelemetry` | bool | `True` | | Enable telemetry via the Customer Usage Attribution ID (GUID). | -| `encryption` | object | | | Customer managed key encryption, can be enabled or disabled | -| `identity` | object | | | The identity of the private cloud, if configured. | -| `identitySources` | array | | | vCenter Single Sign On Identity Sources | -| `internet` | string | `'Disabled'` | `[Disabled, Enabled]` | Connectivity to internet is enabled or disabled | -| `location` | string | `[resourceGroup().location]` | | Location for all Resources. | -| `lock` | string | | `[CanNotDelete, ReadOnly]` | Specify the type of lock. | -| `managementCluster` | object | | | The default cluster used for management | -| `networkBlock` | string | | | The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22 | -| `nsxtPassword` | secureString | | | Optionally, set the NSX-T Manager password when the private cloud is created | -| `roleAssignments` | array | | | Array of role assignment objects that contain the 'roleDefinitionIdOrName' and 'principalId' to define RBAC role assignments on this resource. In the roleDefinitionIdOrName attribute, you can provide either the display name of the role definition, or its fully qualified ID in the following format: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11'. | -| `secondaryCircuit` | object | | | A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud | -| `tags` | object | | | Resource tags | -| `vcenterPassword` | secureString | | | Optionally, set the vCenter admin password when the private cloud is created | - - -### Parameter Usage: `` - -// TODO: Fill in Parameter usage - -### Parameter Usage: `roleAssignments` - -Create a role assignment for the given resource. If you want to assign a service principal / managed identity that is created in the same deployment, make sure to also specify the `'principalType'` parameter and set it to `'ServicePrincipal'`. This will ensure the role assignment waits for the principal's propagation in Azure. - -

- -Parameter JSON format - -```json -"roleAssignments": { - "value": [ - { - "roleDefinitionIdOrName": "Reader", - "description": "Reader Role Assignment", - "principalIds": [ - "12345678-1234-1234-1234-123456789012", // object 1 - "78945612-1234-1234-1234-123456789012" // object 2 - ] - }, - { - "roleDefinitionIdOrName": "/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11", - "principalIds": [ - "12345678-1234-1234-1234-123456789012" // object 1 - ], - "principalType": "ServicePrincipal" - } - ] -} -``` - -
- -
- -Bicep format - -```bicep -roleAssignments: [ - { - roleDefinitionIdOrName: 'Reader' - description: 'Reader Role Assignment' - principalIds: [ - '12345678-1234-1234-1234-123456789012' // object 1 - '78945612-1234-1234-1234-123456789012' // object 2 - ] - } - { - roleDefinitionIdOrName: '/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11' - principalIds: [ - '12345678-1234-1234-1234-123456789012' // object 1 - ] - principalType: 'ServicePrincipal' - } -] -``` - -
-

- -### Parameter Usage: `tags` - -Tag names and tag values can be provided as needed. A tag can be left without a value. - -

- -Parameter JSON format - -```json -"tags": { - "value": { - "Environment": "Non-Prod", - "Contact": "test.user@testcompany.com", - "PurchaseOrder": "1234", - "CostCenter": "7890", - "ServiceName": "DeploymentValidation", - "Role": "DeploymentValidation" - } -} -``` - -
- -
- -Bicep format - -```bicep -tags: { - Environment: 'Non-Prod' - Contact: 'test.user@testcompany.com' - PurchaseOrder: '1234' - CostCenter: '7890' - ServiceName: 'DeploymentValidation' - Role: 'DeploymentValidation' -} -``` - -
-

- -## Outputs - -| Output Name | Type | Description | -| :-- | :-- | :-- | -| `name` | string | The name of the privateCloud. | -| `resourceGroupName` | string | The name of the resource group the privateCloud was created in. | -| `resourceId` | string | The resource ID of the privateCloud. | - -## Cross-referenced modules - -_None_ - -## Deployment examples - -The following module usage examples are retrieved from the content of the files hosted in the module's `.test` folder. - >**Note**: The name of each example is based on the name of the file from which it is taken. - - >**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order. diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index d783e0530e..1f49f77633 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -85,15 +85,18 @@ function Set-DiagnosticModuleData { } ) - $diagnosticResource = @( - "resource $($resourceTypeSingular)_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" - ' name: diagnosticSettingsName' - ' properties: {' - ' storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null' - ' workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null' - ' eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null' - ' eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null' - ) + $diagnosticResource = @{ + name = "$($resourceTypeSingular)_diagnosticSettings" + content = @( + "resource $($resourceTypeSingular)_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@2021-05-01-preview' = if ((!empty(diagnosticStorageAccountId)) || (!empty(diagnosticWorkspaceId)) || (!empty(diagnosticEventHubAuthorizationRuleId)) || (!empty(diagnosticEventHubName))) {" + ' name: diagnosticSettingsName' + ' properties: {' + ' storageAccountId: !empty(diagnosticStorageAccountId) ? diagnosticStorageAccountId : null' + ' workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null' + ' eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null' + ' eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null' + ) + } # Metric-specific if ($diagnosticOptions.Metrics) { @@ -112,20 +115,22 @@ function Set-DiagnosticModuleData { ) } ) - $ModuleData.variables += @( - 'var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: {' - ' category: metric' - ' timeGrain: null' - ' enabled: true' - ' retentionPolicy: {' - ' enabled: true' - ' days: diagnosticLogsRetentionInDays' - ' }' - '}]' - '' - ) + $ModuleData.variables += @{ + name = 'diagnosticsMetrics' + content = @( + 'var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: {' + ' category: metric' + ' timeGrain: null' + ' enabled: true' + ' retentionPolicy: {' + ' enabled: true' + ' days: diagnosticLogsRetentionInDays' + ' }' + '}]' + ) + } - $diagnosticResource += ' metrics: diagnosticsMetrics' + $diagnosticResource.content += ' metrics: diagnosticsMetrics' } # Log-specific @@ -140,22 +145,24 @@ function Set-DiagnosticModuleData { default = $diagnosticOptions.Logs } ) - $ModuleData.variables += @( - 'var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: {' - ' category: category' - ' enabled: true' - ' retentionPolicy: {' - ' enabled: true' - ' days: diagnosticLogsRetentionInDays' - ' }' - '}]' - '' - ) + $ModuleData.variables += @{ + name = 'diagnosticsLogs' + content = @( + 'var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: {' + ' category: category' + ' enabled: true' + ' retentionPolicy: {' + ' enabled: true' + ' days: diagnosticLogsRetentionInDays' + ' }' + '}]' + ) + } - $diagnosticResource += ' logs: diagnosticsLogs' + $diagnosticResource.content += ' logs: diagnosticsLogs' } - $diagnosticResource += @( + $diagnosticResource.content += @( ' }' " scope: $resourceTypeSingular" '}' diff --git a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index e15e939f06..bf7f7033d1 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -60,17 +60,20 @@ function Set-LockModuleData { } ) - $ModuleData.resources += @( - "resource keyVault_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) {" - " name: '`${$resourceTypeSingular.name}-`${lock}-lock'" - ' properties: {' - ' level: any(lock)' - " notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.'" - ' }' - ' scope: {0}' -f $resourceTypeSingular - '}' - '' - ) + $ModuleData.resources += @{ + name = "$($resourceTypeSingular)_lock" + content = @( + "resource $($resourceTypeSingular)_lock 'Microsoft.Authorization/locks@2017-04-01' = if (!empty(lock)) {" + " name: '`${$resourceTypeSingular.name}-`${lock}-lock'" + ' properties: {' + ' level: any(lock)' + " notes: lock == 'CanNotDelete' ? 'Cannot delete resource or child resources.' : 'Cannot modify the resource or child resources.'" + ' }' + ' scope: {0}' -f $resourceTypeSingular + '}' + '' + ) + } } end { diff --git a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 index 7a5ebd8d10..26769e9011 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 @@ -61,28 +61,31 @@ function Set-PrivateEndpointModuleData { } ) - $ModuleData.resources += @( - "module $($resourceTypeSingular)_privateEndpoints '../../Microsoft.Network/privateEndpoints/deploy.bicep' = [for (privateEndpoint,index) in privateEndpoints: {" - " name: '`${uniqueString(deployment().name, location)}-$resourceTypeSingular-PrivateEndpoint-`${index}'" - ' params: {' - ' groupIds: [' - ' privateEndpoint.service' - ' ]' - " name: contains(privateEndpoint,'name') ? privateEndpoint.name : 'pe-`${last(split($resourceTypeSingular.id, '/'))}-`${privateEndpoint.service}-`${index}'" - ' serviceResourceId: {0}.id' -f $resourceTypeSingular - ' subnetResourceId: privateEndpoint.subnetResourceId' - ' enableDefaultTelemetry: enableReferencedModulesTelemetry' - " location: reference(split(privateEndpoint.subnetResourceId,'/subnets/')[0], '2020-06-01', 'Full').location" - " lock: contains(privateEndpoint,'lock') ? privateEndpoint.lock : lock" - " privateDnsZoneGroup: contains(privateEndpoint,'privateDnsZoneGroup') ? privateEndpoint.privateDnsZoneGroup : {}" - " roleAssignments: contains(privateEndpoint,'roleAssignments') ? privateEndpoint.roleAssignments : []" - " tags: contains(privateEndpoint,'tags') ? privateEndpoint.tags : {}" - " manualPrivateLinkServiceConnections: contains(privateEndpoint,'manualPrivateLinkServiceConnections') ? privateEndpoint.manualPrivateLinkServiceConnections : []" - " customDnsConfigs: contains(privateEndpoint,'customDnsConfigs') ? privateEndpoint.customDnsConfigs : []" - ' }' - '}]' - '' - ) + $ModuleData.modules += @{ + name = "$($resourceTypeSingular)_privateEndpoints" + content = @( + "module $($resourceTypeSingular)_privateEndpoints '../../Microsoft.Network/privateEndpoints/deploy.bicep' = [for (privateEndpoint,index) in privateEndpoints: {" + " name: '`${uniqueString(deployment().name, location)}-$resourceTypeSingular-PrivateEndpoint-`${index}'" + ' params: {' + ' groupIds: [' + ' privateEndpoint.service' + ' ]' + " name: contains(privateEndpoint,'name') ? privateEndpoint.name : 'pe-`${last(split($resourceTypeSingular.id, '/'))}-`${privateEndpoint.service}-`${index}'" + ' serviceResourceId: {0}.id' -f $resourceTypeSingular + ' subnetResourceId: privateEndpoint.subnetResourceId' + ' enableDefaultTelemetry: enableReferencedModulesTelemetry' + " location: reference(split(privateEndpoint.subnetResourceId,'/subnets/')[0], '2020-06-01', 'Full').location" + " lock: contains(privateEndpoint,'lock') ? privateEndpoint.lock : lock" + " privateDnsZoneGroup: contains(privateEndpoint,'privateDnsZoneGroup') ? privateEndpoint.privateDnsZoneGroup : {}" + " roleAssignments: contains(privateEndpoint,'roleAssignments') ? privateEndpoint.roleAssignments : []" + " tags: contains(privateEndpoint,'tags') ? privateEndpoint.tags : {}" + " manualPrivateLinkServiceConnections: contains(privateEndpoint,'manualPrivateLinkServiceConnections') ? privateEndpoint.manualPrivateLinkServiceConnections : []" + " customDnsConfigs: contains(privateEndpoint,'customDnsConfigs') ? privateEndpoint.customDnsConfigs : []" + ' }' + '}]' + '' + ) + } } end { diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 84d3776761..106f0fd537 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -71,21 +71,24 @@ function Set-RoleAssignmentsModuleData { } ) - $ModuleData.resources += @( - "module $($resourceTypeSingular)_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: {" - " name: '`${uniqueString(deployment().name, location)}-$resourceTypeSingular-Rbac-`${index}'" - ' params: {' - " description: contains(roleAssignment,'description') ? roleAssignment.description : ''" - ' principalIds: roleAssignment.principalIds' - " principalType: contains(roleAssignment,'principalType') ? roleAssignment.principalType : ''" - ' roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName' - " condition: contains(roleAssignment,'condition') ? roleAssignment.condition : ''" - " delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : ''" - " resourceId: $resourceTypeSingular.id" - ' }' - '}]' - '' - ) + $ModuleData.modules += @{ + name = "$($resourceTypeSingular)_roleAssignments" + content = @( + "module $($resourceTypeSingular)_roleAssignments '.bicep/nested_roleAssignments.bicep' = [for (roleAssignment,index) in roleAssignments: {" + " name: '`${uniqueString(deployment().name, location)}-$resourceTypeSingular-Rbac-`${index}'" + ' params: {' + " description: contains(roleAssignment,'description') ? roleAssignment.description : ''" + ' principalIds: roleAssignment.principalIds' + " principalType: contains(roleAssignment,'principalType') ? roleAssignment.principalType : ''" + ' roleDefinitionIdOrName: roleAssignment.roleDefinitionIdOrName' + " condition: contains(roleAssignment,'condition') ? roleAssignment.condition : ''" + " delegatedManagedIdentityResourceId: contains(roleAssignment,'delegatedManagedIdentityResourceId') ? roleAssignment.delegatedManagedIdentityResourceId : ''" + " resourceId: $resourceTypeSingular.id" + ' }' + '}]' + '' + ) + } $fileContent = @() $rawContent = Get-Content -Path (Join-Path $script:src 'nested_roleAssignments.bicep') -Raw diff --git a/utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 b/utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 index 6ddf91616b..9733b356ee 100644 --- a/utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 +++ b/utilities/tools/REST2CARML/private/module/Expand-DeploymentBlock.ps1 @@ -30,6 +30,25 @@ function Expand-DeploymentBlock { $relevantProperties = $DeclarationBlock.content | Where-Object { (Get-LineIndentation $_) -eq $topLevelIndent -and $_ -notlike "*$($NestedType): {*" -and $_ -like '*:*' } $topLevelElementNames = $relevantProperties | ForEach-Object { ($_ -split ':')[0].Trim() } + ########################################### + ## Collect specification information ## + ########################################### + switch ($NestedType) { + 'properties' { + $declarationElem = $declarationBlock.content[0] -split ' ' + $DeclarationBlock['name'] = $declarationElem[1] + $DeclarationBlock['type'] = ($declarationElem[2] -split '@')[0].Trim("'") + $DeclarationBlock['version'] = (($declarationElem[2] -split '@')[1])[0..9] -join '' # The date always has 10 characters + break + } + 'params' { + $declarationElem = $declarationBlock.content[0] -split ' ' + $DeclarationBlock['name'] = $declarationElem[1] + $DeclarationBlock['path'] = $declarationElem[2].Trim("'") + break + } + } + #################################### ## Collect top level elements ## #################################### diff --git a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 index 90dc3a0522..5e37188b7d 100644 --- a/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-FormattedModuleParameter.ps1 @@ -24,6 +24,7 @@ function Get-FormattedModuleParameter { # description (optional) # ---------------------- + # TODO: Add logic to always add a finishing '.' if missing if ($ParameterData.description) { # For the description we have to escape any single quote that is not already escaped (i.e., negative lookbehind) if ($ParameterData.description -match '^\w+\. .+' ) { diff --git a/utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 b/utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 new file mode 100644 index 0000000000..c53a51af28 --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 @@ -0,0 +1,47 @@ +function Get-LinkedChildModuleList { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $FullResourceType, + + [Parameter(Mandatory = $true)] + [array] $FullModuleData + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + # Collect child-resource information + $linkedChildren = $fullmoduleData | Where-Object { + # Is nested + $_.identifier -like "$FullResourceType/*" -and + # Is direct child + (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 1) + ) + } + ## Add indirect child (via proxy resource) (i.e. it's a nested-nested resources who's parent has no individual specification/JSONFilePath). + # TODO: Is that always true? What if the data is specified in one file? + $indirectChildren = $FullModuleData | Where-Object { + # Is nested + $_.identifier -like "$FullResourceType/*" -and + # Is indirect child + (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 2)) + } | Where-Object { + # If the child's parent's parentUrlPath is empty, this parent has no PUT rest command which indicates it cannot be created independently + [String]::IsNullOrEmpty($_.metadata.parentUrlPath) + } + + if ($indirectChildren) { + $linkedChildren += $indirectChildren + } + + return $linkedChildren + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 new file mode 100644 index 0000000000..23d5c82c06 --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 @@ -0,0 +1,323 @@ +<# +.SYNOPSIS +Generate the child-module's template content based on the given module data. + +.DESCRIPTION +Generate the child-module's template content based on the given module data. + +.PARAMETER FullResourceType +Mandatory. The complete ResourceType identifier to update the template for (e.g., 'Microsoft.Storage/storageAccounts'). + +.PARAMETER ResourceType +Mandatory. The resource type without the provider namespace (e.g., 'storageAccounts') + +.PARAMETER ResourceTypeSingular +Optional. The 'singular' version of the resource type. For example 'container' instead of 'containers'. + +.PARAMETER ModuleData +Mandatory. The module data to fetch the data for this section from & then format it propertly for the template. + +Expects an array with objects like: +Name Value +---- ----- +parameters {name, identity, type, properties…} +outputs {} +additionalFiles {} +modules {} +variables {diagnosticsMetrics, diagnosticsLogs} +resources {privateCloud_diagnosticSettings, privateCloud_lock} +isSingleton False +additionalParameters {diagnosticLogsRetentionInDays, diagnosticStorageAccountId, diagnosticWorkspaceId, diagnosticEventHubAuthorizationRuleId…} + +.PARAMETER LinkedChildren +Optional. Information about any child-module of the current resource type. Used to generate proper module references. + +Expects an array with objects like: + +Name Value +---- ----- +identifier Microsoft.AVS/privateClouds/cloudLinks +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/hcxEnterpriseSites +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/authorizations +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} + +.PARAMETER LocationParameterExists +Mandatory. An indicator whether the template will contain a 'location' parameter. Only then we can reference it in e.g., deployment names. + +.PARAMETER ExistingTemplateContent +Optional. The prepared content of an existing template, if any. + +Expects an array with objects like: + +Name Value +---- ----- +modules {privateCloud_cloudLinks, privateCloud_hcxEnterpriseSites, privateCloud_authorizations, privateCloud_scriptExecutions…} +variables {diagnosticsMetrics, diagnosticsLogs, enableReferencedModulesTelemetry} +parameters {name, sku, addons, authorizations…} +outputs {name, resourceId, resourceGroupName} +resources {defaultTelemetry, privateCloud, privateCloud_diagnosticSettings, privateCloud_lock} + +.PARAMETER ParentResourceTypes +Optional. The name of any parent resource type. (e.g., @('privateClouds', 'clusters') + +.EXAMPLE +$contentInputObject = @{ + FullResourceType = 'Microsoft.AVS/privateClouds/clusters/datastores' + ResourceType = 'privateClouds/clusters/datastores' + ResourceTypeSingular = 'datastore' + LinkedChildren = @(@{...}, (...)) + ModuleData = @(@{...}, (...)) + LocationParameterExists = $true + ExistingTemplateContent = @(@{...}, (...)) + ParentResourceTypes = @('privateClouds', 'clusters') +} +Get-TemplateChildModuleContent @contentInputObject + +Get the formatted template content for resource type 'Microsoft.AVS/privateClouds/clusters/datastores' based on the given data - including an existing template's data. The output looks something like: + +```bicep + +(...) +``` +#> +function Get-TemplateChildModuleContent { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $FullResourceType, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [string] $ResourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $ResourceType) -split '/')[-1], + + [Parameter(Mandatory = $false)] + [array] $LinkedChildren = @(), + + [Parameter(Mandatory = $true)] + [array] $ModuleData, + + [Parameter(Mandatory = $true)] + [bool] $LocationParameterExists, + + [Parameter(Mandatory = $false)] + [array] $ExistingTemplateContent = @(), + + [Parameter(Mandatory = $false)] + [array] $ParentResourceTypes = @() + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + + ##################################### + ## Add child-module references ## + ##################################### + $templateContent = @() + + foreach ($dataBlock in ($linkedChildren | Sort-Object -Property 'identifier')) { + $childResourceType = ($dataBlock.identifier -split '/')[-1] + + $hasProxyParent = [String]::IsNullOrEmpty($dataBlock.metadata.parentUrlPath) + if ($hasProxyParent) { + $proxyParentName = Split-Path (Split-Path $dataBlock.identifier -Parent) -Leaf + } + + $moduleName = '{0}{1}_{2}' -f ($hasProxyParent ? "$($proxyParentName)_" : ''), $resourceTypeSingular, $childResourceType + $modulePath = '{0}{1}/deploy.bicep' -f ($hasProxyParent ? "$proxyParentName/" : ''), $childResourceType + + $existingModuleData = $ExistingTemplateContent.modules | Where-Object { $_.name -eq $moduleName -and $_.path -eq $modulePath } + + # Differentiate 'singular' children (like 'blobservices') vs. 'multiple' chilren (like 'containers') + if ($ModuleData.isSingleton) { + $templateContent += @( + "module $moduleName '$modulePath' = {" + ) + + if ($existingModuleData.topLevelElements.name -notcontains 'name') { + $templateContent += " name: '`${uniqueString(deployment().name$($LocationParameterExists ? ', location' : ''))}-$($resourceTypeSingular)-$($childResourceType)'" + } else { + $existingParam = $existingModuleData.topLevelElements | Where-Object { $_.name -eq 'name' } + $templateContent += $existingParam.content + } + + $templateContent += ' params: {' + $templateContent += @() + + $alreadyAddedParams = @() + + # All param names of parents + foreach ($parentResourceType in $parentResourceTypes) { + $parentParamName = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] + $templateContent += ' {0}Name: {0}Name' -f $parentParamName + $alreadyAddedParams += $parentParamName + } + # Itself + $selfParamName = ((Get-ResourceTypeSingularName -ResourceType ($FullResourceType -split '/')[-1]) -split '/')[-1] + $templateContent += ' {0}Name: name' -f $selfParamName + $alreadyAddedParams += $selfParamName + + # Any proxy default if any + if ($hasProxyParent) { + $proxyDefaultValue = ($dataBlock.metadata.urlPath -split '\/')[-3] + $proxyParamName = Get-ResourceTypeSingularName -ResourceType ($proxyParentName -split '/')[-1] + $templateContent += " {0}Name: '{1}'" -f $proxyParamName, $proxyDefaultValue + $alreadyAddedParams += $proxyParamName + } + + # Add primary child parameters + $allParam = $dataBlock.data.parameters + $dataBlock.data.additionalParameters + foreach ($parameter in (($allParam | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') }) | Sort-Object -Property 'Name')) { + $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter | Where-Object { $_ -like 'param *' } | ForEach-Object { $_ -replace 'param ', '' } + $wouldBeParamElem = $wouldBeParameter -split ' = ' + $parameter.name = ($wouldBeParamElem -split ' ')[0] + + if ($existingModuleData.nestedElements.name -notcontains $parameter.name) { + $existingParam = $existingModuleData.nestedElements | Where-Object { $_.name -eq $parameter.name } + if ($alreadyAddedParams -notcontains $existingParam.name) { + $templateContent += $existingParam.content + } + continue + } + + if ($wouldBeParamElem.count -gt 1) { + # With default + + if ($parameter.name -eq 'lock') { + # Special handling as we pass the parameter down to the child + $templateContent += " $($parameter.name): contains($($childResourceType), 'lock') ? $($childResourceType).lock : lock" + $alreadyAddedParams += $parameter.name + continue + } + + $wouldBeParamValue = $wouldBeParamElem[1] + + # Special case, location function - should reference a location parameter instead + if ($wouldBeParamValue -like '*().location') { + $wouldBeParamValue = 'location' + } + + $templateContent += " $($parameter.name): contains($($childResourceType), '$($parameter.name)') ? $($childResourceType).$($parameter.name) : $($wouldBeParamValue)" + $alreadyAddedParams += $parameter.name + } else { + # No default + $templateContent += " $($parameter.name): $($childResourceType).$($parameter.name)" + $alreadyAddedParams += $parameter.name + } + } + + $templateContent += @( + # Special handling as we pass the variable down to the child + ' enableDefaultTelemetry: enableReferencedModulesTelemetry' + ' }' + '}' + '' + ) + } else { + + $childResourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $childResourceType + + $templateContent += @( + "module $moduleName '$modulePath' = [for ($($childResourceTypeSingular), index) in $($childResourceType): {" + ) + + if ($existingModuleData.topLevelElements.name -notcontains 'name') { + $templateContent += " name: '`${uniqueString(deployment().name$($LocationParameterExists ? ', location' : ''))}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'" + } else { + $existingParam = $existingModuleData.topLevelElements | Where-Object { $_.name -eq 'name' } + $templateContent += $existingParam.content + } + + $templateContent += ' params: {' + $templateContent += @() + + $alreadyAddedParams = @() + + # All param names of parents + foreach ($parentResourceType in $parentResourceTypes) { + $parentParamName = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] + $templateContent += ' {0}Name: {0}Name' -f $parentParamName + $alreadyAddedParams += $parentParamName + } + # Itself + $selfParamName = ((Get-ResourceTypeSingularName -ResourceType ($FullResourceType -split '/')[-1]) -split '/')[-1] + $templateContent += ' {0}Name: name' -f $selfParamName + $alreadyAddedParams += $selfParamName + + # Any proxy default if any + if ($hasProxyParent) { + $proxyDefaultValue = ($dataBlock.metadata.urlPath -split '\/')[-3] + $proxyParamName = Get-ResourceTypeSingularName -ResourceType ($proxyParentName -split '/')[-1] + $templateContent += " {0}Name: '{1}'" -f $proxyParamName, $proxyDefaultValue + $alreadyAddedParams += $proxyParamName + } + + # Add primary child parameters + $allParam = $dataBlock.data.parameters + $dataBlock.data.additionalParameters + foreach ($parameter in (($allParam | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') }) | Sort-Object -Property 'Name')) { + $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter | Where-Object { $_ -like 'param *' } | ForEach-Object { $_ -replace 'param ', '' } + $wouldBeParamElem = $wouldBeParameter -split ' = ' + $parameterName = ($wouldBeParamElem -split ' ')[0] + + # If the existing content already specifies the parameter, let's use that one instead of generating a new + if ($existingModuleData.nestedElements.name -contains $parameterName) { + $existingParam = $existingModuleData.nestedElements | Where-Object { $_.name -eq $parameterName } + if ($alreadyAddedParams -notcontains $existingParam.name) { + $templateContent += $existingParam.content + } + continue + } + + if ($wouldBeParamElem.count -gt 1) { + # With default + + if ($parameterName -eq 'lock') { + # Special handling as we pass the parameter down to the child + $templateContent += " $($parameterName): contains($($childResourceTypeSingular), 'lock') ? $($childResourceTypeSingular).lock : lock" + $alreadyAddedParams += $parameterName + continue + } + + $wouldBeParamValue = $wouldBeParamElem[1] + + # Special case, location function - should reference a location parameter instead + if ($wouldBeParamValue -like '*().location') { + $wouldBeParamValue = 'location' + } + + $templateContent += " $($parameterName): contains($($childResourceTypeSingular), '$($parameterName)') ? $($childResourceTypeSingular).$($parameterName) : $($wouldBeParamValue)" + $alreadyAddedParams += $parameterName + } else { + # No default + $templateContent += " $($parameterName): $($childResourceTypeSingular).$($parameterName)" + $alreadyAddedParams += $parameterName + } + } + + $templateContent += @( + # Special handling as we pass the variable down to the child + ' enableDefaultTelemetry: enableReferencedModulesTelemetry' + ' }' + '}]' + '' + ) + } + } + + return $templateContent + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 new file mode 100644 index 0000000000..12a843ee56 --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 @@ -0,0 +1,326 @@ +<# +.SYNOPSIS +Get the formatted content for the template's 'deployments' section + +.DESCRIPTION +Get the formatted content for the template's 'deployments' section. For the primary resource, template content of any pre-existing template takes precedence over new content. + +.PARAMETER FullResourceType +Mandatory. The complete ResourceType identifier to update the template for (e.g., 'Microsoft.Storage/storageAccounts'). + +.PARAMETER ResourceType +Mandatory. The resource type without the provider namespace (e.g., 'storageAccounts') + +.PARAMETER ResourceTypeSingular +Optional. The 'singular' version of the resource type. For example 'container' instead of 'containers'. + +.PARAMETER ModuleData +Mandatory. The module data to fetch the data for this section from & then format it propertly for the template. + +Expects an array with objects like: +Name Value +---- ----- +parameters {name, identity, type, properties…} +outputs {} +additionalFiles {} +modules {} +variables {diagnosticsMetrics, diagnosticsLogs} +resources {privateCloud_diagnosticSettings, privateCloud_lock} +isSingleton False +additionalParameters {diagnosticLogsRetentionInDays, diagnosticStorageAccountId, diagnosticWorkspaceId, diagnosticEventHubAuthorizationRuleId…} + +.PARAMETER FullModuleData +Mandatory. The full stack of module data of all modules included in the original invocation. May be used for parent-child references. + +Expects an array with objects like: + +Name Value +---- ----- +identifier Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/cloudLinks +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} + +.PARAMETER ParentResourceTypes +Optional. The name of any parent resource type. (e.g., @('privateClouds', 'clusters') + +.PARAMETER ExistingTemplateContent +Optional. The prepared content of an existing template, if any. + +Expects an array with objects like: + +Name Value +---- ----- +modules {privateCloud_cloudLinks, privateCloud_hcxEnterpriseSites, privateCloud_authorizations, privateCloud_scriptExecutions…} +variables {diagnosticsMetrics, diagnosticsLogs, enableReferencedModulesTelemetry} +parameters {name, sku, addons, authorizations…} +outputs {name, resourceId, resourceGroupName} +resources {defaultTelemetry, privateCloud, privateCloud_diagnosticSettings, privateCloud_lock} + +.PARAMETER LinkedChildren +Optional. Information about any child-module of the current resource type. Used to generate proper module references. + +Expects an array with objects like: + +Name Value +---- ----- +identifier Microsoft.AVS/privateClouds/cloudLinks +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/hcxEnterpriseSites +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/authorizations +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} + +.EXAMPLE +$contentInputObject = @{ + FullResourceType = 'Microsoft.AVS/privateClouds/clusters/datastores' + ResourceType = 'privateClouds/clusters/datastores' + ResourceTypeSingular = 'datastore' + ModuleData = @(@{...}, (...)) + FullModuleData = @(@{...}, (...)) + ParentResourceTypes = @('privateClouds', 'clusters') + ExistingTemplateContent = @(@{...}, (...)) + LinkedChildren = @(@{...}, (...)) +} +Get-TemplateDeploymentsContent @contentInputObject + +Get the formatted template content for resource type 'Microsoft.AVS/privateClouds/clusters/datastores' based on the given data - including an existing template's data. The output looks something like: + +```bicep +// =============== // +// Deployments // +// =============== // + +resource defaultTelemetry 'Microsoft.Resources/deployments@2021-04-01' = if (enableDefaultTelemetry) { + name: 'pid-11111111-1111-1111-1111-111111111111-${uniqueString(deployment().name, location)}' + properties: { + mode: 'Incremental' + template: { + '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#' + contentVersion: '1.0.0.0' + resources: [] + } + } +} +(...) +``` +#> +function Get-TemplateDeploymentsContent { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $FullResourceType, + + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [string] $ResourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $ResourceType) -split '/')[-1], + + [Parameter(Mandatory = $true)] + [array] $ModuleData, + + [Parameter(Mandatory = $true)] + [array] $FullModuleData, + + [Parameter(Mandatory = $false)] + [array] $ParentResourceTypes = @(), + + [Parameter(Mandatory = $false)] + [array] $ExistingTemplateContent = @(), + + [Parameter(Mandatory = $false)] + [array] $LinkedChildren = @() + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + ##################### + ## Collect Data # + ##################### + + # Collect all parent references for 'exiting' resource references + $fullParentResourceStack = Get-ParentResourceTypeList -ResourceType $FullResourceType + + $locationParameterExists = ($templateContent | Where-Object { $_ -like 'param location *' }).Count -gt 0 + + $matchingExistingResource = $existingTemplateContent.resources | Where-Object { + $_.type -eq $FullResourceType -and $_.name -eq $resourceTypeSingular + } + + ######################## + ## Create Content ## + ######################## + + $templateContent = @( + '// =============== //' + '// Deployments //' + '// =============== //' + '' + ) + + # Add telemetry resource + # ---------------------- + $telemetryTemplate = Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') + if (-not $locationParameterExists) { + # Remove the location from the deployment name if the template has no such parameter + $telemetryTemplate = $telemetryTemplate -replace ', location', '' + } + $templateContent += $telemetryTemplate + $templateContent += '' + + # Add 'existing' parents (if any) + # ------------------------------- + $existingResourceIndent = 0 + $orderedParentResourceTypes = $fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object + foreach ($parentResourceType in $orderedParentResourceTypes) { + $singularParent = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] + $levedParentResourceType = ($parentResourceType -ne (@() + $orderedParentResourceTypes)[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType + $parentJSONPath = ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath + + if ([String]::IsNullOrEmpty($parentJSONPath)) { + # Case: A child who's parent resource does not exist (i.e., is a proxy). In this case we use the current API paths as a fallback + # Example: 'Microsoft.AVS/privateClouds/workloadNetworks' is not actually existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations' + $parentJSONPath = $JSONFilePath + } + + $parentResourceAPI = Split-Path (Split-Path $parentJSONPath -Parent) -Leaf + $templateContent += @( + "$(' ' * $existingResourceIndent)resource $($singularParent) '$($levedParentResourceType)@$($parentResourceAPI)' existing = {", + "$(' ' * $existingResourceIndent) name: $($singularParent)Name" + ) + if ($parentResourceType -ne (@() + $orderedParentResourceTypes)[-1]) { + # Only add an empty line if there is more content to add + $templateContent += '' + } + $existingResourceIndent += 4 + } + # Add closing brakets + foreach ($parentResourceType in ($fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object)) { + $existingResourceIndent -= 4 + $templateContent += "$(' ' * $existingResourceIndent)}" + } + $templateContent += '' + + # Add primary resource + # -------------------- + # Deployment resource declaration line + $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf + $templateContent += "resource $resourceTypeSingular '$FullResourceType@$serviceAPIVersion' = {" + + if (($FullResourceType -split '/').Count -ne 2) { + # In case of children, we set the 'parent' to the next parent + $templateContent += (' parent: {0}' -f (($parentResourceTypes | ForEach-Object { Get-ResourceTypeSingularName -ResourceType $_ }) -join '::')) + } + + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 -and $_.name -ne 'properties' } | Sort-Object -Property 'name')) { + if ($matchingExistingResource.topLevelElements.name -notcontains $parameter.name) { + $templateContent += ' {0}: {0}' -f $parameter.name + } else { + $existingProperty = $matchingExistingResource.topLevelElements | Where-Object { $_.name -eq $parameter.name } + $templateContent += $existingProperty.content + } + } + + $templateContent += ' properties: {' + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' } | Sort-Object -Property 'name')) { + if ($matchingExistingResource.nestedElements.name -notcontains $parameter.name) { + $templateContent += ' {0}: {0}' -f $parameter.name + } else { + $existingProperty = $matchingExistingResource.nestedElements | Where-Object { $_.name -eq $parameter.name } + $templateContent += $existingProperty.content + } + } + + $templateContent += @( + ' }' + '}' + '' + ) + + # If a template already exists, add 'extra' resources that are not yet part of the template content + # ------------------------------------------------------------------------------------------------- + # Excluded are + # - Anything we generate anew as a resource + # - Telemetry (as it's regenerated above anyways) + # - Existing parent resources (as they are regenerated above anyways) + if ($existingTemplateContent.resources.count -gt 0) { + $preExistingExtraResources = $existingTemplateContent.resources | Where-Object { + $_.name -notIn $ModuleData.resources.name + @('defaultTelemetry') + @($resourceTypeSingular) -and $_.content[0] -notlike '* existing = {' + } + foreach ($resource in $preExistingExtraResources) { + $templateContent += $resource.content + $templateContent += '' + } + } + + # Add additional resources such as extensions (like DiagnosticSettigs) + # -------------------------------------------------------------------- + # Other collected resources + foreach ($additionalResource in ($ModuleData.resources | Sort-Object 'name')) { + if ($existingTemplateContent.resources.name -notcontains $additionalResource.name) { + $templateContent += $additionalResource.content + } else { + $existingResource = $existingTemplateContent.resources | Where-Object { $_.name -eq $additionalResource.name } + $templateContent += $existingResource.content + $templateContent += '' + } + } + + # Add child-module references + # --------------------------- + $childrenInputObject = @{ + FullResourceType = $FullResourceType + ResourceType = $ResourceType + ResourceTypeSingular = $ResourceTypeSingular + ModuleData = $ModuleData + LocationParameterExists = $LocationParameterExists + } + if ($LinkedChildren.Count -gt 0) { + $childrenInputObject['LinkedChildren'] = $LinkedChildren + } + if ($ExistingTemplateContent.Count -gt 0) { + $childrenInputObject['ExistingTemplateContent'] = $ExistingTemplateContent + } + if ($ParentResourceTypes.Count -gt 0) { + $childrenInputObject['ParentResourceTypes'] = $ParentResourceTypes + } + $templateContent += Get-TemplateChildModuleContent @childrenInputObject + + # TODO : Add other module references + # ---------------------------------- + foreach ($additionalResource in $ModuleData.modules) { + if ($existingTemplateContent.modules.name -notcontains $additionalResource.name) { + $templateContent += $additionalResource.content + } else { + $existingResource = $existingTemplateContent.modules | Where-Object { $_.name -eq $additionalResource.name } + $templateContent += $existingResource.content + $templateContent += '' + } + } + + # TODO: Extra extra modules + # $preExistingExtraModules = $existingTemplateContent.modules | Where-Object { $_.name -notIn $ModuleData.modules.name } + # foreach ($preExistingMdoule in $preExistingExtraModules) { + # # Beware: The pre-existing content also contains e.g. 'linkedChildren' we add as part of the template generation + # } + + return $templateContent + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 new file mode 100644 index 0000000000..0957fe2774 --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 @@ -0,0 +1,173 @@ +<# +.SYNOPSIS +Get the formatted content for the template's 'outputs' section + +.DESCRIPTION +Get the formatted content for the template's 'outputs' section. For the primary resource, template content of any pre-existing template takes precedence over new content. + +.PARAMETER ResourceType +Mandatory. The resource type without the provider namespace (e.g., 'storageAccounts') + +.PARAMETER ResourceTypeSingular +Optional. The 'singular' version of the resource type. For example 'container' instead of 'containers'. + +.PARAMETER TargetScope +Mandatory. The scope of the target template (e.g., 'resourceGroup', 'subscription', etc.) + +.PARAMETER ModuleData +Mandatory. The module data to fetch the data for this section from & then format it propertly for the template. + +Expects an array with objects like: +Name Value +---- ----- +parameters {name, identity, type, properties…} +outputs {} +additionalFiles {} +modules {} +variables {diagnosticsMetrics, diagnosticsLogs} +resources {privateCloud_diagnosticSettings, privateCloud_lock} +isSingleton False +additionalParameters {diagnosticLogsRetentionInDays, diagnosticStorageAccountId, diagnosticWorkspaceId, diagnosticEventHubAuthorizationRuleId…} + +.PARAMETER ExistingTemplateContent +Optional. The prepared content of an existing template, if any. + +Expects an array with objects like: + +Name Value +---- ----- +modules {privateCloud_cloudLinks, privateCloud_hcxEnterpriseSites, privateCloud_authorizations, privateCloud_scriptExecutions…} +variables {diagnosticsMetrics, diagnosticsLogs, enableReferencedModulesTelemetry} +parameters {name, sku, addons, authorizations…} +outputs {name, resourceId, resourceGroupName} +resources {defaultTelemetry, privateCloud, privateCloud_diagnosticSettings, privateCloud_lock} + +.EXAMPLE +$contentInputObject = @{ + ResourceType = 'privateClouds/clusters/datastores' + ResourceTypeSingular = 'datastore' + TargetScope = 'resourceGroup' + ModuleData = @(@{...}, (...)) + ExistingTemplateContent = @(@{...}, (...)) +} +Get-TemplateOutputContent @contentInputObject + +Get the formatted template content for resource type 'Microsoft.AVS/privateClouds/clusters/datastores' based on the given data - including an existing template's data. The output looks something like: + +```bicep +// =========== // +// Outputs // +// =========== // + +@description('The name of the datastore.') +output name string = datastore.name + +@description('The resource ID of the datastore.') +output resourceId string = datastore.id + +@description('The name of the resource group the datastore was created in.') +output resourceGroupName string = resourceGroup().name +(...) +``` +#> +function Get-TemplateOutputContent { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $ResourceType, + + [Parameter(Mandatory = $false)] + [string] $ResourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $ResourceType) -split '/')[-1], + + [Parameter(Mandatory = $true)] + [string] $TargetScope, + + [Parameter(Mandatory = $true)] + [array] $ModuleData, + + [Parameter(Mandatory = $false)] + [array] $ExistingTemplateContent = @() + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + ##################### + ## Collect Data # + ##################### + $defaultOutputs = @( + @{ + name = 'name' + type = 'string' + content = @( + "@description('The name of the $resourceTypeSingular.')" + "output name string = $resourceTypeSingular.name" + ) + }, + @{ + name = 'resourceId' + type = 'string' + content = @( + "@description('The resource ID of the $resourceTypeSingular.')" + "output resourceId string = $resourceTypeSingular.id" + ) + } + ) + + if ($targetScope -eq 'resourceGroup') { + $defaultOutputs += @{ + name = 'resourceGroupName' + type = 'string' + content = @( + "@description('The name of the resource group the $resourceTypeSingular was created in.')" + 'output resourceGroupName string = resourceGroup().name' + ) + } + } + + # If the main resource has a location property, an output should be returned too + if ($ModuleData.parametersToAdd.name -contains 'location' -and $ModuleData.parametersToAdd['location'].defaultValue -ne 'global') { + $defaultOutputs += @{ + name = 'location' + type = 'string' + content = @( + "@description('The location the resource was deployed into.')" + '{0}.location' -f $resourceTypeSingular + ) + } + } + + # Extra outputs + $outputsToAdd = -not $ExistingTemplateContent ? @() : $ExistingTemplateContent.outputs + foreach ($default in $defaultOutputs) { + if ($outputsToAdd.name -notcontains $default.name) { + $outputsToAdd += $default + } + } + + ######################## + ## Create Content ## + ######################## + + $templateContent = @( + '// =========== //' + '// Outputs //' + '// =========== //' + '' + ) + + foreach ($output in $outputsToAdd) { + $templateContent += $output.content + $templateContent += '' + } + + return $templateContent + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 new file mode 100644 index 0000000000..df795e1038 --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 @@ -0,0 +1,250 @@ +<# +.SYNOPSIS +Get the formatted content for the template's 'parameters' section + +.DESCRIPTION +Get the formatted content for the template's 'parameters' section. Template content of any pre-existing template takes precedence over new content. + +.PARAMETER FullResourceType +Mandatory. The complete ResourceType identifier to update the template for (e.g., 'Microsoft.Storage/storageAccounts'). + +.PARAMETER ModuleData +Mandatory. The module data to fetch the data for this section from & then format it propertly for the template. + +Expects an array with objects like: +Name Value +---- ----- +parameters {name, identity, type, properties…} +outputs {} +additionalFiles {} +modules {} +variables {diagnosticsMetrics, diagnosticsLogs} +resources {privateCloud_diagnosticSettings, privateCloud_lock} +isSingleton False +additionalParameters {diagnosticLogsRetentionInDays, diagnosticStorageAccountId, diagnosticWorkspaceId, diagnosticEventHubAuthorizationRuleId…} + +.PARAMETER FullModuleData +Mandatory. The full stack of module data of all modules included in the original invocation. May be used for parent-child references. + +Expects an array with objects like: + +Name Value +---- ----- +identifier Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/cloudLinks +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/workloadNetworks/portMirroringProfiles +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} + +.PARAMETER ParentResourceTypes +Optional. The name of any parent resource type. (e.g., @('privateClouds', 'clusters') + +.PARAMETER ExistingTemplateContent +Optional. The prepared content of an existing template, if any. + +Expects an array with objects like: + +Name Value +---- ----- +modules {privateCloud_cloudLinks, privateCloud_hcxEnterpriseSites, privateCloud_authorizations, privateCloud_scriptExecutions…} +variables {diagnosticsMetrics, diagnosticsLogs, enableReferencedModulesTelemetry} +parameters {name, sku, addons, authorizations…} +outputs {name, resourceId, resourceGroupName} +resources {defaultTelemetry, privateCloud, privateCloud_diagnosticSettings, privateCloud_lock} + +.PARAMETER LinkedChildren +Optional. Information about any child-module of the current resource type. Used to generate proper module references. + +Expects an array with objects like: + +Name Value +---- ----- +identifier Microsoft.AVS/privateClouds/cloudLinks +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/hcxEnterpriseSites +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} +identifier Microsoft.AVS/privateClouds/authorizations +data {parameters, outputs, additionalFiles, modules…} +metadata {urlPath, jsonFilePath, parentUrlPath} + +.EXAMPLE +$contentInputObject = @{ + FullResourceType = 'Microsoft.AVS/privateClouds/clusters/datastores' + ModuleData = @(@{...}, (...)) + FullModuleData = @(@{...}, (...)) + ParentResourceTypes = @('privateClouds', 'clusters') + ExistingTemplateContent = @(@{...}, (...)) + LinkedChildren = @(@{...}, (...)) +} +Get-TemplateParametersContent @contentInputObject + +Get the formatted template content for resource type 'Microsoft.AVS/privateClouds/clusters/datastores' based on the given data - including an existing template's data. The output looks something like: + +```bicep +// ============== // +// Parameters // +// ============== // + +@description('Required. Name of the private cloud') +param name string + +@description('Required. The resource model definition representing SKU') +param sku object + +@description('Optional. The addons to create as part of the privateCloud.') +param addons array = [] +(...) +``` +#> +function Get-TemplateParametersContent { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [string] $FullResourceType, + + [Parameter(Mandatory = $true)] + [array] $ModuleData, + + [Parameter(Mandatory = $true)] + [array] $FullModuleData, + + [Parameter(Mandatory = $false)] + [array] $ParentResourceTypes = @(), + + [Parameter(Mandatory = $false)] + [array] $ExistingTemplateContent = @(), + + [Parameter(Mandatory = $false)] + [array] $LinkedChildren = @() + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + ##################### + ## Collect Data # + ##################### + + # Handle parent proxy, if any + $hasAProxyParent = $FullModuleData.identifier -notContains ((Split-Path $FullResourceType -Parent) -replace '\\', '/') + $parentProxyName = $hasAProxyParent ? ($UrlPath -split '\/')[-3] : '' + $proxyParentType = Split-Path (Split-Path $FullResourceType -Parent) -Leaf + + # Collect parameters to create + # ---------------------------- + $parametersToAdd = @() + + # Add parent parameters + foreach ($parentResourceType in ($parentResourceTypes | Sort-Object)) { + $thisParentIsProxy = $hasAProxyParent -and $parentResourceType -eq $proxyParentType + + $parentParamData = @{ + level = 0 + name = '{0}Name' -f (Get-ResourceTypeSingularName -ResourceType $parentResourceType) + type = 'string' + description = '{0}. The name of the parent {1}. Required if the template is used in a standalone deployment.' -f ($thisParentIsProxy ? 'Optional' : 'Conditional'), $parentResourceType + required = $false + } + + if ($thisParentIsProxy) { + # Handle proxy parents (i.e., empty containers with only a default value name) + $parentParamData['default'] = $parentProxyName + } + + $parametersToAdd += $parentParamData + } + + # Add primary (service) parameters (i.e. top-level and those in the properties) + $parametersToAdd += @() + ($ModuleData.parameters | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') }) + + # Add additional (extension) parameters + $parametersToAdd += $ModuleData.additionalParameters + + # Add child module references + foreach ($dataBlock in ($linkedChildren | Sort-Object -Property 'identifier')) { + $childResourceType = ($dataBlock.identifier -split '/')[-1] + $parametersToAdd += @{ + level = 0 + name = $childResourceType + type = 'array' + default = @() + description = "The $childResourceType to create as part of the $resourceTypeSingular." + required = $false + } + } + + # Add telemetry parameter + $parametersToAdd += @{ + level = 0 + name = 'enableDefaultTelemetry' + type = 'boolean' + default = $true + description = 'Enable telemetry via the Customer Usage Attribution ID (GUID).' + required = $false + } + + + ######################## + ## Create Content ## + ######################## + + $templateContent = @( + '// ============== //' + '// Parameters //' + '// ============== //' + '' + ) + + # Note: If there already is a template and a given parameter was already specified, we use the existing declaration instead of generating a new one + # as it may have custom logic / default values, etc. + + # First the required + foreach ($parameter in ($parametersToAdd | Where-Object { $_.required } | Sort-Object -Property 'Name')) { + if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } else { + $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content + $templateContent += '' + } + } + # Then the conditional + foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -like 'Conditional. *' } | Sort-Object -Property 'Name')) { + if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } else { + $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content + $templateContent += '' + } + } + # Then the rest + foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -notlike 'Conditional. *' } | Sort-Object -Property 'Name')) { + if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { + $templateContent += Get-FormattedModuleParameter -ParameterData $parameter + } else { + $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content + $templateContent += '' + } + } + + # Add additional parameters to only exist in a pre-existing template at the end + foreach ($extraParameter in ($existingTemplateContent.parameters | Where-Object { $parametersToAdd.name -notcontains $_.name })) { + $templateContent += $extraParameter.content + $templateContent += '' + } + + return $templateContent + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 new file mode 100644 index 0000000000..6df2aec519 --- /dev/null +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 @@ -0,0 +1,118 @@ +<# +.SYNOPSIS +Get the formatted content for the template's 'variables' section + +.DESCRIPTION +Get the formatted content for the template's 'variables' section. Template content of any pre-existing template takes precedence over new content. + +.PARAMETER ModuleData +Mandatory. The module data to fetch the data for this section from & then format it propertly for the template. + +Expects an array with objects like: +Name Value +---- ----- +parameters {name, identity, type, properties…} +outputs {} +additionalFiles {} +modules {} +variables {diagnosticsMetrics, diagnosticsLogs} +resources {privateCloud_diagnosticSettings, privateCloud_lock} +isSingleton False +additionalParameters {diagnosticLogsRetentionInDays, diagnosticStorageAccountId, diagnosticWorkspaceId, diagnosticEventHubAuthorizationRuleId…} + +.PARAMETER ExistingTemplateContent +Optional. The prepared content of an existing template, if any. + +Expects an array with objects like: + +Name Value +---- ----- +modules {privateCloud_cloudLinks, privateCloud_hcxEnterpriseSites, privateCloud_authorizations, privateCloud_scriptExecutions…} +variables {diagnosticsMetrics, diagnosticsLogs, enableReferencedModulesTelemetry} +parameters {name, sku, addons, authorizations…} +outputs {name, resourceId, resourceGroupName} +resources {defaultTelemetry, privateCloud, privateCloud_diagnosticSettings, privateCloud_lock} + +.EXAMPLE +Get-TemplateVariablesContent -ModuleData @(@{ variables = @(@{ name = 'abc'; content = @( var abc = (...)) }; (...))}, (...)) -ExistingTemplateContent @(@{ variables = @(@{ name = 'abc'; content = @( var abc = (...))}, (...))}, (...)) + +Generate the variables content for the above example containing at least the 'abc' variable. Would result in an output like + +```bicep +// ============= // +// Variables // +// ============= // + +var abc = (...) +(...) +``` +#> +function Get-TemplateVariablesContent { + + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true)] + [array] $ModuleData, + + [Parameter(Mandatory = $false)] + [array] $ExistingTemplateContent = @() + ) + + begin { + Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) + } + + process { + + ######################## + ## Create Content ## + ######################## + + $templateContent = @( + '// ============= //' + '// Variables //' + '// ============= //' + '' + ) + + foreach ($variable in $ModuleData.variables) { + if ($existingTemplateContent.variables.name -notcontains $variable.name) { + $templateContent += $variable.content + } else { + $matchingExistingVar = $existingTemplateContent.variables | Where-Object { $_.name -eq $variable.name } + $templateContent += $matchingExistingVar.content + } + $templateContent += '' + } + + # Add telemetry variable + if ($linkedChildren.Count -gt 0) { + if ($existingTemplateContent.variables.name -notcontains 'enableReferencedModulesTelemetry') { + $templateContent += @( + 'var enableReferencedModulesTelemetry = false' + ) + } else { + $matchingExistingVar = $existingTemplateContent.variables | Where-Object { $_.name -eq 'enableReferencedModulesTelemetry' } + $templateContent += $matchingExistingVar.content + } + $templateContent += '' + } + + # Add additional parameters to only exist in a pre-existing template at the end + foreach ($extraVariable in ($existingTemplateContent.variables | Where-Object { $ModuleData.variables.name -notcontains $_.name -and $_.name -ne 'enableReferencedModulesTelemetry' })) { + $templateContent += $extraVariable.content + $templateContent += '' + } + + # Only add the section if any content was added + if ($templateContent.count -eq 4) { + return @() + } else { + return $templateContent + } + } + + end { + Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) + } +} diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index b58bfe2e06..b3d4644210 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -112,7 +112,7 @@ function Set-Module { Set-ModuleReadMe -TemplateFilePath $templatePath -Verbose:$false } } catch { - Write-Warning "Invocation of 'Set-ModuleReadMe' fuction for template in path [$templatePath] failed. Please review the template and re-run the command `Set-ModuleReadMe -TemplateFilePath '$templatePath'``" + Write-Warning "Invocation of 'Set-ModuleReadMe' function for template in path [$templatePath] failed. Please review the template and re-run the command `Set-ModuleReadMe -TemplateFilePath '$templatePath'``" } } diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index e10da1ccf2..517e1f8d0e 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -47,40 +47,23 @@ function Set-ModuleTemplate { begin { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - - $templateFilePath = Join-Path $script:repoRoot 'modules' $FullResourceType 'deploy.bicep' - $providerNamespace = ($FullResourceType -split '/')[0] - $resourceType = $FullResourceType -replace "$providerNamespace/", '' } process { - ##################### ## Collect Data # ##################### + #region data + + $templateFilePath = Join-Path $script:repoRoot 'modules' $FullResourceType 'deploy.bicep' + $providerNamespace = ($FullResourceType -split '/')[0] + $resourceType = $FullResourceType -replace "$providerNamespace/", '' # Existing template (if any) $existingTemplateContent = Resolve-ExistingTemplateContent -TemplateFilePath $templateFilePath # Collect child-resource information - $linkedChildren = $fullmoduleData | Where-Object { - # Is nested - $_.identifier -like "$FullResourceType/*" -and - # Is direct child - (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 1) - ) - } - ## Add indirect child (via proxy resource) (i.e. it's a nested-nested resources who's parent has no individual specification/JSONFilePath). TODO: Is that always true? What if the data is specified in one file?x` - $indirectChildren = $FullModuleData | Where-Object { - # Is nested - $_.identifier -like "$FullResourceType/*" -and - # Is indirect child - (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 2)) - } | Where-Object { - # If the child's parent's parentUrlPath is empty, this parent has no PUT rest command which indicates it cannot be created independently - [String]::IsNullOrEmpty($_.metadata.parentUrlPath) - } - $linkedChildren += $indirectChildren + $linkedChildren = Get-LinkedChildModuleList -FullModuleData $FullModuleData -FullResourceType $FullResourceType # Collect parent resources to use for parent type references $typeElem = $FullResourceType -split '/' @@ -90,21 +73,13 @@ function Set-ModuleTemplate { $parentResourceTypes = @() } - # Collect all parent references for 'exiting' resource references - $fullParentResourceStack = Get-ParentResourceTypeList -ResourceType $FullResourceType - # Get the singular version of the current resource type for proper naming $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] + #endregion - # Handle parent proxy, if any - $hasAProxyParent = $FullModuleData.identifier -notContains ((Split-Path $FullResourceType -Parent) -replace '\\', '/') - $parentProxyName = $hasAProxyParent ? ($UrlPath -split '\/')[-3] : '' - $proxyParentType = Split-Path (Split-Path $FullResourceType -Parent) -Leaf - - ################## - ## PARAMETERS ## - ################## - + ############# + ## SCOPE ## + ############# $targetScope = Get-TargetScope -UrlPath $UrlPath $templateContent = ($targetScope -ne 'resourceGroup') ? @( @@ -112,315 +87,101 @@ function Set-ModuleTemplate { '' ) : @() - $templateContent += @( - '// ============== //' - '// Parameters //' - '// ============== //' - '' - ) - - # Collect parameters to create - # ---------------------------- - $parametersToAdd = @() - - # Add parent parameters - foreach ($parentResourceType in ($parentResourceTypes | Sort-Object)) { - $thisParentIsProxy = $hasAProxyParent -and $parentResourceType -eq $proxyParentType - - $parentParamData = @{ - level = 0 - name = '{0}Name' -f (Get-ResourceTypeSingularName -ResourceType $parentResourceType) - type = 'string' - description = '{0}. The name of the parent {1}. Required if the template is used in a standalone deployment.' -f ($thisParentIsProxy ? 'Optional' : 'Conditional'), $parentResourceType - required = $false - } - - if ($thisParentIsProxy) { - # Handle proxy parents (i.e., empty containers with only a default value name) - $parentParamData['default'] = $parentProxyName - } - - $parametersToAdd += $parentParamData - } - - # Add primary (service) parameters (i.e. top-level and those in the properties) - $parametersToAdd += @() + ($ModuleData.parameters | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') }) - - - # Add additional (extension) parameters - $parametersToAdd += $ModuleData.additionalParameters - - # Add child module references - foreach ($dataBlock in ($linkedChildren | Sort-Object -Property 'identifier')) { - $childResourceType = ($dataBlock.identifier -split '/')[-1] - $parametersToAdd += @{ - level = 0 - name = $childResourceType - type = 'array' - default = @() - description = "The $childResourceType to create as part of the $resourceTypeSingular." - required = $false - } - } - - # Add telemetry parameter - $parametersToAdd += @{ - level = 0 - name = 'enableDefaultTelemetry' - type = 'boolean' - default = $true - description = 'Enable telemetry via the Customer Usage Attribution ID (GUID).' - required = $false - } + ################## + ## PARAMETERS ## + ################## + #region parameters - # Create collected parameters - # --------------------------- - # First the required - foreach ($parameter in ($parametersToAdd | Where-Object { $_.required } | Sort-Object -Property 'Name')) { - if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter - } else { - $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content - $templateContent += '' - } + $parametersInputObject = @{ + ModuleData = $ModuleData + FullModuleData = $FullModuleData + FullResourceType = $FullResourceType } - # Then the conditional - foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -like 'Conditional. *' } | Sort-Object -Property 'Name')) { - if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter - } else { - $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content - $templateContent += '' - } + if ($ExistingTemplateContent.Count -gt 0) { + $parametersInputObject['ExistingTemplateContent'] = $ExistingTemplateContent } - # Then the rest - foreach ($parameter in ($parametersToAdd | Where-Object { -not $_.required -and $_.description -notlike 'Conditional. *' } | Sort-Object -Property 'Name')) { - if ($existingTemplateContent.parameters.name -notcontains $parameter.name) { - $templateContent += Get-FormattedModuleParameter -ParameterData $parameter - } else { - $templateContent += ($existingTemplateContent.parameters | Where-Object { $_.name -eq $parameter.name }).content - $templateContent += '' - } + if ($ParentResourceTypes.Count -gt 0) { + $parametersInputObject['ParentResourceTypes'] = $ParentResourceTypes } - - # Add additional parameters at the end - foreach ($extraParameter in ($existingTemplateContent.parameters | Where-Object { $parametersToAdd.name -notcontains $_.name })) { - $templateContent += $extraParameter.content - $templateContent += '' + if ($LinkedChildren.Count -gt 0) { + $parametersInputObject['LinkedChildren'] = $LinkedChildren } + $templateContent += Get-TemplateParametersContent @parametersInputObject + #endregion ################# ## VARIABLES ## ################# - + #region variables # Add a space in between the new section and the previous one in case no space exists if (-not [String]::IsNullOrEmpty($templateContent[-1])) { $templateContent += '' } - foreach ($variable in $ModuleData.variables) { - $templateContent += $variable + $variablesInputObject = @{ + ModuleData = $ModuleData } - # Add telemetry variable - if ($linkedChildren.Count -gt 0) { - $templateContent += @( - 'var enableReferencedModulesTelemetry = false' - '' - ) + if ($ExistingTemplateContent.Count -gt 0) { + $variablesInputObject['ExistingTemplateContent'] = $ExistingTemplateContent } + $templateContent += Get-TemplateVariablesContent @variablesInputObject + #endregion ################### ## DEPLOYMENTS ## ################### - - $locationParameterExists = ($templateContent | Where-Object { $_ -like 'param location *' }).Count -gt 0 + #region resources & modules # Add a space in between the new section and the previous one in case no space exists if (-not [String]::IsNullOrEmpty($templateContent[-1])) { $templateContent += '' } - $templateContent += @( - '// =============== //' - '// Deployments //' - '// =============== //' - '' - ) - - # Add telemetry resource - # ---------------------- - $telemetryTemplate = Get-Content -Path (Join-Path $Script:src 'telemetry.bicep') - if (-not $locationParameterExists) { - # Remove the location from the deployment name if the template has no such parameter - $telemetryTemplate = $telemetryTemplate -replace ', location', '' - } - $templateContent += $telemetryTemplate - $templateContent += '' - - # Add 'existing' parents (if any) - # ------------------------------- - $existingResourceIndent = 0 - $orderedParentResourceTypes = $fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object - foreach ($parentResourceType in $orderedParentResourceTypes) { - $singularParent = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] - $levedParentResourceType = ($parentResourceType -ne (@() + $orderedParentResourceTypes)[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType - $parentJSONPath = ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath - - if ([String]::IsNullOrEmpty($parentJSONPath)) { - # Case: A child who's parent resource does not exist (i.e., is a proxy). In this case we use the current API paths as a fallback - # Example: 'Microsoft.AVS/privateClouds/workloadNetworks' is not actually existing as a parent for 'Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations' - $parentJSONPath = $JSONFilePath - } - - $parentResourceAPI = Split-Path (Split-Path $parentJSONPath -Parent) -Leaf - $templateContent += @( - "$(' ' * $existingResourceIndent)resource $($singularParent) '$($levedParentResourceType)@$($parentResourceAPI)' existing = {", - "$(' ' * $existingResourceIndent) name: $($singularParent)Name" - ) - if ($parentResourceType -ne (@() + $orderedParentResourceTypes)[-1]) { - # Only add an empty line if there is more content to add - $templateContent += '' - } - $existingResourceIndent += 4 - } - # Add closing brakets - foreach ($parentResourceType in ($fullParentResourceStack | Where-Object { $_ -notlike $FullResourceType } | Sort-Object)) { - $existingResourceIndent -= 4 - $templateContent += "$(' ' * $existingResourceIndent)}" - } - $templateContent += '' - - # Add primary resource - # -------------------- - # Deployment resource declaration line - $serviceAPIVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf - $templateContent += "resource $resourceTypeSingular '$FullResourceType@$serviceAPIVersion' = {" - - if (($FullResourceType -split '/').Count -ne 2) { - # In case of children, we set the 'parent' to the next parent - $templateContent += (' parent: {0}' -f (($parentResourceTypes | ForEach-Object { Get-ResourceTypeSingularName -ResourceType $_ }) -join '::')) + $resourcesInputObject = @{ + FullResourceType = $FullResourceType + ResourceType = $ResourceType + ResourceTypeSingular = $ResourceTypeSingular + ModuleData = $ModuleData + FullModuleData = $FullModuleData } - - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 0 -and $_.name -ne 'properties' } | Sort-Object -Property 'name')) { - $templateContent += ' {0}: {0}' -f $parameter.name + if ($ExistingTemplateContent.Count -gt 0) { + $resourcesInputObject['ExistingTemplateContent'] = $ExistingTemplateContent } - - $templateContent += ' properties: {' - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' } | Sort-Object -Property 'name')) { - $templateContent += ' {0}: {0}' -f $parameter.name + if ($ParentResourceTypes.Count -gt 0) { + $resourcesInputObject['ParentResourceTypes'] = $ParentResourceTypes } - - $templateContent += @( - ' }' - '}' - '' - ) - - - # Add additional resources such as extensions (like RBAC) - # ------------------------------------------------------- - # Other collected resources - $templateContent += $ModuleData.resources - - # Add child-module references - # --------------------------- - foreach ($dataBlock in $linkedChildren) { - $childResourceType = ($dataBlock.identifier -split '/')[-1] - $childResourceTypeSingular = Get-ResourceTypeSingularName -ResourceType $childResourceType - - $hasProxyParent = [String]::IsNullOrEmpty($dataBlock.metadata.parentUrlPath) - if ($hasProxyParent) { - $proxyParentName = Split-Path (Split-Path $dataBlock.identifier -Parent) -Leaf - } - - $templateContent += @( - "module $($hasProxyParent ? "$($proxyParentName)_" : '')$($resourceTypeSingular)_$($childResourceType) '$($hasProxyParent ? "$proxyParentName/" : '')$($childResourceType)/deploy.bicep' = [for ($($childResourceTypeSingular), index) in $($childResourceType): {", - " name: '`${uniqueString(deployment().name$($locationParameterExists ? ', location' : ''))}-$($resourceTypeSingular)-$($childResourceTypeSingular)-`${index}'", - ' params: {' - ) - - # All param names of parents - foreach ($parentResourceType in $parentResourceTypes) { - $templateContent += ' {0}Name: {0}Name' -f ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] - } - # Itself - $templateContent += ' {0}Name: name' -f ((Get-ResourceTypeSingularName -ResourceType ($FullResourceType -split '/')[-1]) -split '/')[-1] - - # Any proxy default if any - if ($hasProxyParent) { - $proxyDefaultValue = ($dataBlock.metadata.urlPath -split '\/')[-3] - $templateContent += " {0}Name: '{1}'" -f (Get-ResourceTypeSingularName -ResourceType ($proxyParentName -split '/')[-1]), $proxyDefaultValue - } - - # Add primary child parameters - $allParam = $dataBlock.data.parameters + $dataBlock.data.additionalParameters - foreach ($parameter in (($allParam | Where-Object { $_.Level -in @(0, 1) -and $_.name -ne 'properties' -and ([String]::IsNullOrEmpty($_.Parent) -or $_.Parent -eq 'properties') }) | Sort-Object -Property 'Name')) { - $wouldBeParameter = Get-FormattedModuleParameter -ParameterData $parameter | Where-Object { $_ -like 'param *' } | ForEach-Object { $_ -replace 'param ', '' } - $wouldBeParamElem = $wouldBeParameter -split ' = ' - $parameter.name = ($wouldBeParamElem -split ' ')[0] - if ($wouldBeParamElem.count -gt 1) { - # With default - - if ($parameter.name -eq 'lock') { - # Special handling as we pass the parameter down to the child - $templateContent += " lock: contains($($childResourceTypeSingular), 'lock') ? $($childResourceTypeSingular).lock : lock" - continue - } - - $wouldBeParamValue = $wouldBeParamElem[1] - - # Special case, location function - should reference a location parameter instead - if ($wouldBeParamValue -like '*().location') { - $wouldBeParamValue = 'location' - } - - $templateContent += " $($parameter.name): contains($($childResourceTypeSingular), '$($parameter.name)') ? $($childResourceTypeSingular).$($parameter.name) : $($wouldBeParamValue)" - } else { - # No default - $templateContent += " $($parameter.name): $($childResourceTypeSingular).$($parameter.name)" - } - } - - $templateContent += @( - # Special handling as we pass the variable down to the child - ' enableDefaultTelemetry: enableReferencedModulesTelemetry' - ' }' - '}]' - '' - ) + if ($LinkedChildren.Count -gt 0) { + $resourcesInputObject['LinkedChildren'] = $LinkedChildren } + $templateContent += Get-TemplateDeploymentsContent @resourcesInputObject + #endregion ####################################### ## Create template outputs section ## ####################################### + #region outputs # Add a space in between the new section and the previous one in case no space exists if (-not [String]::IsNullOrEmpty($templateContent[-1])) { $templateContent += '' } - # Output header comment - $templateContent += @( - '// =========== //' - '// Outputs //' - '// =========== //' - '' - "@description('The name of the $resourceTypeSingular.')" - "output name string = $resourceTypeSingular.name" - '' - "@description('The resource ID of the $resourceTypeSingular.')" - "output resourceId string = $resourceTypeSingular.id" - '' - ) - - if ($targetScope -eq 'resourceGroup') { - $templateContent += @( - "@description('The name of the resource group the $resourceTypeSingular was created in.')" - 'output resourceGroupName string = resourceGroup().name' - '' - ) + $outputsInputObject = @{ + ResourceType = $ResourceType + ResourceTypeSingular = $ResourceTypeSingular + TargetScope = $TargetScope + ModuleData = $ModuleData + } + if ($ExistingTemplateContent.Count -gt 0) { + $outputsInputObject['ExistingTemplateContent'] = $ExistingTemplateContent } + $templateContent += Get-TemplateOutputContent @outputsInputObject + #endregion + + ############################ + ## Update template file ## + ############################ # Update file # ----------- diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 index 62ebfec41d..9c335c0351 100644 --- a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 @@ -36,8 +36,9 @@ function Resolve-ModuleData { # Output object $templateData = [System.Collections.ArrayList]@() - # Collect data - # ------------ + ##################################### + ## Collect primary module data ## + ##################################### $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable # Get PUT parameters @@ -72,6 +73,7 @@ function Resolve-ModuleData { parameters = $filteredList additionalParameters = @() resources = @() + modules = @() variables = @() outputs = @() additionalFiles = @() @@ -115,5 +117,10 @@ function Resolve-ModuleData { } Set-LockModuleData @lockInputObject + # Check if there can be mutliple instances of the current Resource Type. + # For example, this is 'true' for Resource Type 'Microsoft.Storage/storageAccounts/blobServices/containers', and 'false' for Resource Type 'Microsoft.Storage/storageAccounts/blobServices' + $listUrlPath = (Split-Path $UrlPath -Parent) -replace '\\', '/' + $moduleData['isSingleton'] = $specificationData.paths[$listUrlPath].get.Keys -notcontains 'x-ms-pageable' + return $moduleData } From c5a59fa5679a2e1f461fef5a2563687677b6ad82 Mon Sep 17 00:00:00 2001 From: MrMCake Date: Tue, 8 Nov 2022 16:51:59 +0100 Subject: [PATCH 114/130] Update to latest --- .../private/specs/Get-SpecsPropertiesAsParameterList.ps1 | 5 +++++ utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 index 74d0e17dc2..5b69df5e1b 100644 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 +++ b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 @@ -69,6 +69,11 @@ function Get-SpecsPropertiesAsParameterList { $specParameters = $specificationData.parameters } + if ([String]::IsNullOrEmpty($matchingPathObjectParametersRef)) { + # If we still cannot find a path with a body - there likely isn't any. Hence we skip + return $templateData + } + # Get top-most parameters $outerParameters = $definitions[(Split-Path $matchingPathObjectParametersRef -Leaf)] diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 index 5ef468ed51..5fff644202 100644 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 @@ -125,7 +125,7 @@ function Get-AzureApiSpecsData { return $moduleData } catch { - throw $_ + throw ($_, $_.ScriptStackTrace) } finally { ########################## ## Remove Artifacts ## From bb8256f8d8bf79d749f077d98f04dec31be1b2cd Mon Sep 17 00:00:00 2001 From: Alexander Sehr Date: Wed, 23 Nov 2022 06:44:55 +0100 Subject: [PATCH 115/130] [Utilities] Update REST2CARML to leverage AzureAPICrawler module (#2356) * First refactoring to api crawler * Next bach * Cleanup * More updates * small fixes * Update to latest * Update to latest --- .../Microsoft.AVS/privateClouds/deploy.bicep | 19 -- utilities/tools/REST2CARML/REST2CARML.psd1 | 4 +- .../extension/Get-DiagnosticOptionsList.ps1 | 116 --------- .../extension/Get-RoleAssignmentsList.ps1 | 92 ------- .../private/extension/Get-SupportsLock.ps1 | 50 ---- .../extension/Get-SupportsPrivateEndpoint.ps1 | 60 ----- .../extension/Set-DiagnosticModuleData.ps1 | 33 ++- .../private/extension/Set-LockModuleData.ps1 | 16 +- .../Set-PrivateEndpointModuleData.ps1 | 23 +- .../Set-RoleAssignmentsModuleData.ps1 | 26 +- .../module/Get-LinkedChildModuleList.ps1 | 47 ++-- .../module/Get-TemplateChildModuleContent.ps1 | 9 +- .../module/Get-TemplateDeploymentsContent.ps1 | 8 +- .../module/Get-TemplateParametersContent.ps1 | 11 +- .../module/Get-TemplateVariablesContent.ps1 | 2 +- .../REST2CARML/private/module/Set-Module.ps1 | 51 +++- .../private/module/Set-ModuleTemplate.ps1 | 6 +- .../private/shared/Get-DataUsingCache.ps1 | 37 --- .../private/specs/Copy-CustomRepository.ps1 | 57 ----- .../private/specs/Get-FolderList.ps1 | 64 ----- .../private/specs/Get-ServiceSpecPathData.ps1 | 162 ------------ .../Get-SpecsPropertiesAsParameterList.ps1 | 148 ----------- .../specs/Get-SpecsPropertyAsParameter.ps1 | 237 ------------------ .../private/specs/Resolve-ModuleData.ps1 | 126 ---------- .../specs/Resolve-SpecPropertyReference.ps1 | 89 ------- .../private/specs/Set-OptionalParameter.ps1 | 88 ------- .../public/Get-AzureApiSpecsData.ps1 | 143 ----------- .../REST2CARML/public/Invoke-REST2CARML.ps1 | 14 +- 28 files changed, 166 insertions(+), 1572 deletions(-) delete mode 100644 utilities/tools/REST2CARML/private/extension/Get-DiagnosticOptionsList.ps1 delete mode 100644 utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 delete mode 100644 utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 delete mode 100644 utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 delete mode 100644 utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 delete mode 100644 utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 delete mode 100644 utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 diff --git a/modules/Microsoft.AVS/privateClouds/deploy.bicep b/modules/Microsoft.AVS/privateClouds/deploy.bicep index 05be0abfd2..0a76029ca3 100644 --- a/modules/Microsoft.AVS/privateClouds/deploy.bicep +++ b/modules/Microsoft.AVS/privateClouds/deploy.bicep @@ -60,14 +60,6 @@ param diagnosticLogCategoriesToEnable array = [ @description('Optional. Specifies the number of days that logs will be kept for; a value of 0 will retain data indefinitely.') param diagnosticLogsRetentionInDays int = 365 -@description('Optional. The name of metrics that will be streamed.') -@allowed([ - 'AllMetrics' -]) -param diagnosticMetricsToEnable array = [ - 'AllMetrics' -] - @description('Optional. The name of the diagnostic setting, if deployed.') param diagnosticSettingsName string = '${name}-diagnosticSettings' @@ -158,16 +150,6 @@ param vmGroups array = [] // Variables // // ============= // -var diagnosticsMetrics = [for metric in diagnosticMetricsToEnable: { - category: metric - timeGrain: null - enabled: true - retentionPolicy: { - enabled: true - days: diagnosticLogsRetentionInDays - } -}] - var diagnosticsLogs = [for category in diagnosticLogCategoriesToEnable: { category: category enabled: true @@ -223,7 +205,6 @@ resource privateCloud_diagnosticSettings 'Microsoft.Insights/diagnosticsettings@ workspaceId: !empty(diagnosticWorkspaceId) ? diagnosticWorkspaceId : null eventHubAuthorizationRuleId: !empty(diagnosticEventHubAuthorizationRuleId) ? diagnosticEventHubAuthorizationRuleId : null eventHubName: !empty(diagnosticEventHubName) ? diagnosticEventHubName : null - metrics: diagnosticsMetrics logs: diagnosticsLogs } scope: privateCloud diff --git a/utilities/tools/REST2CARML/REST2CARML.psd1 b/utilities/tools/REST2CARML/REST2CARML.psd1 index 1ff3c7493c..84e52635d7 100644 --- a/utilities/tools/REST2CARML/REST2CARML.psd1 +++ b/utilities/tools/REST2CARML/REST2CARML.psd1 @@ -51,7 +51,9 @@ # ProcessorArchitecture = '' # Modules that must be imported into the global environment prior to importing this module - # RequiredModules = @() + RequiredModules = @( + 'AzureAPICrawler' + ) # Assemblies that must be loaded prior to importing this module # RequiredAssemblies = @() diff --git a/utilities/tools/REST2CARML/private/extension/Get-DiagnosticOptionsList.ps1 b/utilities/tools/REST2CARML/private/extension/Get-DiagnosticOptionsList.ps1 deleted file mode 100644 index ce866a0f6d..0000000000 --- a/utilities/tools/REST2CARML/private/extension/Get-DiagnosticOptionsList.ps1 +++ /dev/null @@ -1,116 +0,0 @@ -<# -.SYNOPSIS -Fetch all available diagnostic metrics and logs for the given Resource Type - -.DESCRIPTION -Fetch all available diagnostic metrics and logs for the given Resource Type -Leverges Microsoft Docs's [https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-monitor] to fetch the data - -.PARAMETER ProviderNamespace -Mandatory. The Provider Namespace to fetch the data for - -.PARAMETER ResourceType -Mandatory. The Resource Type to fetch the data for - -.EXAMPLE -Get-DiagnosticOptionsList -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' - -Fetch the diagnostic options (logs & metrics) for Resource Type [Microsoft.KeyVault/vaults] -#> -function Get-DiagnosticOptionsList { - - [CmdletBinding()] - param( - [Parameter(Mandatory)] - [string] $ProviderNamespace, - - [Parameter(Mandatory)] - [string] $ResourceType - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $diagnosticMetricsPath = Join-Path $script:temp 'diagnosticMetrics.md' - $diagnosticLogsPath = Join-Path $script:temp 'diagnosticLogs.md' - } - - process { - - ################# - ## METRICS ## - ################# - $foundMetrics = @() - if (-not (Test-Path $diagnosticMetricsPath)) { - Write-Verbose 'Fetching diagnostic metrics data. This may take a moment...' -Verbose - Invoke-WebRequest -Uri $script:Config.url_MonitoringDocsRepositoryMetricsRaw -OutFile $diagnosticMetricsPath - } - $metricsMarkdown = Get-Content $diagnosticMetricsPath - - # Find provider in file - $matchingMetricResourceTypeLine = $metricsMarkdown.IndexOf(($metricsMarkdown -like "## $ProviderNamespace/$ResourceType")[-1]) - - if ($matchingMetricResourceTypeLine -gt -1) { - - # Find table - $tableStartIndex = $matchingMetricResourceTypeLine - while ($metricsMarkdown[$tableStartIndex] -notlike '|*' -and $tableStartIndex -lt $metricsMarkdown.Count) { - $tableStartIndex++ - } - $tableStartIndex = $tableStartIndex + 2 # Skipping table header - - $tableEndIndex = $tableStartIndex - while ($metricsMarkdown[$tableEndIndex] -like '|*' -and $tableEndIndex -lt $metricsMarkdown.Count) { - $tableEndIndex++ - } - - # Build result - for ($index = $tableStartIndex; $index -lt $tableEndIndex; $index++) { - if (($metricsMarkdown[$index] -split '\|')[2] -eq 'Yes') { - # If the 'Exportable' column equals 'Yes', we consider the metric - $foundMetrics += ($metricsMarkdown[$index] -split '\|')[1] - } - } - } - - ############## - ## LOGS ## - ############## - $foundLogs = @() - if (-not (Test-Path $diagnosticLogsPath)) { - Write-Verbose 'Fetching diagnostic logs data. This may take a moment...' -Verbose - Invoke-WebRequest -Uri $script:Config.url_MonitoringDocsRepositoryLogsRaw -OutFile $diagnosticLogsPath - } - $logsMarkdown = Get-Content $diagnosticMetricsPath - - # Find provider in file - $matchingLogResourceTypeLine = $logsMarkdown.IndexOf(($logsMarkdown -like "## $ProviderNamespace/$ResourceType")[-1]) - if ($matchingLogResourceTypeLine -gt -1) { - - # Find table - $tableStartIndex = $matchingLogResourceTypeLine - while ($logsMarkdown[$tableStartIndex] -notlike '|*' -and $tableStartIndex -lt $logsMarkdown.Count) { - $tableStartIndex++ - } - $tableStartIndex = $tableStartIndex + 2 # Skipping table header - - $tableEndIndex = $tableStartIndex - while ($logsMarkdown[$tableEndIndex] -like '|*' -and $tableEndIndex -lt $logsMarkdown.Count) { - $tableEndIndex++ - } - - # Build result - for ($index = $tableStartIndex; $index -lt $tableEndIndex; $index++) { - $foundLogs += ($logsMarkdown[$index] -split '\|')[1] - } - } - - return [PSCustomObject]@{ - Metrics = $foundMetrics - Logs = $foundLogs - } - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} diff --git a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 b/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 deleted file mode 100644 index fa3c371aae..0000000000 --- a/utilities/tools/REST2CARML/private/extension/Get-RoleAssignmentsList.ps1 +++ /dev/null @@ -1,92 +0,0 @@ -<# -.SYNOPSIS -Fetch all available Role Definitions for the given ProviderNamespace - -.DESCRIPTION -Fetch all available Role Definitions for the given ProviderNamespace -Leverges Microsoft Docs's [https://learn.microsoft.com/en-us/powershell/module/az.resources/get-azroledefinition?view=azps-8.3.0] to fetch the data - -.PARAMETER ProviderNamespace -Mandatory. The Provider Namespace to fetch the role definitions for - -.PARAMETER ResourceType -Mandatory. The ResourceType to fetch the role definitions for - -.PARAMETER IncludeCustomRoles -Optional. Whether to include custom roles or not - -.EXAMPLE -Get-RoleAssignmentsList -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' - -Fetch all available Role Definitions for ProviderNamespace [Microsoft.KeyVault/vaults], excluding custom roles -#> -function Get-RoleAssignmentsList { - - [CmdletBinding()] - param( - [Parameter(Mandatory = $false)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $false)] - [string] $ResourceType, - - [Parameter(Mandatory = $false)] - [switch] $IncludeCustomRoles - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - } - - process { - - ################# - ## Get Roles ## - ################# - $roleDefinitions = Get-DataUsingCache -Key 'roleDefinitions' -ScriptBlock { Get-AzRoleDefinition } - - # Filter Custom Roles - if (-not $IncludeCustomRoles) { - $roleDefinitions = $roleDefinitions | Where-Object { -not $_.IsCustom } - } - - $relevantRoles = [System.Collections.ArrayList]@() - - if (($roleDefinitions | Where-Object { $_.Actions -like "$ProviderNamespace/$ResourceType/*" -or $_.DataActions -like "$ProviderNamespace/$ResourceType/*" }).Count -eq 0) { - # Pressumably, no roles are supported for this resource as no roles with its scope exist - return @() - } - - # Filter Action based - $relevantRoles += $roleDefinitions | Where-Object { - $_.Actions -like "$ProviderNamespace/$ResourceType/*" -or - $_.Actions -like "$ProviderNamespace/`**" -or - $_.Actions -like '`**' - } - - # Filter Data Action based - $relevantRoles += $roleDefinitions | Where-Object { - $_.DataActions -like "$ProviderNamespace/$ResourceType/*" -or - $_.DataActions -like "$ProviderNamespace/`**" -or - $_.DataActions -like '`**' - } - - $resBicep = [System.Collections.ArrayList]@() - $resArm = [System.Collections.ArrayList]@() - foreach ($role in $relevantRoles | Sort-Object -Property 'Name' -Unique) { - $resBicep += "'{0}': subscriptionResourceId('Microsoft.Authorization/roleDefinitions','{1}')" -f $role.Name, $role.Id - $resArm += "`"{0}`": `"[subscriptionResourceId('Microsoft.Authorization/roleDefinitions','{1}')]`"," -f $role.Name, $role.Id - } - - return @{ - bicepFormat = $resBicep - armFormat = $resArm - onlyRoleDefinitionNames = $relevantRoles.name | Sort-Object - onlyRoleDefinitionIds = $relevantRoles.id - } - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} diff --git a/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 b/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 deleted file mode 100644 index 924a95b43e..0000000000 --- a/utilities/tools/REST2CARML/private/extension/Get-SupportsLock.ps1 +++ /dev/null @@ -1,50 +0,0 @@ -<# -.SYNOPSIS -Check if the given service specification supports resource locks - -.DESCRIPTION -Check if the given service specification supports resource locks - -.PARAMETER UrlPath -Mandatory. The file path to the service specification to check - -.PARAMETER ProvidersToIgnore -Optional. Providers to ignore because they fundamentally don't support locks (e.g. 'Microsoft.Authorization') - -.EXAMPLE -Get-SupportsLock -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' - -Check if the storage service supports locks. -#> -function Get-SupportsLock { - - [CmdletBinding()] - [OutputType('System.Boolean')] - param ( - [Parameter(Mandatory = $true)] - [string] $UrlPath, - - [Parameter(Mandatory = $false)] - [array] $ProvidersToIgnore = @('Microsoft.Authorization') - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - } - - process { - - # If the Specification URI contains any of the namespaces to ignore, no Lock is supported - foreach ($ProviderToIgnore in $ProvidersToIgnore) { - if ($UrlPath.Contains($ProviderToIgnore)) { - return $false - } - } - - return ($UrlPath -split '\/').Count -le 9 - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} diff --git a/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 b/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 deleted file mode 100644 index 1cf6391980..0000000000 --- a/utilities/tools/REST2CARML/private/extension/Get-SupportsPrivateEndpoint.ps1 +++ /dev/null @@ -1,60 +0,0 @@ -<# -.SYNOPSIS -Check if the given service specification supports private endpoints - -.DESCRIPTION -Check if the given service specification supports private endpoints - -.PARAMETER UrlPath -Mandatory. The JSON key path (of the API Specs) to use when determining if private endpoints are supported or not - -.PARAMETER JSONFilePath -Mandatory. The file path to the service specification to check - -.EXAMPLE -Get-SupportsPrivateEndpoint -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' - -Check the Key Vault service specification for any Private Endpoint references -#> -function Get-SupportsPrivateEndpoint { - - [CmdletBinding()] - [OutputType('System.Boolean')] - param ( - [Parameter(Mandatory = $true)] - [string] $UrlPath, - - [Parameter(Mandatory = $true)] - [string] $JSONFilePath - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - } - - process { - $specContent = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable - - # Only consider those paths that - # - contain a reference to private links - # - and in that link reference a resource type (e.g. 'Microsoft.Storage/storageAccounts/privateLink/*') - $relevantPaths = $specContent.paths.Keys | Where-Object { - (($_ -replace '\\', '/') -like '*/privateLinkResources*' -or - ($_ -replace '\\', '/') -like '*/privateEndpointConnections*') -and - $_ -like "$UrlPath/*" -and - $_ -ne $UrlPath - } | Where-Object { - $specContent.paths[$_].keys -contains 'put' - } - - if ($relevantPaths.Count -gt 0) { - return $true - } - - return $false - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} diff --git a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 index 1f49f77633..d5fe88e841 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-DiagnosticModuleData.ps1 @@ -5,9 +5,6 @@ Populate the provided ModuleData with all parameters, variables & resources requ .DESCRIPTION Populate the provided ModuleData with all parameters, variables & resources required for diagnostic settings. -.PARAMETER ProviderNamespace -Mandatory. The ProviderNamespace to fetch the available diagnostic options for. - .PARAMETER ResourceType Mandatory. The ResourceType to fetch the available diagnostic options for. @@ -15,7 +12,7 @@ Mandatory. The ResourceType to fetch the available diagnostic options for. Mandatory. The ModuleData object to populate. .EXAMPLE -Set-DiagnosticModuleData -ProviderNamespace 'Microsoft.KeyVault' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } +Set-DiagnosticModuleData -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } Add the diagnostic module data of the resource type [Microsoft.KeyVault/vaults] to the provided module data object #> @@ -23,12 +20,15 @@ function Set-DiagnosticModuleData { [CmdletBinding()] param ( - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - [Parameter(Mandatory = $true)] [string] $ResourceType, + [Parameter(Mandatory = $false)] + [string[]] $DiagnosticMetricsOptions = @(), + + [Parameter(Mandatory = $false)] + [string[]] $DiagnosticLogsOptions = @(), + [Parameter(Mandatory = $true)] [Hashtable] $ModuleData ) @@ -39,10 +39,16 @@ function Set-DiagnosticModuleData { process { $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] - $diagnosticOptions = Get-DiagnosticOptionsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - if (-not ($diagnosticOptions.Logs -and $diagnosticOptions.Metrics)) { - return + # Type check (in case PowerShell auto-converted the array to a hashtable) + if ($ModuleData.additionalParameters -is [hashtable]) { + $ModuleData.additionalParameters = @($ModuleData.additionalParameters) + } + if ($ModuleData.variables -is [hashtable]) { + $ModuleData.variables = @($ModuleData.variables) + } + if ($ModuleData.resources -is [hashtable]) { + $ModuleData.resources = @($ModuleData.resources) } $ModuleData.additionalParameters += @( @@ -100,6 +106,7 @@ function Set-DiagnosticModuleData { # Metric-specific if ($diagnosticOptions.Metrics) { + # TODO: Clarify: Might need to be always 'All metrics' if any metric exists $ModuleData.additionalParameters += @( @{ @@ -134,15 +141,15 @@ function Set-DiagnosticModuleData { } # Log-specific - if ($diagnosticOptions.Logs) { + if ($DiagnosticLogsOptions) { $ModuleData.additionalParameters += @( @{ name = 'diagnosticLogCategoriesToEnable' type = 'array' description = 'The name of logs that will be streamed.' required = $false - allowedValues = $diagnosticOptions.Logs - default = $diagnosticOptions.Logs + allowedValues = $DiagnosticLogsOptions + default = $DiagnosticLogsOptions } ) $ModuleData.variables += @{ diff --git a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 index bf7f7033d1..58245ae48e 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-LockModuleData.ps1 @@ -5,9 +5,6 @@ Populate the provided ModuleData with all parameters, variables & resources requ .DESCRIPTION Populate the provided ModuleData with all parameters, variables & resources required for locks. -.PARAMETER UrlPath -Mandatory. The JSON key path (of the API Specs) to use when determining if locks are supported or not - .PARAMETER ResourceType Mandatory. The resource type to check if lock are supported. @@ -15,7 +12,7 @@ Mandatory. The resource type to check if lock are supported. Mandatory. The ModuleData object to populate. .EXAMPLE -Set-LockModuleData -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } +Set-LockModuleData -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } Add the lock module data of the resource type [vaults] to the provided module data object #> @@ -23,9 +20,6 @@ function Set-LockModuleData { [CmdletBinding()] param ( - [Parameter(Mandatory = $true)] - [string] $UrlPath, - [Parameter(Mandatory = $true)] [string] $ResourceType, @@ -41,8 +35,12 @@ function Set-LockModuleData { $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] - if (-not (Get-SupportsLock -UrlPath $UrlPath)) { - return + # Type check (in case PowerShell auto-converted the array to a hashtable) + if ($ModuleData.additionalFiles -is [hashtable]) { + $ModuleData.additionalFiles = @($ModuleData.additionalFiles) + } + if ($ModuleData.resources -is [hashtable]) { + $ModuleData.resources = @($ModuleData.resources) } $ModuleData.additionalParameters += @( diff --git a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 index 26769e9011..8f2f2bd61f 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-PrivateEndpointModuleData.ps1 @@ -5,12 +5,6 @@ Populate the provided ModuleData with all parameters, variables & resources requ .DESCRIPTION Populate the provided ModuleData with all parameters, variables & resources required for private endpoints. -.PARAMETER UrlPath -Mandatory. The JSON key path (of the API Specs) to use when determining if private endpoints are supported or not - -.PARAMETER JSONFilePath -Mandatory. The path to the API Specs file to use to check if private endpoints are supported. - .PARAMETER ResourceType Mandatory. The resource type to check if private endpoints are supported. @@ -18,7 +12,7 @@ Mandatory. The resource type to check if private endpoints are supported. Mandatory. The ModuleData object to populate. .EXAMPLE -Set-PrivateEndpointModuleData -JSONFilePath './resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}' +Set-PrivateEndpointModuleData -ResourceType 'vaults' -ModuleData @{ parameters = @(...); resources = @(...); (...) } Add the private endpoint module data of the resource type [vaults] to the provided module data object #> @@ -26,12 +20,6 @@ function Set-PrivateEndpointModuleData { [CmdletBinding()] param ( - [Parameter(Mandatory = $true)] - [string] $UrlPath, - - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - [Parameter(Mandatory = $true)] [string] $ResourceType, @@ -47,10 +35,15 @@ function Set-PrivateEndpointModuleData { $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] - if (-not (Get-SupportsPrivateEndpoint -JSONFilePath $JSONFilePath -UrlPath $UrlPath)) { - return + # Type check (in case PowerShell auto-converted the array to a hashtable) + if ($ModuleData.additionalParameters -is [hashtable]) { + $ModuleData.additionalParameters = @($ModuleData.additionalParameters) + } + if ($ModuleData.modules -is [hashtable]) { + $ModuleData.modules = @($ModuleData.modules) } + # Built result $ModuleData.additionalParameters += @( @{ name = 'privateEndpoints' diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 106f0fd537..9d4da97783 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -29,6 +29,9 @@ function Set-RoleAssignmentsModuleData { [Parameter(Mandatory = $true)] [string] $ProviderNamespace, + [Parameter(Mandatory = $true)] + [object[]] $RelevantRoles = @(), + [Parameter(Mandatory = $true)] [string] $ResourceType, @@ -47,6 +50,17 @@ function Set-RoleAssignmentsModuleData { $resourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $resourceType) -split '/')[-1] + # Type check (in case PowerShell auto-converted the array to a hashtable) + if ($ModuleData.modules -is [hashtable]) { + $ModuleData.modules = @($ModuleData.modules) + } + if ($ModuleData.additionalFiles -is [hashtable]) { + $ModuleData.additionalFiles = @($ModuleData.additionalFiles) + } + if ($ModuleData.additionalParameters -is [hashtable]) { + $ModuleData.additionalParameters = @($ModuleData.additionalParameters) + } + # Tokens to replace in files $tokens = @{ providerNamespace = $ProviderNamespace @@ -55,10 +69,14 @@ function Set-RoleAssignmentsModuleData { apiVersion = $ServiceApiVersion } - $roleAssignmentList = Get-RoleAssignmentsList -ProviderNamespace $ProviderNamespace -ResourceType $ResourceType - - if (-not $roleAssignmentList.bicepFormat) { + # Format roles + if ($RelevantRoles.count -eq 0) { return + } else { + $roleAssignmentList = [System.Collections.ArrayList]@() + foreach ($role in $RelevantRoles | Sort-Object -Property 'Name' -Unique) { + $roleAssignmentList += "{0}: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','{1}')" -f ($role.Name -match '\s+' ? ("'{0}'" -f $role.Name) : $role.Name), $role.Id + } } $ModuleData.additionalParameters += @( @@ -101,7 +119,7 @@ function Set-RoleAssignmentsModuleData { $preRolesContent = ($fileContent -split '<>')[0].Trim() -split '\n' | ForEach-Object { $_.TrimEnd() } $postRolesContent = ($fileContent -split '<>')[1].Trim() -split '\n' | ForEach-Object { $_.TrimEnd() } ## Add roles - $fileContent = $preRolesContent.TrimEnd() + ($roleAssignmentList.bicepFormat | ForEach-Object { " $_" }) + $postRolesContent + $fileContent = $preRolesContent.TrimEnd() + ($roleAssignmentList | ForEach-Object { " $_" }) + $postRolesContent # Set content $roleTemplateFilePath = Join-Path '.bicep' 'nested_roleAssignments.bicep' diff --git a/utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 b/utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 index c53a51af28..20cb20752a 100644 --- a/utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-LinkedChildModuleList.ps1 @@ -1,4 +1,22 @@ -function Get-LinkedChildModuleList { +<# +.SYNOPSIS +Collect all children which are linked to the provided resource type (direct, or indirect with a proxy) + +.DESCRIPTION +Collect all children which are linked to the provided resource type (direct, or indirect with a proxy) + +.PARAMETER FullResourceType +Mandatory. The Resource Type to search the linked child-modules for + +.PARAMETER FullModuleData +Mandatory. The Module Data to search for child-modules in + +.EXAMPLE +Get-LinkedChildModuleList -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices' -FullModuleData @(@{ parameters = @(...); resource = @(...); (...) }, @{...}) + +Get all children for resource type 'Microsoft.Storage/storageAccounts/blobServices' +#> +function Get-LinkedChildModuleList { [CmdletBinding()] param ( @@ -6,7 +24,7 @@ [string] $FullResourceType, [Parameter(Mandatory = $true)] - [array] $FullModuleData + [hashtable] $FullModuleData ) begin { @@ -14,29 +32,28 @@ } process { + $linkedChildren = @{} + # Collect child-resource information - $linkedChildren = $fullmoduleData | Where-Object { + $fullmoduleData.Keys | Where-Object { # Is nested - $_.identifier -like "$FullResourceType/*" -and + $_ -like "$FullResourceType/*" -and # Is direct child - (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 1) + (($_ -split '/').Count -eq (($FullResourceType -split '/').Count + 1) ) - } + } | ForEach-Object { $linkedChildren[$_] = $fullmoduleData[$_] } + ## Add indirect child (via proxy resource) (i.e. it's a nested-nested resources who's parent has no individual specification/JSONFilePath). # TODO: Is that always true? What if the data is specified in one file? - $indirectChildren = $FullModuleData | Where-Object { + $FullModuleData.Keys | Where-Object { # Is nested - $_.identifier -like "$FullResourceType/*" -and + $_ -like "$FullResourceType/*" -and # Is indirect child - (($_.identifier -split '/').Count -eq (($FullResourceType -split '/').Count + 2)) + (($_ -split '/').Count -eq (($FullResourceType -split '/').Count + 2)) } | Where-Object { # If the child's parent's parentUrlPath is empty, this parent has no PUT rest command which indicates it cannot be created independently - [String]::IsNullOrEmpty($_.metadata.parentUrlPath) - } - - if ($indirectChildren) { - $linkedChildren += $indirectChildren - } + [String]::IsNullOrEmpty($fullModuleData[$_].metadata.parentUrlPath) + } | ForEach-Object { $linkedChildren[$_] = $fullmoduleData[$_] } return $linkedChildren } diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 index 23d5c82c06..2a30e80091 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateChildModuleContent.ps1 @@ -99,7 +99,7 @@ function Get-TemplateChildModuleContent { [string] $ResourceTypeSingular = ((Get-ResourceTypeSingularName -ResourceType $ResourceType) -split '/')[-1], [Parameter(Mandatory = $false)] - [array] $LinkedChildren = @(), + [hashtable] $LinkedChildren = @{}, [Parameter(Mandatory = $true)] [array] $ModuleData, @@ -125,12 +125,13 @@ function Get-TemplateChildModuleContent { ##################################### $templateContent = @() - foreach ($dataBlock in ($linkedChildren | Sort-Object -Property 'identifier')) { - $childResourceType = ($dataBlock.identifier -split '/')[-1] + foreach ($childIdentifier in ($linkedChildren.Keys | Sort-Object)) { + $dataBlock = $LinkedChildren[$childIdentifier] + $childResourceType = ($childIdentifier -split '/')[-1] $hasProxyParent = [String]::IsNullOrEmpty($dataBlock.metadata.parentUrlPath) if ($hasProxyParent) { - $proxyParentName = Split-Path (Split-Path $dataBlock.identifier -Parent) -Leaf + $proxyParentName = Split-Path (Split-Path $childIdentifier -Parent) -Leaf } $moduleName = '{0}{1}_{2}' -f ($hasProxyParent ? "$($proxyParentName)_" : ''), $resourceTypeSingular, $childResourceType diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 index 12a843ee56..cb080ee2cb 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 @@ -130,7 +130,7 @@ function Get-TemplateDeploymentsContent { [array] $ModuleData, [Parameter(Mandatory = $true)] - [array] $FullModuleData, + [hashtable] $FullModuleData, [Parameter(Mandatory = $false)] [array] $ParentResourceTypes = @(), @@ -139,7 +139,7 @@ function Get-TemplateDeploymentsContent { [array] $ExistingTemplateContent = @(), [Parameter(Mandatory = $false)] - [array] $LinkedChildren = @() + [hashtable] $LinkedChildren = @{} ) begin { @@ -188,7 +188,7 @@ function Get-TemplateDeploymentsContent { foreach ($parentResourceType in $orderedParentResourceTypes) { $singularParent = ((Get-ResourceTypeSingularName -ResourceType $parentResourceType) -split '/')[-1] $levedParentResourceType = ($parentResourceType -ne (@() + $orderedParentResourceTypes)[0]) ? (Split-Path $parentResourceType -Leaf) : $parentResourceType - $parentJSONPath = ($FullModuleData | Where-Object { $_.identifier -eq $parentResourceType }).Metadata.JSONFilePath + $parentJSONPath = ($FullModuleData[$parentResourceType]).Metadata.JSONFilePath if ([String]::IsNullOrEmpty($parentJSONPath)) { # Case: A child who's parent resource does not exist (i.e., is a proxy). In this case we use the current API paths as a fallback @@ -288,7 +288,7 @@ function Get-TemplateDeploymentsContent { ModuleData = $ModuleData LocationParameterExists = $LocationParameterExists } - if ($LinkedChildren.Count -gt 0) { + if ($LinkedChildren.Keys.Count -gt 0) { $childrenInputObject['LinkedChildren'] = $LinkedChildren } if ($ExistingTemplateContent.Count -gt 0) { diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 index df795e1038..d7958b32a5 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 @@ -113,7 +113,7 @@ function Get-TemplateParametersContent { [array] $ModuleData, [Parameter(Mandatory = $true)] - [array] $FullModuleData, + [hashtable] $FullModuleData, [Parameter(Mandatory = $false)] [array] $ParentResourceTypes = @(), @@ -122,7 +122,7 @@ function Get-TemplateParametersContent { [array] $ExistingTemplateContent = @(), [Parameter(Mandatory = $false)] - [array] $LinkedChildren = @() + [hashtable] $LinkedChildren = @{} ) begin { @@ -135,7 +135,7 @@ function Get-TemplateParametersContent { ##################### # Handle parent proxy, if any - $hasAProxyParent = $FullModuleData.identifier -notContains ((Split-Path $FullResourceType -Parent) -replace '\\', '/') + $hasAProxyParent = $FullModuleData.Keys -notContains ((Split-Path $FullResourceType -Parent) -replace '\\', '/') $parentProxyName = $hasAProxyParent ? ($UrlPath -split '\/')[-3] : '' $proxyParentType = Split-Path (Split-Path $FullResourceType -Parent) -Leaf @@ -170,8 +170,8 @@ function Get-TemplateParametersContent { $parametersToAdd += $ModuleData.additionalParameters # Add child module references - foreach ($dataBlock in ($linkedChildren | Sort-Object -Property 'identifier')) { - $childResourceType = ($dataBlock.identifier -split '/')[-1] + foreach ($childIdentifier in ($linkedChildren.Keys | Sort-Object)) { + $childResourceType = ($childIdentifier -split '/')[-1] $parametersToAdd += @{ level = 0 name = $childResourceType @@ -192,7 +192,6 @@ function Get-TemplateParametersContent { required = $false } - ######################## ## Create Content ## ######################## diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 index 6df2aec519..9c7c130d08 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateVariablesContent.ps1 @@ -86,7 +86,7 @@ function Get-TemplateVariablesContent { } # Add telemetry variable - if ($linkedChildren.Count -gt 0) { + if ($linkedChildren.Keys.Count -gt 0) { if ($existingTemplateContent.variables.name -notcontains 'enableReferencedModulesTelemetry') { $templateContent += @( 'var enableReferencedModulesTelemetry = false' diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index b3d4644210..fa9238d69c 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -36,7 +36,7 @@ function Set-Module { [Hashtable] $ModuleData, [Parameter(Mandatory = $true)] - [array] $FullModuleData, + [hashtable] $FullModuleData, [Parameter(Mandatory = $true)] [string] $JSONFilePath, @@ -49,6 +49,8 @@ function Set-Module { Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) $moduleRootPath = Join-Path $script:repoRoot 'modules' $FullResourceType + $providerNamespace = ($FullResourceType -split '/')[0] + $resourceType = $FullResourceType -replace "$providerNamespace/", '' $templatePath = Join-Path $moduleRootPath 'deploy.bicep' $isTopLevelModule = ($FullResourceType -split '\/').Count -eq 2 @@ -57,6 +59,51 @@ function Set-Module { } process { + ########################################## + ## Collection addtional information ## + ########################################## + + # RBAC + if ($ModuleData.roleAssignmentOptions.Count -gt 0) { + $rbacInputObject = @{ + ProviderNamespace = $ProviderNamespace + RelevantRoles = $ModuleData.roleAssignmentOptions + ResourceType = $ResourceType + ModuleData = $ModuleData + ServiceApiVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf + } + Set-RoleAssignmentsModuleData @rbacInputObject + } + + # Private Endpoints + if ($ModuleData.supportsPrivateEndpoints) { + $endpInputObject = @{ + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-PrivateEndpointModuleData @endpInputObject + } + + # Locks + if ($ModuleData.supportsLocks) { + $lockInputObject = @{ + ResourceType = $ResourceType + ModuleData = $ModuleData + } + Set-LockModuleData @lockInputObject + } + + # Diagnostic Settings + if ($ModuleData.diagnosticMetricsOptions.count -gt 0 -or $ModuleData.diagnosticLogsOptions.count -gt 0) { + $diagInputObject = @{ + ResourceType = $ResourceType + DiagnosticMetricsOptions = $ModuleData.diagnosticMetricsOptions + DiagnosticLogsOptions = $ModuleData.diagnosticLogsOptions + ModuleData = $ModuleData + } + Set-DiagnosticModuleData @diagInputObject + } + ############################# ## Update Support Files # ############################# @@ -75,7 +122,7 @@ function Set-Module { $null = New-Item -Path $versionFilePath -ItemType 'File' -Value $versionFileContent -Force } } else { - Write-Verbose ('Version file [{0}] already exists.' -f ($versionFilePath -replace ($script:repoRoot -replace '\\', '\\'), '')) + Write-Verbose ('Version file [{0}] already exists.' -f ("$providerNamespace{0}" -f ($versionFilePath -split $providerNamespace)[1])) } # Additional files as per API-Specs diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 index 517e1f8d0e..337ccd212f 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTemplate.ps1 @@ -36,7 +36,7 @@ function Set-ModuleTemplate { [array] $ModuleData, [Parameter(Mandatory = $true)] - [array] $FullModuleData, + [hashtable] $FullModuleData, [Parameter(Mandatory = $true)] [string] $JSONFilePath, @@ -103,7 +103,7 @@ function Set-ModuleTemplate { if ($ParentResourceTypes.Count -gt 0) { $parametersInputObject['ParentResourceTypes'] = $ParentResourceTypes } - if ($LinkedChildren.Count -gt 0) { + if ($LinkedChildren.Keys.Count -gt 0) { $parametersInputObject['LinkedChildren'] = $LinkedChildren } $templateContent += Get-TemplateParametersContent @parametersInputObject @@ -151,7 +151,7 @@ function Set-ModuleTemplate { if ($ParentResourceTypes.Count -gt 0) { $resourcesInputObject['ParentResourceTypes'] = $ParentResourceTypes } - if ($LinkedChildren.Count -gt 0) { + if ($LinkedChildren.Keys.Count -gt 0) { $resourcesInputObject['LinkedChildren'] = $LinkedChildren } $templateContent += Get-TemplateDeploymentsContent @resourcesInputObject diff --git a/utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 b/utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 deleted file mode 100644 index 1b60ea3617..0000000000 --- a/utilities/tools/REST2CARML/private/shared/Get-DataUsingCache.ps1 +++ /dev/null @@ -1,37 +0,0 @@ -<# -.SYNOPSIS -Execute the given script block and store its output in a cached value, unless it is already in the cache. Then return its value. - -.DESCRIPTION -Execute the given script block and store its output in a cached value, unless it is already in the cache. Then return its value. - -.PARAMETER Key -Mandatory. The identifier for the cache. Will receive a suffix '_cached'. - -.PARAMETER ScriptBlock -Mandatory. The script block to execute and store the return value of, if no value is found in the cache. - -.EXAMPLE -Get-DataUsingCache -Key 'customCacheTest' -ScriptBlock { (Get-AzResourceGroup).ResourceGroupName } - -Get a value with the name 'customCacheTest' from the cache, unless its not existing. In that case, the script block is executed, a new cache value with identifier 'customCacheTest_cached' with its value is created and the result returned. -#> -function Get-DataUsingCache { - - [cmdletbinding()] - param( - [Parameter(Mandatory = $true)] - [string] $Key, - - [Parameter(Mandatory = $true)] - [ScriptBlock] $ScriptBlock - ) - - if ($cache = Get-Variable -Name ('{0}_cached' -f $key) -Scope 'Global' -ErrorAction 'SilentlyContinue') { - return $cache.Value - } else { - $newValue = & $ScriptBlock - Set-Variable -Name ('{0}_cached' -f $key) -Scope 'Global' -Value $newValue - return $newValue - } -} diff --git a/utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 b/utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 deleted file mode 100644 index ac214ac459..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Copy-CustomRepository.ps1 +++ /dev/null @@ -1,57 +0,0 @@ -<# -.SYNOPSIS -Clone a given repository to a folder by the given name in the module's 'temp' folder - -.DESCRIPTION -Clone a given repository to a folder by the given name in the module's 'temp' folder - -.PARAMETER RepoUrl -Mandatory. The git clone URL of the repository to clone. - -.PARAMETER RepoName -Mandatory. The name of the repository to download - -.EXAMPLE -Copy-CustomRepository -RepoUrl 'https://github.com/Azure/azure-rest-api-specs.git' -RepoName 'azure-rest-api-specs' -#> -function Copy-CustomRepository { - - - [CmdletBinding(SupportsShouldProcess)] - param ( - [Parameter(Mandatory = $true)] - [string] $RepoUrl, - - [Parameter(Mandatory = $true)] - [string] $RepoName - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $initialLocation = (Get-Location).Path - } - - process { - # Clone repository - ## Create temp folder - if (-not (Test-Path $script:temp)) { - $null = New-Item -Path $script:temp -ItemType 'Directory' - } - ## Switch to temp folder - Set-Location $script:temp - - ## Clone repository into temp folder - if (-not (Test-Path (Join-Path $script:temp $repoName))) { - git clone --depth=1 --single-branch --branch=main --filter=tree:0 $repoUrl - } else { - Write-Verbose "Repository [$repoName] already cloned" - } - - Set-Location $initialLocation - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } - -} diff --git a/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 deleted file mode 100644 index 7bef212728..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Get-FolderList.ps1 +++ /dev/null @@ -1,64 +0,0 @@ -<# -.SYNOPSIS -Get a list of all API Spec folders that are relevant for the given Provider Namespace. - -.DESCRIPTION -Get a list of all API Spec folders that are relevant for the given Provider Namespace. - -Paths must contain: -- ProviderNamespace -- Resource-Manager -- Stable or Preview - -Paths must NOT contain -- Examples - -.PARAMETER RootFolder -Mandatory. The root folder to search from (recursively). - -.PARAMETER ProviderNamespace -Mandatory. The ProviderNsmespace to filter for. - -.EXAMPLE -Get-FolderList -RootFolder './temp/azure-rest-api-specs/specification' -ProviderNamespace 'Microsoft.KeyVault' - -Get all folders of the 'Microsoft.KeyVault' provider namespace that exist in the 'specifications' folder -#> -function Get-FolderList { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $RootFolder, - - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace - ) - - $allFolderPaths = (Get-ChildItem -Path $RootFolder -Recurse -Directory).FullName - Write-Verbose ('Fetched all [{0}] folder paths. Filtering...' -f $allFolderPaths.Count) - # Filter - $filteredFolderPaths = $allFolderPaths | Where-Object { - ($_ -replace '\\', '/') -like '*/resource-manager/*' - } - $filteredFilePaths = $filteredFilePaths | Where-Object { - ($_ -replace '\\', '/') -notlike '*/examples/*' - } - $filteredFolderPaths = $filteredFolderPaths | Where-Object { - ($_ -replace '\\', '/') -like "*/$ProviderNamespace/*" - } - $filteredFolderPaths = $filteredFolderPaths | Where-Object { - (($_ -replace '\\', '/') -like '*/stable') -or (($_ -replace '\\', '/') -like '*/preview') - } - - $filteredFolderPaths = $filteredFolderPaths | ForEach-Object { Split-Path -Path $_ -Parent } - $filteredFolderPaths = $filteredFolderPaths | Select-Object -Unique - - if (-not $filteredFolderPaths) { - Write-Warning "No folders found for provider namespace [$ProviderNamespace]" - return $filteredFolderPaths - } - - Write-Verbose ('Filtered down to [{0}] folders.' -f $filteredFolderPaths.Length) - return $filteredFolderPaths | Sort-Object -} diff --git a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 b/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 deleted file mode 100644 index 5440931689..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Get-ServiceSpecPathData.ps1 +++ /dev/null @@ -1,162 +0,0 @@ -<# -.SYNOPSIS -Get the latest API spec file paths & service/url-PUT paths (in file) for a given ProviderNamespace - ResourceType combination. This includes also child-resources. - -.DESCRIPTION -Get the latest API spec file path & service/url-PUT path (in file) for a given ProviderNamespace - ResourceType combination. This includes also child-resources. - -.PARAMETER ProviderNamespace -Mandatory. The provider namespace to query the data for - -.PARAMETER ResourceType -Mandatory. The resource type to query the data for - -.PARAMETER RepositoryPath -Mandatory. The path of the cloned/downloaded API Specs repository - -.PARAMETER IncludePreview -Optional. Set to also consider 'preview' versions for the request. - -.EXAMPLE -Get-ServiceSpecPathData -ProviderNamespace 'Microsoft.Keyvault' -ResourceType 'vaults' -RepositoryPath './temp/azure-rest-api-specs' -IncludePreview - -Get the latest API spec file path & service path for the resource type [Microsoft.KeyVault/vaults] - including the latest preview version (if any). Would return (without the JSON format): -[ - { - "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}", - "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keys.json" - }, - { - "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}", - "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json" - }, - { - "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}", - "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json" - }, - { - "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}", - "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json" - }, - { - "urlPath": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", - "jsonFilePath": "azure-rest-api-specs/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2022-07-01/secrets.json" - } -] -#> -function Get-ServiceSpecPathData { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $ProviderNamespace, - - [Parameter(Mandatory = $true)] - [string] $ResourceType, - - [Parameter(Mandatory = $true)] - [string] $RepositoryPath, - - [Parameter(Mandatory = $false)] - [switch] $IncludePreview - ) - - #find the resource provider folder - $resourceProviderFolders = Get-FolderList -rootFolder (Join-Path $RepositoryPath 'specification') -ProviderNamespace $ProviderNamespace - - $pathData = @() - foreach ($resourceProviderFolder in $resourceProviderFolders) { - Write-Verbose ('Processing Resource provider folder [{0}]' -f $resourceProviderFolder) - $apiVersionFolders = @() - - $stablePath = Join-Path $resourceProviderFolder 'stable' - if (Test-Path -Path $stablePath) { - $apiVersionFolders += (Get-ChildItem -Path $stablePath).FullName - } - if ($IncludePreview) { - # adding preview API versions - $previewPath = Join-Path $resourceProviderFolder 'preview' - if (Test-Path -Path $previewPath) { - $apiVersionFolders += (Get-ChildItem -Path $previewPath).FullName - } - } - - # sorting all API version from the newest to the oldest - $apiVersionFolders = $apiVersionFolders | Sort-Object -Descending - if ($apiVersionFolders.Count -eq 0) { - Write-Warning ('No API folder found in folder [{0}]' -f $resourceProviderFolder) - continue - } - - # Get one unique instance of each file - with 'newer' files taking priority - $specFilePaths = [System.Collections.ArrayList]@() - foreach ($apiVersionFolder in $apiVersionFolders) { - $filePaths = (Get-ChildItem $apiVersionFolder -Filter '*.json').FullName | Where-Object { (Split-Path $_ -Leaf) -notin @('common.json') } - $alreadyIncludedFileNames = $specFilePaths | ForEach-Object { Split-Path $_ -LeafBase } - foreach ($filePath in ($filePaths | Where-Object { (Split-Path $_ -LeafBase) -notin @($alreadyIncludedFileNames) })) { - $specFilePaths += $filePath - } - } - - # Of those paths, get only those that contain a 'put' statement - - foreach ($specFilePath in $specFilePaths) { - - $urlPathsOfFile = (ConvertFrom-Json (Get-Content -Raw -Path $specFilePath) -AsHashtable).paths - $urlPUTPathsInFile = $urlPathsOfFile.Keys | Where-Object { $urlPathsOfFile[$_].Keys -contains 'put' } - - foreach ($urlPUTPath in $urlPUTPathsInFile) { - - # Todo create regex dynamic based on count of '/' in RT - # Build regex based in input - $formattedProviderNamespace = $ProviderNamespace -replace '\.', '\.' - if(($ResourceType -split '/').Count -gt 1) { - # Provided a concatinated resource type like 'vaults/secrets' - $resourceTypeElements = $ResourceType -split '/' - $relevantPathRegex = ".*\/$formattedProviderNamespace\/" - # Add each element and incorporate a theoretical 'name' in the path as it is part of each url (e.g. vaults/{vaultName}/keys/{keyName}) - # '?' is introduced for urls where a hardcoded name (like 'default') is part of it - $relevantPathRegex += $resourceTypeElements -join '\/\{?\w+}?\/' - $relevantPathRegex += '.*' - } else { - $relevantPathRegex = ".*\/{0}\/{1}\/.*" -f $formattedProviderNamespace, $ResourceType - } - - # Filter down to Provider Namespace & Resource Type (or children) - if($urlPUTPath -notmatch $relevantPathRegex) { - Write-Debug "Ignoring Path PUT URL [$urlPUTPath]" - continue - } - - # Populate result - $pathData += @{ - urlPath = $urlPUTPath - jsonFilePath = $specFilePath - } - } - } - } - - # Add parent pointers for later reference - foreach($urlPathBlock in $pathData) { - $pathElements = $urlPathBlock.urlPath -split '/' - $rawparentUrlPath = $pathElements[0..($pathElements.Count-3)] -join '/' - - if($pathElements[-3] -like "Microsoft.*") { - # Top-most element. No parent - $parentUrlPath = '' - } - elseif($rawparentUrlPath -notlike "*}") { - # Special case: Parent has a default value in url (e.g. 'default'). In this case we need to find a match in the other urls - $shortenedRef = $pathElements[0..($pathElements.Count-4)] -join '/' - $formattedRef = [regex]::Escape($shortenedRef) -replace '\/', '\/' - $parentUrlPath = $pathData.urlPath | Where-Object { $_ -match "^$formattedRef\/\{\w+\}$"} - } else { - $parentUrlPath = $rawparentUrlPath - } - - $urlPathBlock['parentUrlPath'] = $parentUrlPath - } - - return $pathData -} \ No newline at end of file diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 deleted file mode 100644 index 5b69df5e1b..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertiesAsParameterList.ps1 +++ /dev/null @@ -1,148 +0,0 @@ -<# -.SYNOPSIS -Extract all parameters from the given API spec parameter root - -.DESCRIPTION -Extract all parameters from the given API spec parameter root (e.g., PUT parameters) - -.PARAMETER JSONFilePath -Mandatory. The service specification file to process. - -.PARAMETER SpecificationData -Mandatory. The source content to crawl for data. - -.PARAMETER RelevantParamRoot -Mandatory. The array of root parameters to process (e.g., PUT parameters). - -.PARAMETER UrlPath -Mandatory. The API Path in the JSON specification file to process - -.PARAMETER ResourceType -Mandatory. The Resource Type to investigate - -.EXAMPLE -Get-SpecsPropertiesAsParameterList -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -RelevantParamRoot @(@{ $ref: "../(...)"}) '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' - -Fetch all parameters (e.g., PUT) from the KeyVault REST path. -#> -function Get-SpecsPropertiesAsParameterList { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - - [Parameter(Mandatory = $true)] - [array] $RelevantParamRoot, - - [Parameter(Mandatory = $true)] - [string] $UrlPath, - - [Parameter(Mandatory = $true)] - [string] $ResourceType - ) - - $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable - $definitions = $specificationData.definitions - $specParameters = $specificationData.parameters - - $templateData = @() - - $matchingPathObjectParametersRef = ($relevantParamRoot | Where-Object { $_.in -eq 'body' }).schema.'$ref' - - if (-not $matchingPathObjectParametersRef) { - # If 'parameters' does not exist (as the API isn't consistent), we try the resource type instead - $matchingPathObjectParametersRef = ($relevantParamRoot | Where-Object { $_.name -eq $ResourceType }).schema.'$ref' - } - if (-not $matchingPathObjectParametersRef) { - # If even that doesn't exist (as the API is even more inconsistent), let's try a 'singular' resource type - $matchingPathObjectParametersRef = ($relevantParamRoot | Where-Object { $_.name -eq ($ResourceType.Substring(0, $ResourceType.Length - 1)) }).schema.'$ref' - } - - if ($matchingPathObjectParametersRef -like '*.*') { - # if the reference directly points to another file - $resolvedParameterRef = Resolve-SpecPropertyReference -JSONFilePath $JSONFilePath -SpecificationData $specificationData -Parameter @{ '$ref' = $matchingPathObjectParametersRef } - - # Overwrite data to process - $specificationData = $resolvedParameterRef.specificationData - $definitions = $specificationData.definitions - $specParameters = $specificationData.parameters - } - - if ([String]::IsNullOrEmpty($matchingPathObjectParametersRef)) { - # If we still cannot find a path with a body - there likely isn't any. Hence we skip - return $templateData - } - - # Get top-most parameters - $outerParameters = $definitions[(Split-Path $matchingPathObjectParametersRef -Leaf)] - - # Handle resource name - # -------------------- - # Note: The name can be specified in different locations like the PUT statement, but also in the spec's 'parameters' object as a reference - # Case: The name in the url is also a parameter of the PUT statement - $pathServiceName = (Split-Path $UrlPath -Leaf) -replace '{|}', '' - if ($relevantParamRoot.name -contains $pathServiceName) { - $param = $relevantParamRoot | Where-Object { $_.name -eq $pathServiceName } - - $parameterObject = @{ - level = 0 - name = 'name' - type = 'string' - description = $param.description - required = $true - } - - $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject - } else { - # Case: The name is a ref in the spec's 'parameters' object. E.g., { "$ref": "#/parameters/BlobServicesName" } - # For this, we need to find the correct ref, as there can be multiple - $nonDefaultParameter = $relevantParamRoot.'$ref' | Where-Object { $_ -like '#/parameters/*' } | Where-Object { $specParameters[(Split-Path $_ -Leaf)].name -eq $pathServiceName } - if ($nonDefaultParameter) { - $param = $specParameters[(Split-Path $nonDefaultParameter -Leaf)] - - $parameterObject = @{ - level = 0 - name = 'name' - type = 'string' - description = $param.description - required = $true - } - - $parameterObject = Set-OptionalParameter -SourceParameterObject $param -TargetObject $parameterObject - } - } - - $templateData += $parameterObject - - # Process outer properties - # ------------------------0 - foreach ($outerParameter in $outerParameters.properties.Keys | Where-Object { $_ -notin @('location') -and -not $outerParameters.properties[$_].readOnly } | Sort-Object) { - $innerParamInputObject = @{ - JSONFilePath = $JSONFilePath - Parameter = $outerParameters.properties[$outerParameter] - SpecificationData = $SpecificationData - Level = 0 - Name = $outerParameter - Parent = '' - RequiredParametersOnLevel = $outerParameters.required - } - $templateData += Get-SpecsPropertyAsParameter @innerParamInputObject - } - - # Special case: Location - # The location parameter is not explicitely documented at this place (even though it should). It is however referenced as 'required' and must be included - if ($outerParameters.required -contains 'location' -or $outerParameters.properties.Keys -contains 'location') { - $parameterObject = @{ - level = 0 - name = 'location' - type = 'string' - description = 'Location for all Resources.' - required = $false - default = ($UrlPath -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*') ? 'resourceGroup().location' : 'deployment().location' - } - $templateData += $parameterObject - } - - return $templateData -} diff --git a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 deleted file mode 100644 index f7e2515af4..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Get-SpecsPropertyAsParameter.ps1 +++ /dev/null @@ -1,237 +0,0 @@ - -<# -.SYNOPSIS -Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property - -.DESCRIPTION -Get the given API Specs property as a flat parameter with its attributes in a list together with any nested & also resolved property - -.PARAMETER JSONFilePath -Mandatory. The path to the API Specs JSON file hosting the data - -.PARAMETER SpecificationData -Mandatory. The specification data contain in the given API Specs file - -.PARAMETER RequiredParametersOnLevel -Optional. A list of required parameters for the current level. If the current parameter is part of that list it will have a 'required' attribute - -.PARAMETER Parameter -Mandatory. The parameter reference of the API Specs file to process - -.PARAMETER Name -Mandatory. The name of the parameter to process - -.PARAMETER Parent -Opional. The parent parameter of the currently process parameter. For example 'properties' for the most properties parameters - and '' (empty) if on root - -.PARAMETER Level -Mandatory. The current 'tab' level. For example, root equals to 0, properties to 1 etc. - -.PARAMETER SkipLevel -Optional. For this parameter, do not create a 'container' parameter, that is, a parameter that just exist to host other parameters. Only required in rare cases where a `ref` only contains further `ref` attributes and no properties. - -.EXAMPLE -Get-SpecsPropertyAsParameter -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -SpecificationData @{ paths = @{(..)}; definititions = @{(..)}; (..) } -RequiredParametersOnLevel @('param1', 'param2') -Parameter @{ '$ref' = (..); description = '..' } -Name 'Param1' -Parent 'Param0' -Level 0 - -Process the given parameter. Converted in JSON the output may look like -[ - { - "required": false, - "Parent": "properties", - "description": "The blob service properties for blob restore policy", - "level": 1, - "name": "restorePolicy", - "type": "object" - }, - { - "required": false, - "Parent": "restorePolicy", - "description": "Blob restore is enabled if set to true.", - "level": 2, - "name": "enabled", - "type": "boolean" - }, - { - "name": "days", - "maxValue": 365, - "type": "integer", - "level": 2, - "required": false, - "description": "how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days.", - "minValue": 1, - "Parent": "restorePolicy" - } -] - -Which is equivalent to the following structure: - - restorePolicy:object - enabled:boolean - days:integer -#> -function Get-SpecsPropertyAsParameter { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - - [Parameter(Mandatory = $true)] - [hashtable] $SpecificationData, - - [Parameter(Mandatory = $false)] - [array] $RequiredParametersOnLevel = @(), - - [Parameter(Mandatory = $true)] - [hashtable] $Parameter, - - [Parameter(Mandatory = $true)] - [string] $Name, - - [Parameter(Mandatory = $false)] - [string] $Parent = '', - - [Parameter(Mandatory = $true)] - [int] $Level, - - [Parameter(Mandatory = $false)] - [boolean] $SkipLevel = $false - ) - - $refObjects = @() - - if ($Parameter.readOnly) { - return @() - } - - if ($Parameter.Keys -contains '$ref') { - # Parameter contains a reference to another specification - $inputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $SpecificationData - Parameter = $Parameter - } - $resolvedReference = Resolve-SpecPropertyReference @inputObject - $parameter = $resolvedReference.parameter - $specificationData = $resolvedReference.SpecificationData - - if ($Parameter.Keys -contains 'properties') { - # Parameter is an object - if (-not $SkipLevel) { - $parameterObject = @{ - level = $Level - name = $Name - type = 'object' - description = $Parameter.description - required = $RequiredParametersOnLevel -contains $Name - Parent = $Parent - } - $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject - } - - foreach ($property in $Parameter['properties'].Keys) { - $recursiveInputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $SpecificationData - Parameter = $Parameter['properties'][$property] - RequiredParametersOnLevel = $RequiredParametersOnLevel - Level = $SkipLevel ? $Level : $Level + 1 - Parent = $Name - Name = $property - } - $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject - } - } else { - $recursiveInputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $SpecificationData - Parameter = $Parameter - RequiredParametersOnLevel = $RequiredParametersOnLevel - Level = $Level - Parent = $Parent - Name = $Name - } - $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject - } - } elseif ($Parameter.Keys -contains 'items') { - # Parameter is an array - if ($Parameter.items.Keys -contains '$ref') { - # Each item is an object/array - $parameterObject = @{ - level = $Level - name = $Name - type = 'array' - description = $Parameter.description - required = $RequiredParametersOnLevel -contains $Name - Parent = $Parent - } - $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject - - $recursiveInputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $SpecificationData - Parameter = $Parameter['items'] - RequiredParametersOnLevel = $RequiredParametersOnLevel - Level = $Level + 1 - Parent = $Name - Name = $property - SkipLevel = $true - } - $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject - } else { - # Each item has a primitive type - $parameterObject = @{ - level = $Level - name = $Name - type = 'array' - description = $Parameter.description - required = $RequiredParametersOnLevel -contains $Name - Parent = $Parent - } - $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject - - } - } elseif ($parameter.Keys -contains 'properties') { - # The case if a definition reference should have been created, but the RP implemented it another way. - # Example "TableServiceProperties": { "properties": { "properties": { "properties": { "cors": {...}}}}} - $parameterObject = @{ - level = $Level - name = $Name - type = 'object' - description = $Parameter.description - required = $RequiredParametersOnLevel -contains $Name - Parent = $Parent - } - $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject - - foreach ($property in $Parameter['properties'].Keys) { - $recursiveInputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $SpecificationData - Parameter = $Parameter['properties'][$property] - RequiredParametersOnLevel = $RequiredParametersOnLevel - Level = $SkipLevel ? $Level : $Level + 1 - Parent = $Name - Name = $property - } - $refObjects += Get-SpecsPropertyAsParameter @recursiveInputObject - } - } else { - # Parameter is a 'simple' leaf - that is, not an object/array and does not reference any other specification - if ($parameter.readOnly) { - return @() - } - - $parameterObject = @{ - level = $Level - name = $Name - type = $Parameter.keys -contains 'type' ? $Parameter.type : 'object' - description = $Parameter.description - required = $RequiredParametersOnLevel -contains $Name - Parent = $Parent - } - $refObjects += Set-OptionalParameter -SourceParameterObject $Parameter -TargetObject $parameterObject - } - - return $refObjects -} diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 deleted file mode 100644 index 9c335c0351..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Resolve-ModuleData.ps1 +++ /dev/null @@ -1,126 +0,0 @@ -<# -.SYNOPSIS -Extract the outer (top-level) and inner (property-level) parameters for a given API Path - -.DESCRIPTION -Extract the outer (top-level) and inner (property-level) parameters for a given API Path - -.PARAMETER JSONFilePath -Mandatory. The service specification file to process. - -.PARAMETER UrlPath -Mandatory. The API Path in the JSON specification file to process - -.PARAMETER ResourceType -Mandatory. The Resource Type to investigate - -.EXAMPLE -Resolve-ModuleData -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -UrlPath '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' -ResourceType 'vaults' - -Process the API path '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}' in file 'keyvault.json' -#> -function Resolve-ModuleData { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - - [Parameter(Mandatory = $true)] - [string] $UrlPath, - - [Parameter(Mandatory = $true)] - [string] $ResourceType - ) - - # Output object - $templateData = [System.Collections.ArrayList]@() - - ##################################### - ## Collect primary module data ## - ##################################### - $specificationData = Get-Content -Path $JSONFilePath -Raw | ConvertFrom-Json -AsHashtable - - # Get PUT parameters - $putParametersInputObject = @{ - JSONFilePath = $JSONFilePath - RelevantParamRoot = $specificationData.paths[$UrlPath].put.parameters - UrlPath = $UrlPath - ResourceType = $ResourceType - } - $templateData += Get-SpecsPropertiesAsParameterList @putParametersInputObject - - # Get PATCH parameters (as the REST command actually always is Create or Update) - if ($specificationData.paths[$UrlPath].patch) { - $putParametersInputObject = @{ - JSONFilePath = $JSONFilePath - RelevantParamRoot = $specificationData.paths[$UrlPath].patch.parameters - UrlPath = $UrlPath - ResourceType = $ResourceType - } - $templateData += Get-SpecsPropertiesAsParameterList @putParametersInputObject - } - - # Filter duplicates introduced by overlaps of PUT & PATCH - $filteredList = @() - foreach ($property in $templateData) { - if (($filteredList | Where-Object { $_.level -eq $property.level -and $_.name -eq $property.name -and $_.parent -eq $property.parent }).Count -eq 0) { - $filteredList += $property - } - } - - $moduleData = @{ - parameters = $filteredList - additionalParameters = @() - resources = @() - modules = @() - variables = @() - outputs = @() - additionalFiles = @() - } - - ################################# - ## Collect additional data ## - ################################# - - # Set diagnostic data - $diagInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - ModuleData = $ModuleData - } - Set-DiagnosticModuleData @diagInputObject - - # Set Endpoint data - $endpInputObject = @{ - UrlPath = $UrlPath - JSONFilePath = $JSONFilePath - ResourceType = $ResourceType - ModuleData = $ModuleData - } - Set-PrivateEndpointModuleData @endpInputObject - - ## Set RBAC data - $rbacInputObject = @{ - ProviderNamespace = $ProviderNamespace - ResourceType = $ResourceType - ModuleData = $ModuleData - ServiceApiVersion = Split-Path (Split-Path $JSONFilePath -Parent) -Leaf - } - Set-RoleAssignmentsModuleData @rbacInputObject - - ## Set Locks data - $lockInputObject = @{ - UrlPath = $UrlPath - ResourceType = $ResourceType - ModuleData = $ModuleData - } - Set-LockModuleData @lockInputObject - - # Check if there can be mutliple instances of the current Resource Type. - # For example, this is 'true' for Resource Type 'Microsoft.Storage/storageAccounts/blobServices/containers', and 'false' for Resource Type 'Microsoft.Storage/storageAccounts/blobServices' - $listUrlPath = (Split-Path $UrlPath -Parent) -replace '\\', '/' - $moduleData['isSingleton'] = $specificationData.paths[$listUrlPath].get.Keys -notcontains 'x-ms-pageable' - - return $moduleData -} diff --git a/utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 b/utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 deleted file mode 100644 index 55e400671b..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Resolve-SpecPropertyReference.ps1 +++ /dev/null @@ -1,89 +0,0 @@ -<# -.SYNOPSIS -Recursively resolve the given API Specs Parameter until it is no '$ref' to another parameter anymore - -.DESCRIPTION -Recursively resolve the given API Specs Parameter until it is no '$ref' to another parameter anymore. Returns both the resolved parameter as well as the 'Specification'-Data it is hosted in (as it could be a different file). - -.PARAMETER JSONFilePath -Mandatory. The service specification file to process. - -.PARAMETER SpecificationData -Mandatory. The specification data contain in the given API Specs file - -.PARAMETER Parameter -Mandatory. The parameter reference of the API Specs file to process - -.EXAMPLE -Resolve-SpecPropertyReference -JSONFilePath '(...)/resource-manager/Microsoft.KeyVault/stable/2022-07-01/keyvault.json' -SpecificationData @{ paths = @{(..)}; definititions = @{(..)}; (..) } -Parameter @{ '$ref' = (..); description = '..' } - -Resolve the given parameter. -#> -function Resolve-SpecPropertyReference { - - param( - [Parameter(Mandatory = $true)] - [string] $JSONFilePath, - - [Parameter()] - [hashtable] $SpecificationData, - - [Parameter()] - [hashtable] $Parameter - ) - - - $specDefinitions = $specificationData.definitions - $specParameters = $specificationData.parameters - - if ($Parameter.Keys -contains '$ref') { - - switch ($Parameter.'$ref') { - { $PSItem -like '#/definitions/*' } { - $refObject = $specDefinitions[(Split-Path $Parameter.'$ref' -Leaf)] - - $inputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $SpecificationData - Parameter = $refObject - } - return Resolve-SpecPropertyReference @inputObject - } - { $PSItem -like '#/parameters/*' } { - throw "Parameter references not handled yet." - - $refObject = $specParameters[(Split-Path $Parameter.'$ref' -Leaf)] - - if ($refObject.readOnly) { - break - } - - $inputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $SpecificationData - Parameter = $refObject - } - return Resolve-SpecPropertyReference @inputObject - } - { $PSItem -like '*.*' } { - # FilePath - $filePath = Resolve-Path (Join-Path (Split-Path $JSONFilePath -Parent) ($Parameter.'$ref' -split '#')[0]) - $fileContent = Get-Content -Path $filePath | ConvertFrom-Json -AsHashtable -` $identifier = Split-Path $Parameter.'$ref' -Leaf - - $inputObject = @{ - JSONFilePath = $JSONFilePath - SpecificationData = $fileContent - Parameter = $fileContent.definitions[$identifier] - } - return Resolve-SpecPropertyReference @inputObject - } - } - } - else { - return @{ - parameter = $Parameter - specificationData = $SpecificationData - } - } -} \ No newline at end of file diff --git a/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 b/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 deleted file mode 100644 index 28ba9a654c..0000000000 --- a/utilities/tools/REST2CARML/private/specs/Set-OptionalParameter.ps1 +++ /dev/null @@ -1,88 +0,0 @@ -<# -.SYNOPSIS -Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' - -.DESCRIPTION -Add any optional property to the given 'TargetObject' if it exists in the given 'SourceObject' - -.PARAMETER SourceParameterObject -Mandatory. The source object to fetch the properties from - -.PARAMETER TargetObject -Mandatory. The target object to add the optional parameters to - -.EXAMPLE -Set-OptionalParameter -SourceParameterObject @{ minLength = 3; allowedValues = @('default') } -TargetObject @{ name = 'sampleObject' } - -Add any optional parameter defined in the given source object to the given target object. In this case, both the 'minLength' & 'allowedValues' properties would be added. In addition, the property 'default' is added, as the 'allowedValues' specify only one possible value. -#> -function Set-OptionalParameter { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [hashtable] $SourceParameterObject, - - [Parameter(Mandatory = $true)] - [hashtable] $TargetObject - ) - - # Allowed values - if ($SourceParameterObject.Keys -contains 'enum') { - $TargetObject['allowedValues'] = $SourceParameterObject.enum - - if ($SourceParameterObject.enum.count -eq 1) { - $TargetObject['default'] = $SourceParameterObject.enum[0] - } - } - - # Min Length - if ($SourceParameterObject.Keys -contains 'minLength') { - $TargetObject['minLength'] = $SourceParameterObject.minLength - } - - # Max Length - if ($SourceParameterObject.Keys -contains 'maxLength') { - $TargetObject['maxLength'] = $SourceParameterObject.maxLength - } - - # Min - if ($SourceParameterObject.Keys -contains 'minimum') { - $TargetObject['minValue'] = $SourceParameterObject.minimum - } - - # Max - if ($SourceParameterObject.Keys -contains 'maximum') { - $TargetObject['maxValue'] = $SourceParameterObject.maximum - } - - # Default value - if ($SourceParameterObject.Keys -contains 'default') { - $TargetObject['default'] = $SourceParameterObject.default - } elseif ($TargetObject.Required -eq $false) { - # If no default is specified, but we know the value is optional, we can set it as per its type - switch ($TargetObject.Type) { - 'object' { $TargetObject['default'] = @{} } - 'array' { $TargetObject['default'] = @() } - 'boolean' { $TargetObject['default'] = '' } # Unkown - 'number' { $TargetObject['default'] = '' } # Unkown - 'integer' { $TargetObject['default'] = '' } # Unkown - 'string' { $TargetObject['default'] = '' } - Default { - throw ('Missing type handling for type [{0}]' -f $TargetObject.Type) - } - } - } - - # Pattern - if ($SourceParameterObject.Keys -contains 'pattern') { - $TargetObject['pattern'] = $SourceParameterObject.pattern - } - - # Secure - if ($SourceParameterObject.Keys -contains 'x-ms-secret') { - $TargetObject['secure'] = $SourceParameterObject.'x-ms-secret' - } - - return $TargetObject -} diff --git a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 b/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 deleted file mode 100644 index 5fff644202..0000000000 --- a/utilities/tools/REST2CARML/public/Get-AzureApiSpecsData.ps1 +++ /dev/null @@ -1,143 +0,0 @@ -<# -.SYNOPSIS -Get module configuration data based on the latest API information available - -.DESCRIPTION -Get module configuration data based on the latest API information available. If you want to use a nested resource type, just concatinate the identifiers like 'storageAccounts/blobServices/containers' - -.PARAMETER FullResourceType -Mandatory. The full resource type including the provider namespace to query the data for (e.g., Microsoft.Storage/storageAccounts) - -.PARAMETER ExcludeChildren -Optional. Don't include child resource types in the result - -.PARAMETER IncludePreview -Optional. Include preview API versions - -.PARAMETER KeepArtifacts -Optional. Skip the removal of downloaded/cloned artifacts (e.g. the API-Specs repository). Useful if you want to run the function multiple times in a row. - -.EXAMPLE -Get-AzureApiSpecsData -FullResourceType 'Microsoft.Keyvault/vaults' - -Get the data for [Microsoft.Keyvault/vaults] - -.EXAMPLE -Get-AzureApiSpecsData -FullResourceType 'Microsoft.AVS/privateClouds' -Verbose -KeepArtifacts - -Get the data for [Microsoft.AVS/privateClouds] and do not delete any downloaded/cloned artifact. - -.EXAMPLE -Get-AzureApiSpecsData -FullResourceType 'Microsoft.Storage/storageAccounts/blobServices/containers' -Verbose -KeepArtifacts - -Get the data for [Microsoft.Storage/storageAccounts/blobServices/containers] and do not delete any downloaded/cloned artifact. -#> -function Get-AzureApiSpecsData { - - [CmdletBinding()] - param ( - [Parameter(Mandatory = $true)] - [string] $FullResourceType, - - [Parameter(Mandatory = $false)] - [switch] $ExcludeChildren, - - [Parameter(Mandatory = $false)] - [switch] $IncludePreview, - - [Parameter(Mandatory = $false)] - [switch] $KeepArtifacts - ) - - begin { - Write-Debug ('{0} entered' -f $MyInvocation.MyCommand) - $providerNamespace = ($FullResourceType -split '/')[0] - $resourceType = $FullResourceType -replace "$providerNamespace/", '' - } - - process { - - ######################################### - ## Temp Clone API Specs Repository ## - ######################################### - $repoUrl = $script:CONFIG.url_CloneRESTAPISpecRepository - $repoName = Split-Path $repoUrl -LeafBase - $repositoryPath = (Join-Path $script:temp $repoName) - - Copy-CustomRepository -RepoUrl $repoUrl -RepoName $repoName - - try { - ############################################## - ## Find relevant Spec-Files & URL Paths ## - ############################################## - $getPathDataInputObject = @{ - ProviderNamespace = $providerNamespace - ResourceType = $resourceType - RepositoryPath = $repositoryPath - IncludePreview = $IncludePreview - } - $pathData = Get-ServiceSpecPathData @getPathDataInputObject - - # Filter Children if desired - if ($ExcludeChildren) { - $pathData = $pathData | Where-Object { [String]::IsNullOrEmpty($_.parentUrlPath) } - } - - ################################################################# - # Iterate through parent & child-paths and extract the data # - ################################################################# - $moduleData = @() - foreach ($pathBlock in $pathData) { - # Calculate simplified identifier - $identifier = ($pathBlock.urlPath -split '\/providers\/')[1] - $identifierElem = $identifier -split '\/' - $identifier = $identifierElem[0] # E.g. Microsoft.Storage - - if ($identifierElem.Count -gt 1) { - # Add the remaining elements (every 2nd as everything in between represents a 'name') - $remainingRelevantElem = $identifierElem[1..($identifierElem.Count)] - for ($index = 0; $index -lt $remainingRelevantElem.Count; $index++) { - if ($index % 2 -eq 0) { - $identifier += ('/{0}' -f $remainingRelevantElem[$index]) - } - } - } - - $resolveInputObject = @{ - JSONFilePath = $pathBlock.jsonFilePath - UrlPath = $pathBlock.urlPath - ResourceType = $identifier -replace "$ProviderNamespace/", '' # Using pathBlock-based identifier to support also child-resources - } - $resolvedParameters = Resolve-ModuleData @resolveInputObject - - # Build result - $moduleData += @{ - data = $resolvedParameters - identifier = $identifier - metadata = @{ - urlPath = $pathBlock.urlPath - jsonFilePath = $pathBlock.jsonFilePath - parentUrlPath = $pathBlock.parentUrlPath - } - } - } - - return $moduleData - - } catch { - throw ($_, $_.ScriptStackTrace) - } finally { - ########################## - ## Remove Artifacts ## - ########################## - if (-not $KeepArtifacts) { - Write-Verbose ('Deleting temp folder [{0}]' -f $script:temp) - $null = Remove-Item $script:temp -Recurse -Force - } - } - } - - end { - Write-Debug ('{0} exited' -f $MyInvocation.MyCommand) - } -} diff --git a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 index 7debd7aa52..a3d7eb7316 100644 --- a/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 +++ b/utilities/tools/REST2CARML/public/Invoke-REST2CARML.ps1 @@ -72,21 +72,21 @@ function Invoke-REST2CARML { IncludePreview = $IncludePreview KeepArtifacts = $KeepArtifacts } - $fullModuleData = Get-AzureApiSpecsData @apiSpecsInputObject + $fullModuleData = Get-AzureAPISpecsData @apiSpecsInputObject ############################ ## Set module content ## ############################ - foreach ($moduleDataBlock in ($fullModuleData | Sort-Object -Property 'Identifier')) { + foreach ($identifier in ($fullModuleData.Keys | Sort-Object)) { # Sort shortest to longest path $moduleTemplateInputObject = @{ - FullResourceType = $moduleDataBlock.identifier - JSONFilePath = $moduleDataBlock.metadata.jsonFilePath - UrlPath = $moduleDataBlock.metadata.urlPath - ModuleData = $moduleDataBlock.data + FullResourceType = $identifier + JSONFilePath = $fullModuleData[$identifier].metadata.jsonFilePath + UrlPath = $fullModuleData[$identifier].metadata.urlPath + ModuleData = $fullModuleData[$identifier].data FullModuleData = $fullModuleData } - if ($PSCmdlet.ShouldProcess(('Module [{0}] files' -f $moduleDataBlock.identifier), 'Create/Update')) { + if ($PSCmdlet.ShouldProcess(('Module [{0}] files' -f $identifier), 'Create/Update')) { Set-Module @moduleTemplateInputObject } } From 43fbbe96b70f145cb2c892f1916fa0b362ca29e5 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 23 Dec 2022 16:39:36 +0100 Subject: [PATCH 116/130] Update of pipeline/workflow yml templates --- .../src/azureDevOpsPipelineTemplateFile.yml | 2 +- .../src/gitHubWorkflowTemplateFile.yml | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml b/utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml index fca91b6c9c..be03db149e 100644 --- a/utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml +++ b/utilities/tools/REST2CARML/src/azureDevOpsPipelineTemplateFile.yml @@ -24,7 +24,7 @@ trigger: - '/modules/<>/<>/*' - '/utilities/pipelines/*' exclude: - - '/utilities/pipelines/dependencies/*' + - '/utilities/pipelines/deploymentRemoval/*' - '/**/*.md' variables: diff --git a/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml b/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml index cad71a3ef1..4e59dba9bc 100644 --- a/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml +++ b/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml @@ -21,7 +21,7 @@ on: - '.github/workflows/ms.<>.<>.yml' - 'modules/<>/<>/**' - 'utilities/pipelines/**' - - '!utilities/pipelines/dependencies/**' + - '!utilities/pipelines/deploymentRemoval/**' - '!*/**/readme.md' env: @@ -34,6 +34,9 @@ env: ARM_TENANT_ID: '${{ secrets.ARM_TENANT_ID }}' TOKEN_NAMEPREFIX: '${{ secrets.TOKEN_NAMEPREFIX }}' +concurrency: + group: ${{ github.workflow }} + jobs: ########################### # Initialize pipeline # @@ -43,7 +46,7 @@ jobs: name: 'Initialize pipeline' steps: - name: 'Checkout' - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: 'Set input parameters to output variables' @@ -57,7 +60,7 @@ jobs: with: modulePath: '${{ env.modulePath }}' outputs: - removeDeployment: ${{ steps.get-workflow-param.outputs.removeDeployment }} + workflowInput: ${{ steps.get-workflow-param.outputs.workflowInput }} moduleTestFilePaths: ${{ steps.get-module-test-file-paths.outputs.moduleTestFilePaths }} ######################### @@ -68,7 +71,7 @@ jobs: name: 'Static validation' steps: - name: 'Checkout' - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set environment variables @@ -93,10 +96,10 @@ jobs: strategy: fail-fast: false matrix: - moduleTestFilePaths: ${{ fromJSON(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} + moduleTestFilePaths: ${{ fromJson(needs.job_initialize_pipeline.outputs.moduleTestFilePaths) }} steps: - name: 'Checkout' - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set environment variables @@ -108,10 +111,9 @@ jobs: with: templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}' location: '${{ env.location }}' - resourceGroupName: '${{ env.resourceGroupName }}' subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}' managementGroupId: '${{ secrets.ARM_MGMTGROUP_ID }}' - removeDeployment: '${{ needs.job_initialize_pipeline.outputs.removeDeployment }}' + removeDeployment: '${{ (fromJson(needs.job_initialize_pipeline.outputs.workflowInput)).removeDeployment }}' ################## # Publishing # @@ -124,7 +126,7 @@ jobs: - job_module_deploy_validation steps: - name: 'Checkout' - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set environment variables From 291fd466e81be469cbe504a9d95543bb074e5a54 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 23 Dec 2022 17:22:55 +0100 Subject: [PATCH 117/130] minor fixes: test file names, roles formatting --- .../private/extension/Set-RoleAssignmentsModuleData.ps1 | 2 +- .../tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 index 9d4da97783..bc2d650a47 100644 --- a/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 +++ b/utilities/tools/REST2CARML/private/extension/Set-RoleAssignmentsModuleData.ps1 @@ -75,7 +75,7 @@ function Set-RoleAssignmentsModuleData { } else { $roleAssignmentList = [System.Collections.ArrayList]@() foreach ($role in $RelevantRoles | Sort-Object -Property 'Name' -Unique) { - $roleAssignmentList += "{0}: subscriptionResourceId('Microsoft.Authorization/roleDefinitions','{1}')" -f ($role.Name -match '\s+' ? ("'{0}'" -f $role.Name) : $role.Name), $role.Id + $roleAssignmentList += "{0}: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '{1}')" -f ($role.Name -match '\s+' ? ("'{0}'" -f $role.Name) : $role.Name), $role.Id } } diff --git a/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 b/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 index efdeac024d..7bdaa392f4 100644 --- a/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-ModuleTestFile.ps1 @@ -31,8 +31,8 @@ function Set-ModuleTestFile { # ------------------- ## .test files @( - (Join-Path $moduleRootPath '.test' 'common' 'deploy.bicep') - (Join-Path $moduleRootPath '.test' 'min' 'deploy.bicep') + (Join-Path $moduleRootPath '.test' 'common' 'deploy.test.bicep') + (Join-Path $moduleRootPath '.test' 'min' 'deploy.test.bicep') ) | ForEach-Object { if (-not (Test-Path $_)) { if ($PSCmdlet.ShouldProcess(('File [{0}]' -f ($_ -replace ($script:repoRoot -replace '\\', '\\'), '')), 'Create')) { From 938f2b308f25bf4bbab69eb17be6fc22ad273b9e Mon Sep 17 00:00:00 2001 From: CARMLPipelinePrincipal Date: Thu, 29 Dec 2022 12:52:05 +0000 Subject: [PATCH 118/130] Push updated API Specs file --- utilities/src/apiSpecsList.json | 109 ++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 41 deletions(-) diff --git a/utilities/src/apiSpecsList.json b/utilities/src/apiSpecsList.json index 29b36e43d4..c2081a675f 100644 --- a/utilities/src/apiSpecsList.json +++ b/utilities/src/apiSpecsList.json @@ -2046,7 +2046,7 @@ ] }, "Microsoft.Cdn": { - "CdnWebApplicationFirewallPolicies": [ + "cdnWebApplicationFirewallPolicies": [ "2019-06-15", "2019-06-15-preview", "2020-03-31", @@ -3017,7 +3017,9 @@ "2022-08-03-preview", "2022-09-01", "2022-09-02-preview", - "2022-10-02-preview" + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" ], "managedClusters/agentPools": [ "2019-02-01", @@ -3060,7 +3062,9 @@ "2022-08-03-preview", "2022-09-01", "2022-09-02-preview", - "2022-10-02-preview" + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" ], "managedClusters/maintenanceConfigurations": [ "2020-12-01", @@ -3089,7 +3093,9 @@ "2022-08-03-preview", "2022-09-01", "2022-09-02-preview", - "2022-10-02-preview" + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" ], "managedClusters/privateEndpointConnections": [ "2020-06-01", @@ -3122,7 +3128,9 @@ "2022-08-03-preview", "2022-09-01", "2022-09-02-preview", - "2022-10-02-preview" + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" ], "managedClusters/trustedAccessRoleBindings": [ "2022-04-02-preview", @@ -3132,7 +3140,8 @@ "2022-08-02-preview", "2022-08-03-preview", "2022-09-02-preview", - "2022-10-02-preview" + "2022-10-02-preview", + "2022-11-02-preview" ], "managedclustersnapshots": [ "2022-02-02-preview", @@ -3144,7 +3153,8 @@ "2022-08-02-preview", "2022-08-03-preview", "2022-09-02-preview", - "2022-10-02-preview" + "2022-10-02-preview", + "2022-11-02-preview" ], "openShiftManagedClusters": [ "2018-09-30-preview", @@ -3174,7 +3184,9 @@ "2022-08-03-preview", "2022-09-01", "2022-09-02-preview", - "2022-10-02-preview" + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" ] }, "Microsoft.CostManagement": { @@ -3729,7 +3741,8 @@ "2022-05-01", "2022-09-01-preview", "2022-10-01-preview", - "2022-11-01-preview" + "2022-11-01-preview", + "2022-12-01" ], "backupVaults/backupInstances": [ "2021-01-01", @@ -3746,7 +3759,8 @@ "2022-05-01", "2022-09-01-preview", "2022-10-01-preview", - "2022-11-01-preview" + "2022-11-01-preview", + "2022-12-01" ], "backupVaults/backupPolicies": [ "2021-01-01", @@ -3763,7 +3777,8 @@ "2022-05-01", "2022-09-01-preview", "2022-10-01-preview", - "2022-11-01-preview" + "2022-11-01-preview", + "2022-12-01" ], "backupVaults/backupResourceGuardProxies": [ "2022-09-01-preview", @@ -3782,7 +3797,8 @@ "2022-05-01", "2022-09-01-preview", "2022-10-01-preview", - "2022-11-01-preview" + "2022-11-01-preview", + "2022-12-01" ] }, "Microsoft.DataShare": { @@ -3882,7 +3898,7 @@ "2018-06-01-privatepreview" ] }, - "Microsoft.DBforMySQL": { + "Microsoft.DBForMySql": { "flexibleServers": [ "2020-07-01-preview", "2020-07-01-privatepreview", @@ -3919,7 +3935,7 @@ "2017-12-01-preview", "2018-06-01-privatepreview" ], - "servers/Administrators": [ + "servers/administrators": [ "2017-12-01", "2017-12-01-preview", "2018-06-01-privatepreview" @@ -5634,7 +5650,8 @@ "2018-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces": [ "2014-09-01", @@ -5644,10 +5661,12 @@ "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/applicationGroups": [ - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/authorizationRules": [ "2014-09-01", @@ -5657,7 +5676,8 @@ "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/disasterRecoveryConfigs": [ "2017-04-01", @@ -5665,7 +5685,8 @@ "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/eventhubs": [ "2014-09-01", @@ -5675,7 +5696,8 @@ "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/eventhubs/authorizationRules": [ "2014-09-01", @@ -5685,7 +5707,8 @@ "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/eventhubs/consumergroups": [ "2014-09-01", @@ -5695,7 +5718,8 @@ "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/ipfilterrules": [ "2018-01-01-preview" @@ -5706,18 +5730,21 @@ "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/privateEndpointConnections": [ "2018-01-01-preview", "2021-01-01-preview", "2021-06-01-preview", "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/schemagroups": [ "2021-11-01", - "2022-01-01-preview" + "2022-01-01-preview", + "2022-10-01-preview" ], "namespaces/virtualnetworkrules": [ "2018-01-01-preview" @@ -6040,7 +6067,7 @@ "2016-05-01" ] }, - "microsoft.insights": { + "Microsoft.Insights": { "actionGroups": [ "2017-04-01", "2018-03-01", @@ -7966,7 +7993,7 @@ "2020-04-01-preview", "2022-07-01" ], - "dnszones": [ + "dnsZones": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -7974,7 +8001,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/A": [ + "dnsZones/A": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -7982,7 +8009,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/AAAA": [ + "dnsZones/AAAA": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -7996,7 +8023,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/CNAME": [ + "dnsZones/CNAME": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -8004,7 +8031,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/MX": [ + "dnsZones/MX": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -8012,7 +8039,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/NS": [ + "dnsZones/NS": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -8020,7 +8047,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/PTR": [ + "dnsZones/PTR": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -8028,7 +8055,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/SOA": [ + "dnsZones/SOA": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -8036,7 +8063,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/SRV": [ + "dnsZones/SRV": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -8044,7 +8071,7 @@ "2018-03-01-preview", "2018-05-01" ], - "dnszones/TXT": [ + "dnsZones/TXT": [ "2015-05-04-preview", "2016-04-01", "2017-09-01", @@ -11218,17 +11245,17 @@ "2018-01-01-preview", "2021-11-01" ], - "namespaces/authorizationRules": [ + "namespaces/AuthorizationRules": [ "2016-07-01", "2017-04-01", "2021-11-01" ], - "namespaces/hybridConnections": [ + "namespaces/HybridConnections": [ "2016-07-01", "2017-04-01", "2021-11-01" ], - "namespaces/hybridConnections/authorizationRules": [ + "namespaces/HybridConnections/authorizationRules": [ "2016-07-01", "2017-04-01", "2021-11-01" @@ -11241,12 +11268,12 @@ "2018-01-01-preview", "2021-11-01" ], - "namespaces/wcfRelays": [ + "namespaces/WcfRelays": [ "2016-07-01", "2017-04-01", "2021-11-01" ], - "namespaces/wcfRelays/authorizationRules": [ + "namespaces/WcfRelays/authorizationRules": [ "2016-07-01", "2017-04-01", "2021-11-01" From d01fbc3f68d9dc6b63e7bbde4d45bb1a808955e0 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Thu, 29 Dec 2022 17:55:30 +0100 Subject: [PATCH 119/130] Update of pipeline/workflow yml templates --- utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml b/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml index 4e59dba9bc..3358fa7147 100644 --- a/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml +++ b/utilities/tools/REST2CARML/src/gitHubWorkflowTemplateFile.yml @@ -145,3 +145,4 @@ jobs: bicepRegistryRGName: '${{ env.bicepRegistryRGName }}' bicepRegistryRgLocation: '${{ env.bicepRegistryRgLocation }}' bicepRegistryDoPublish: '${{ env.bicepRegistryDoPublish }}' + publishLatest: '${{ env.publishLatest }}' From 059e83c15237c197e664394447e6ade55f4bf109 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Thu, 29 Dec 2022 23:02:17 +0100 Subject: [PATCH 120/130] Set-ModuleReadMe: handling empty test files --- utilities/tools/Set-ModuleReadMe.ps1 | 583 ++++++++++++++------------- 1 file changed, 295 insertions(+), 288 deletions(-) diff --git a/utilities/tools/Set-ModuleReadMe.ps1 b/utilities/tools/Set-ModuleReadMe.ps1 index fcf4384711..42d0c74f0c 100644 --- a/utilities/tools/Set-ModuleReadMe.ps1 +++ b/utilities/tools/Set-ModuleReadMe.ps1 @@ -962,331 +962,338 @@ function Set-DeploymentExamplesSection { '

Example {0}: {1}

' -f $pathIndex, $exampleTitle ) - ## ----------------------------------- ## - ## Handle by type (Bicep vs. JSON) ## - ## ----------------------------------- ## - if ((Split-Path $testFilePath -Extension) -eq '.bicep') { - - # ------------------------- # - # Prepare Bicep to JSON # - # ------------------------- # - - # [1/6] Search for the relevant parameter start & end index - $bicepTestStartIndex = ($rawContentArray | Select-String ("^module testDeployment '..\/.*deploy.bicep' = {$") | ForEach-Object { $_.LineNumber - 1 })[0] - - $bicepTestEndIndex = $bicepTestStartIndex - do { - $bicepTestEndIndex++ - } while ($rawContentArray[$bicepTestEndIndex] -ne '}') - - $rawBicepExample = $rawContentArray[$bicepTestStartIndex..$bicepTestEndIndex] - - # [2/6] Replace placeholders - $serviceShort = ([regex]::Match($rawContent, "(?m)^param serviceShort string = '(.+)'\s*$")).Captures.Groups[1].Value - - $rawBicepExampleString = ($rawBicepExample | Out-String) - $rawBicepExampleString = $rawBicepExampleString -replace '\$\{serviceShort\}', $serviceShort - $rawBicepExampleString = $rawBicepExampleString -replace '\$\{namePrefix\}', '' # Replacing with empty to not expose prefix and avoid potential deployment conflicts - $rawBicepExampleString = $rawBicepExampleString -replace '(?m):\s*location\s*$', ': ''''' - - # [3/6] Format header, remove scope property & any empty line - $rawBicepExample = $rawBicepExampleString -split '\n' - $rawBicepExample[0] = "module $resourceType './$FullModuleIdentifier/deploy.bicep' = {" - $rawBicepExample = $rawBicepExample | Where-Object { $_ -notmatch 'scope: *' } | Where-Object { -not [String]::IsNullOrEmpty($_) } - - # [4/6] Extract param block - $rawBicepExampleArray = $rawBicepExample -split '\n' - $moduleDeploymentPropertyIndent = ([regex]::Match($rawBicepExampleArray[1], '^(\s+).*')).Captures.Groups[1].Value.Length - $paramsStartIndex = ($rawBicepExampleArray | Select-String ("^[\s]{$moduleDeploymentPropertyIndent}params:[\s]*\{") | ForEach-Object { $_.LineNumber - 1 })[0] + 1 - if ($rawBicepExampleArray[$paramsStartIndex].Trim() -ne '}') { - # Handle case where param block is empty - $paramsEndIndex = ($rawBicepExampleArray[($paramsStartIndex + 1)..($rawBicepExampleArray.Count)] | Select-String "^[\s]{$moduleDeploymentPropertyIndent}\}" | ForEach-Object { $_.LineNumber - 1 })[0] + $paramsStartIndex - $paramBlock = ($rawBicepExampleArray[$paramsStartIndex..$paramsEndIndex] | Out-String).TrimEnd() - } else { - $paramBlock = '' - $paramsEndIndex = $paramsStartIndex - } - - # [5/6] Convert Bicep parameter block to JSON parameter block to enable processing - $conversionInputObject = @{ - BicepParamBlock = $paramBlock - CurrentFilePath = $testFilePath - } - $paramsInJSONFormat = ConvertTo-FormattedJSONParameterObject @conversionInputObject - - # [6/6] Convert JSON parameters back to Bicep and order & format them - $conversionInputObject = @{ - JSONParameters = $paramsInJSONFormat - RequiredParametersList = $RequiredParametersList - } - $bicepExample = ConvertTo-FormattedBicep @conversionInputObject - - # --------------------- # - # Add Bicep example # - # --------------------- # - if ($addBicep) { - - if ([String]::IsNullOrEmpty($paramBlock)) { + # Checking if the test file is empty (possible for modules freshly generated by REST2CARML) + if ([String]::IsNullOrEmpty($rawContent)) { + Write-Warning ('The test file {0} is empty, skipping the file in the examples section' -f $testFilePath) + } else { + ## ----------------------------------- ## + ## Handle by type (Bicep vs. JSON) ## + ## ----------------------------------- ## + if ((Split-Path $testFilePath -Extension) -eq '.bicep') { + + # ------------------------- # + # Prepare Bicep to JSON # + # ------------------------- # + + # [1/6] Search for the relevant parameter start & end index + $bicepTestStartIndex = ($rawContentArray | Select-String ("^module testDeployment '..\/.*deploy.bicep' = {$") | ForEach-Object { $_.LineNumber - 1 })[0] + + $bicepTestEndIndex = $bicepTestStartIndex + do { + $bicepTestEndIndex++ + } while ($rawContentArray[$bicepTestEndIndex] -ne '}') + + $rawBicepExample = $rawContentArray[$bicepTestStartIndex..$bicepTestEndIndex] + + # [2/6] Replace placeholders + $serviceShort = ([regex]::Match($rawContent, "(?m)^param serviceShort string = '(.+)'\s*$")).Captures.Groups[1].Value + + $rawBicepExampleString = ($rawBicepExample | Out-String) + $rawBicepExampleString = $rawBicepExampleString -replace '\$\{serviceShort\}', $serviceShort + $rawBicepExampleString = $rawBicepExampleString -replace '\$\{namePrefix\}', '' # Replacing with empty to not expose prefix and avoid potential deployment conflicts + $rawBicepExampleString = $rawBicepExampleString -replace '(?m):\s*location\s*$', ': ''''' + + # [3/6] Format header, remove scope property & any empty line + $rawBicepExample = $rawBicepExampleString -split '\n' + $rawBicepExample[0] = "module $resourceType './$FullModuleIdentifier/deploy.bicep' = {" + $rawBicepExample = $rawBicepExample | Where-Object { $_ -notmatch 'scope: *' } | Where-Object { -not [String]::IsNullOrEmpty($_) } + + # [4/6] Extract param block + $rawBicepExampleArray = $rawBicepExample -split '\n' + $moduleDeploymentPropertyIndent = ([regex]::Match($rawBicepExampleArray[1], '^(\s+).*')).Captures.Groups[1].Value.Length + $paramsStartIndex = ($rawBicepExampleArray | Select-String ("^[\s]{$moduleDeploymentPropertyIndent}params:[\s]*\{") | ForEach-Object { $_.LineNumber - 1 })[0] + 1 + if ($rawBicepExampleArray[$paramsStartIndex].Trim() -ne '}') { # Handle case where param block is empty - $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + $rawBicepExample[($paramsEndIndex)..($rawBicepExample.Count)] + $paramsEndIndex = ($rawBicepExampleArray[($paramsStartIndex + 1)..($rawBicepExampleArray.Count)] | Select-String "^[\s]{$moduleDeploymentPropertyIndent}\}" | ForEach-Object { $_.LineNumber - 1 })[0] + $paramsStartIndex + $paramBlock = ($rawBicepExampleArray[$paramsStartIndex..$paramsEndIndex] | Out-String).TrimEnd() } else { - $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + ($bicepExample -split '\n') + $rawBicepExample[($paramsEndIndex + 1)..($rawBicepExample.Count)] + $paramBlock = '' + $paramsEndIndex = $paramsStartIndex } - # Remove any dependsOn as it it test specific - if ($detected = ($formattedBicepExample | Select-String '^\s*dependsOn:\s*\[\s*$' | ForEach-Object { $_.LineNumber - 1 })) { - $dependsOnStartIndex = $detected[0] - - # Find out where the 'dependsOn' ends - $dependsOnEndIndex = $dependsOnStartIndex - do { - $dependsOnEndIndex++ - } while ($formattedBicepExample[$dependsOnEndIndex] -notmatch '^\s*\]\s*$') - - # Cut the 'dependsOn' block out - $formattedBicepExample = $formattedBicepExample[0..($dependsOnStartIndex - 1)] + $formattedBicepExample[($dependsOnEndIndex + 1)..($formattedBicepExample.Count)] + # [5/6] Convert Bicep parameter block to JSON parameter block to enable processing + $conversionInputObject = @{ + BicepParamBlock = $paramBlock + CurrentFilePath = $testFilePath } + $paramsInJSONFormat = ConvertTo-FormattedJSONParameterObject @conversionInputObject - # Build result - $SectionContent += @( - '', - '
' - '' - 'via Bicep module' - '' - '```bicep', - ($formattedBicepExample | ForEach-Object { "$_" }).TrimEnd(), - '```', - '', - '
', - '

' - ) - } - - # -------------------- # - # Add JSON example # - # -------------------- # - if ($addJson) { - - # [1/2] Get all parameters from the parameter object and order them recursively - $orderingInputObject = @{ - ParametersJSON = $paramsInJSONFormat | ConvertTo-Json -Depth 99 + # [6/6] Convert JSON parameters back to Bicep and order & format them + $conversionInputObject = @{ + JSONParameters = $paramsInJSONFormat RequiredParametersList = $RequiredParametersList } - $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject - - # [2/2] Create the final content block - $SectionContent += @( - '', - '

' - '' - 'via JSON Parameter file' - '' - '```json', - $orderedJSONExample.Trim() - '```', - '', - '
', - '

' - ) - } - } else { - # ------------------------- # - # Prepare JSON to Bicep # - # ------------------------- # - - $rawContentHashtable = $rawContent | ConvertFrom-Json -Depth 99 -AsHashtable -NoEnumerate - - # First we need to check if we're dealing with classic JSON-Parameter file, or a deployment test file (which contains resource deployments & parameters) - $isParameterFile = $rawContentHashtable.'$schema' -like '*deploymentParameters*' - if (-not $isParameterFile) { - # Case 1: Uses deployment test file (instead of parameter file). - # [1/4] Need to extract parameters. The target is to get an object which 1:1 represents a classic JSON-Parameter file (aside from KeyVault references) - $testResource = $rawContentHashtable.resources | Where-Object { $_.name -like '*-test-*' } - - # [2/4] Build the full ARM-JSON parameter file - $jsonParameterContent = [ordered]@{ - '$schema' = 'https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#' - contentVersion = '1.0.0.0' - parameters = $testResource.properties.parameters - } - $jsonParameterContent = ($jsonParameterContent | ConvertTo-Json -Depth 99).TrimEnd() - - # [3/4] Remove 'externalResourceReferences' that are generated for Bicep's 'existing' resource references. Removing them will make the file more readable - $jsonParameterContentArray = $jsonParameterContent -split '\n' - foreach ($row in ($jsonParameterContentArray | Where-Object { $_ -like '*reference(extensionResourceId*' })) { - if ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+)\..*\].*"') { - # e.g. "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-diagnosticDependencies', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.logAnalyticsWorkspaceResourceId.value]" - # e.g. "[format('{0}', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-paramNested', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.managedIdentityResourceId.value)]": {} - $expectedValue = $matches[1] - } elseif ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+).*\].*"') { - # e.g. "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policySetDefinitions', format('dep-<>-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" - $expectedValue = $matches[1] + $bicepExample = ConvertTo-FormattedBicep @conversionInputObject + + # --------------------- # + # Add Bicep example # + # --------------------- # + if ($addBicep) { + + if ([String]::IsNullOrEmpty($paramBlock)) { + # Handle case where param block is empty + $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + $rawBicepExample[($paramsEndIndex)..($rawBicepExample.Count)] } else { - throw "Unhandled case [$row] in file [$testFilePath]" + $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + ($bicepExample -split '\n') + $rawBicepExample[($paramsEndIndex + 1)..($rawBicepExample.Count)] } - $toReplaceValue = ([regex]::Match($row, '"(\[.+)"')).Captures.Groups[1].Value + # Remove any dependsOn as it it test specific + if ($detected = ($formattedBicepExample | Select-String '^\s*dependsOn:\s*\[\s*$' | ForEach-Object { $_.LineNumber - 1 })) { + $dependsOnStartIndex = $detected[0] - $jsonParameterContent = $jsonParameterContent.Replace($toReplaceValue, ('<{0}>' -f $expectedValue)) - } + # Find out where the 'dependsOn' ends + $dependsOnEndIndex = $dependsOnStartIndex + do { + $dependsOnEndIndex++ + } while ($formattedBicepExample[$dependsOnEndIndex] -notmatch '^\s*\]\s*$') - # [4/4] Removing template specific functions - $jsonParameterContentArray = $jsonParameterContent -split '\n' - for ($index = 0; $index -lt $jsonParameterContentArray.Count; $index++) { - if ($jsonParameterContentArray[$index] -match '(\s*"value"): "\[.+\]"') { - # e.g. - # "policyAssignmentId": { - # "value": "[extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', format('dep-<>-psa-{0}', parameters('serviceShort')))]" - $prefix = $matches[1] - - $headerIndex = $index - while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { - $headerIndex-- - } + # Cut the 'dependsOn' block out + $formattedBicepExample = $formattedBicepExample[0..($dependsOnStartIndex - 1)] + $formattedBicepExample[($dependsOnEndIndex + 1)..($formattedBicepExample.Count)] + } - $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() - $jsonParameterContentArray[$index] = ('{0}: "<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) - } elseif ($jsonParameterContentArray[$index] -match '(\s*)"([\w]+)": "\[.+\]"') { - # e.g. "name": "[format('{0}01', parameters('serviceShort'))]" - $jsonParameterContentArray[$index] = ('{0}"{1}": "<{1}>"{2}' -f $matches[1], $matches[2], ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) - } elseif ($jsonParameterContentArray[$index] -match '(\s*)"\[.+\]"') { - # -and $jsonParameterContentArray[$index - 1] -like '*"value"*') { - # e.g. - # "policyDefinitionReferenceIds": { - # "value": [ - # "[reference(subscriptionResourceId('Microsoft.Authorization/policySetDefinitions', format('dep-<>-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" - $prefix = $matches[1] - - $headerIndex = $index - while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { - $headerIndex-- - } + # Build result + $SectionContent += @( + '', + '

' + '' + 'via Bicep module' + '' + '```bicep', + ($formattedBicepExample | ForEach-Object { "$_" }).TrimEnd(), + '```', + '', + '
', + '

' + ) + } - $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() + # -------------------- # + # Add JSON example # + # -------------------- # + if ($addJson) { - $jsonParameterContentArray[$index] = ('{0}"<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) + # [1/2] Get all parameters from the parameter object and order them recursively + $orderingInputObject = @{ + ParametersJSON = $paramsInJSONFormat | ConvertTo-Json -Depth 99 + RequiredParametersList = $RequiredParametersList } + $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject + + # [2/2] Create the final content block + $SectionContent += @( + '', + '

' + '' + 'via JSON Parameter file' + '' + '```json', + $orderedJSONExample.Trim() + '```', + '', + '
', + '

' + ) } - $jsonParameterContent = $jsonParameterContentArray | Out-String } else { - # Case 2: Uses ARM-JSON parameter file - $jsonParameterContent = $rawContent.TrimEnd() - } + # ------------------------- # + # Prepare JSON to Bicep # + # ------------------------- # + + $rawContentHashtable = $rawContent | ConvertFrom-Json -Depth 99 -AsHashtable -NoEnumerate + + # First we need to check if we're dealing with classic JSON-Parameter file, or a deployment test file (which contains resource deployments & parameters) + $isParameterFile = $rawContentHashtable.'$schema' -like '*deploymentParameters*' + if (-not $isParameterFile) { + # Case 1: Uses deployment test file (instead of parameter file). + # [1/4] Need to extract parameters. The target is to get an object which 1:1 represents a classic JSON-Parameter file (aside from KeyVault references) + $testResource = $rawContentHashtable.resources | Where-Object { $_.name -like '*-test-*' } + + # [2/4] Build the full ARM-JSON parameter file + $jsonParameterContent = [ordered]@{ + '$schema' = 'https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#' + contentVersion = '1.0.0.0' + parameters = $testResource.properties.parameters + } + $jsonParameterContent = ($jsonParameterContent | ConvertTo-Json -Depth 99).TrimEnd() + + # [3/4] Remove 'externalResourceReferences' that are generated for Bicep's 'existing' resource references. Removing them will make the file more readable + $jsonParameterContentArray = $jsonParameterContent -split '\n' + foreach ($row in ($jsonParameterContentArray | Where-Object { $_ -like '*reference(extensionResourceId*' })) { + if ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+)\..*\].*"') { + # e.g. "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-diagnosticDependencies', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.logAnalyticsWorkspaceResourceId.value]" + # e.g. "[format('{0}', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-paramNested', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.managedIdentityResourceId.value)]": {} + $expectedValue = $matches[1] + } elseif ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+).*\].*"') { + # e.g. "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policySetDefinitions', format('dep-<>-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" + $expectedValue = $matches[1] + } else { + throw "Unhandled case [$row] in file [$testFilePath]" + } + + $toReplaceValue = ([regex]::Match($row, '"(\[.+)"')).Captures.Groups[1].Value - # --------------------- # - # Add Bicep example # - # --------------------- # - if ($addBicep) { - - # [1/5] Get all parameters from the parameter object - $JSONParametersHashTable = (ConvertFrom-Json $jsonParameterContent -AsHashtable -Depth 99).parameters - - # [2/5] Handle the special case of Key Vault secret references (that have a 'reference' instead of a 'value' property) - # [2.1] Find all references and split them into managable objects - $keyVaultReferences = $JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' } - - if ($keyVaultReferences.Count -gt 0) { - $keyVaultReferenceData = @() - foreach ($reference in $keyVaultReferences) { - $resourceIdElem = $JSONParametersHashTable[$reference].reference.keyVault.id -split '/' - $keyVaultReferenceData += @{ - subscriptionId = $resourceIdElem[2] - resourceGroupName = $resourceIdElem[4] - vaultName = $resourceIdElem[-1] - secretName = $JSONParametersHashTable[$reference].reference.secretName - parameterName = $reference + $jsonParameterContent = $jsonParameterContent.Replace($toReplaceValue, ('<{0}>' -f $expectedValue)) + } + + # [4/4] Removing template specific functions + $jsonParameterContentArray = $jsonParameterContent -split '\n' + for ($index = 0; $index -lt $jsonParameterContentArray.Count; $index++) { + if ($jsonParameterContentArray[$index] -match '(\s*"value"): "\[.+\]"') { + # e.g. + # "policyAssignmentId": { + # "value": "[extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', format('dep-<>-psa-{0}', parameters('serviceShort')))]" + $prefix = $matches[1] + + $headerIndex = $index + while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { + $headerIndex-- + } + + $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() + $jsonParameterContentArray[$index] = ('{0}: "<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) + } elseif ($jsonParameterContentArray[$index] -match '(\s*)"([\w]+)": "\[.+\]"') { + # e.g. "name": "[format('{0}01', parameters('serviceShort'))]" + $jsonParameterContentArray[$index] = ('{0}"{1}": "<{1}>"{2}' -f $matches[1], $matches[2], ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) + } elseif ($jsonParameterContentArray[$index] -match '(\s*)"\[.+\]"') { + # -and $jsonParameterContentArray[$index - 1] -like '*"value"*') { + # e.g. + # "policyDefinitionReferenceIds": { + # "value": [ + # "[reference(subscriptionResourceId('Microsoft.Authorization/policySetDefinitions', format('dep-<>-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" + $prefix = $matches[1] + + $headerIndex = $index + while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { + $headerIndex-- + } + + $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() + + $jsonParameterContentArray[$index] = ('{0}"<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) } } + $jsonParameterContent = $jsonParameterContentArray | Out-String + } else { + # Case 2: Uses ARM-JSON parameter file + $jsonParameterContent = $rawContent.TrimEnd() } - # [2.2] Remove any duplicates from the referenced key vaults and build 'existing' Key Vault references in Bicep format from them. - # Also, add a link to the corresponding Key Vault 'resource' to each identified Key Vault secret reference - $extendedKeyVaultReferences = @() - $counter = 0 - foreach ($reference in ($keyVaultReferenceData | Sort-Object -Property 'vaultName' -Unique)) { - $counter++ - $extendedKeyVaultReferences += @( - "resource kv$counter 'Microsoft.KeyVault/vaults@2019-09-01' existing = {", + # --------------------- # + # Add Bicep example # + # --------------------- # + if ($addBicep) { + + # [1/5] Get all parameters from the parameter object + $JSONParametersHashTable = (ConvertFrom-Json $jsonParameterContent -AsHashtable -Depth 99).parameters + + # [2/5] Handle the special case of Key Vault secret references (that have a 'reference' instead of a 'value' property) + # [2.1] Find all references and split them into managable objects + $keyVaultReferences = $JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' } + + if ($keyVaultReferences.Count -gt 0) { + $keyVaultReferenceData = @() + foreach ($reference in $keyVaultReferences) { + $resourceIdElem = $JSONParametersHashTable[$reference].reference.keyVault.id -split '/' + $keyVaultReferenceData += @{ + subscriptionId = $resourceIdElem[2] + resourceGroupName = $resourceIdElem[4] + vaultName = $resourceIdElem[-1] + secretName = $JSONParametersHashTable[$reference].reference.secretName + parameterName = $reference + } + } + } + + # [2.2] Remove any duplicates from the referenced key vaults and build 'existing' Key Vault references in Bicep format from them. + # Also, add a link to the corresponding Key Vault 'resource' to each identified Key Vault secret reference + $extendedKeyVaultReferences = @() + $counter = 0 + foreach ($reference in ($keyVaultReferenceData | Sort-Object -Property 'vaultName' -Unique)) { + $counter++ + $extendedKeyVaultReferences += @( + "resource kv$counter 'Microsoft.KeyVault/vaults@2019-09-01' existing = {", (" name: '{0}'" -f $reference.vaultName), (" scope: resourceGroup('{0}','{1}')" -f $reference.subscriptionId, $reference.resourceGroupName), - '}', - '' - ) + '}', + '' + ) - # Add attribute for later correct reference - $keyVaultReferenceData | Where-Object { $_.vaultName -eq $reference.vaultName } | ForEach-Object { - $_['vaultResourceReference'] = "kv$counter" + # Add attribute for later correct reference + $keyVaultReferenceData | Where-Object { $_.vaultName -eq $reference.vaultName } | ForEach-Object { + $_['vaultResourceReference'] = "kv$counter" + } } - } - # [3/5] Replace all 'references' with the link to one of the 'existing' Key Vault resources - foreach ($parameterName in ($JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' })) { - $matchingTuple = $keyVaultReferenceData | Where-Object { $_.parameterName -eq $parameterName } - $JSONParametersHashTable[$parameterName] = "{0}.getSecret('{1}')" -f $matchingTuple.vaultResourceReference, $matchingTuple.secretName - } + # [3/5] Replace all 'references' with the link to one of the 'existing' Key Vault resources + foreach ($parameterName in ($JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' })) { + $matchingTuple = $keyVaultReferenceData | Where-Object { $_.parameterName -eq $parameterName } + $JSONParametersHashTable[$parameterName] = "{0}.getSecret('{1}')" -f $matchingTuple.vaultResourceReference, $matchingTuple.secretName + } - # [4/5] Convert the JSON parameters to a Bicep parameters block - $conversionInputObject = @{ - JSONParameters = $JSONParametersHashTable - RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + # [4/5] Convert the JSON parameters to a Bicep parameters block + $conversionInputObject = @{ + JSONParameters = $JSONParametersHashTable + RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + } + $bicepExample = ConvertTo-FormattedBicep @conversionInputObject + + # [5/5] Create the final content block: That means + # - the 'existing' Key Vault resources + # - a 'module' header that mimics a module deployment + # - all parameters in Bicep format + $SectionContent += @( + '', + '

' + '' + 'via Bicep module' + '' + '```bicep', + $extendedKeyVaultReferences, + "module $resourceType 'ts/modules:$(($FullModuleIdentifier -replace '\\|\/', '.').ToLower()):1.0.0 = {" + " name: '`${uniqueString(deployment().name)}-$resourceTypeUpper'" + ' params: {' + $bicepExample.TrimEnd(), + ' }' + '}' + '```', + '', + '
' + '

' + ) } - $bicepExample = ConvertTo-FormattedBicep @conversionInputObject - - # [5/5] Create the final content block: That means - # - the 'existing' Key Vault resources - # - a 'module' header that mimics a module deployment - # - all parameters in Bicep format - $SectionContent += @( - '', - '

' - '' - 'via Bicep module' - '' - '```bicep', - $extendedKeyVaultReferences, - "module $resourceType 'ts/modules:$(($FullModuleIdentifier -replace '\\|\/', '.').ToLower()):1.0.0 = {" - " name: '`${uniqueString(deployment().name)}-$resourceTypeUpper'" - ' params: {' - $bicepExample.TrimEnd(), - ' }' - '}' - '```', - '', - '
' - '

' - ) - } - # -------------------- # - # Add JSON example # - # -------------------- # - if ($addJson) { + # -------------------- # + # Add JSON example # + # -------------------- # + if ($addJson) { - # [1/2] Get all parameters from the parameter object and order them recursively - $orderingInputObject = @{ - ParametersJSON = (($jsonParameterContent | ConvertFrom-Json).parameters | ConvertTo-Json -Depth 99) - RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + # [1/2] Get all parameters from the parameter object and order them recursively + $orderingInputObject = @{ + ParametersJSON = (($jsonParameterContent | ConvertFrom-Json).parameters | ConvertTo-Json -Depth 99) + RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + } + $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject + + # [2/2] Create the final content block + $SectionContent += @( + '', + '

', + '', + 'via JSON Parameter file', + '', + '```json', + $orderedJSONExample.TrimEnd(), + '```', + '', + '
' + '

' + ) } - $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject - - # [2/2] Create the final content block - $SectionContent += @( - '', - '

', - '', - 'via JSON Parameter file', - '', - '```json', - $orderedJSONExample.TrimEnd(), - '```', - '', - '
' - '

' - ) } } + + $SectionContent += @( '' ) From a5107f4a6e4086d731813283c31e6c4907b32493 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 30 Dec 2022 18:20:10 +0100 Subject: [PATCH 121/130] Fixing double defaultTelemetry issue --- .../private/module/Get-TemplateDeploymentsContent.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 index cb080ee2cb..0b2ecd7b2b 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 @@ -258,7 +258,7 @@ function Get-TemplateDeploymentsContent { # - Existing parent resources (as they are regenerated above anyways) if ($existingTemplateContent.resources.count -gt 0) { $preExistingExtraResources = $existingTemplateContent.resources | Where-Object { - $_.name -notIn $ModuleData.resources.name + @('defaultTelemetry') + @($resourceTypeSingular) -and $_.content[0] -notlike '* existing = {' + $_.name -notIn @($ModuleData.resources.name) + @('defaultTelemetry') + @($resourceTypeSingular) -and $_.content[0] -notlike '* existing = {' } foreach ($resource in $preExistingExtraResources) { $templateContent += $resource.content From f4b0360db4ff54e2ffd618edf61cfe96c9f2102a Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 30 Dec 2022 20:26:06 +0100 Subject: [PATCH 122/130] making resource's properties parameter conditional --- .../module/Get-TemplateDeploymentsContent.ps1 | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 index 0b2ecd7b2b..3e091e6f03 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateDeploymentsContent.ps1 @@ -179,7 +179,11 @@ function Get-TemplateDeploymentsContent { $telemetryTemplate = $telemetryTemplate -replace ', location', '' } $templateContent += $telemetryTemplate - $templateContent += '' + + # Add a space in between the new section and the previous one in case no space exists + if (-not [String]::IsNullOrEmpty($templateContent[-1])) { + $templateContent += '' + } # Add 'existing' parents (if any) # ------------------------------- @@ -212,7 +216,11 @@ function Get-TemplateDeploymentsContent { $existingResourceIndent -= 4 $templateContent += "$(' ' * $existingResourceIndent)}" } - $templateContent += '' + + # Add a space in between the new section and the previous one in case no space exists + if (-not [String]::IsNullOrEmpty($templateContent[-1])) { + $templateContent += '' + } # Add primary resource # -------------------- @@ -234,18 +242,20 @@ function Get-TemplateDeploymentsContent { } } - $templateContent += ' properties: {' - foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' } | Sort-Object -Property 'name')) { - if ($matchingExistingResource.nestedElements.name -notcontains $parameter.name) { - $templateContent += ' {0}: {0}' -f $parameter.name - } else { - $existingProperty = $matchingExistingResource.nestedElements | Where-Object { $_.name -eq $parameter.name } - $templateContent += $existingProperty.content + if (($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' }).Count -gt 0) { + $templateContent += ' properties: {' + foreach ($parameter in ($ModuleData.parameters | Where-Object { $_.level -eq 1 -and $_.Parent -eq 'properties' } | Sort-Object -Property 'name')) { + if ($matchingExistingResource.nestedElements.name -notcontains $parameter.name) { + $templateContent += ' {0}: {0}' -f $parameter.name + } else { + $existingProperty = $matchingExistingResource.nestedElements | Where-Object { $_.name -eq $parameter.name } + $templateContent += $existingProperty.content + } } + $templateContent += ' }' } $templateContent += @( - ' }' '}' '' ) From 937ec024fbf68b8898f565862498e7771a92c7b2 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 30 Dec 2022 22:03:02 +0100 Subject: [PATCH 123/130] Fixing missing and wrong location output --- .../REST2CARML/private/module/Get-TemplateOutputContent.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 index 0957fe2774..40295f460b 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateOutputContent.ps1 @@ -129,13 +129,13 @@ function Get-TemplateOutputContent { } # If the main resource has a location property, an output should be returned too - if ($ModuleData.parametersToAdd.name -contains 'location' -and $ModuleData.parametersToAdd['location'].defaultValue -ne 'global') { + if ($ModuleData.parameters.name -contains 'location' -and $ModuleData.parameters['location'].defaultValue -ne 'global') { $defaultOutputs += @{ name = 'location' type = 'string' content = @( "@description('The location the resource was deployed into.')" - '{0}.location' -f $resourceTypeSingular + 'output location string = {0}.location' -f $resourceTypeSingular ) } } From b1e31fa0f6638db7110ae71155879fdaae258f4e Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 30 Dec 2022 22:05:13 +0100 Subject: [PATCH 124/130] Fixing last line diffs in additional files on create and update --- utilities/tools/REST2CARML/private/module/Set-Module.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 index fa9238d69c..31ba896d02 100644 --- a/utilities/tools/REST2CARML/private/module/Set-Module.ps1 +++ b/utilities/tools/REST2CARML/private/module/Set-Module.ps1 @@ -134,7 +134,7 @@ function Set-Module { } } else { if ($PSCmdlet.ShouldProcess(('File [{0}].' -f (Split-Path $supportFilePath -Leaf)), 'Update')) { - $null = Set-Content -Path $supportFilePath -Value $fileDefinition.fileContent + $null = Set-Content -Path $supportFilePath -Value $fileDefinition.fileContent -NoNewline # -NoNewLine added to achieve the same behavior on file creation and update } } } From cdab7ff61cc26dd61c97afd1c70a9d74deb59fa1 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Fri, 30 Dec 2022 22:32:23 +0100 Subject: [PATCH 125/130] Fixing Get-TargetScope --- .../tools/REST2CARML/private/shared/Get-TargetScope.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 index 03c2845458..42d575a7ce 100644 --- a/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 +++ b/utilities/tools/REST2CARML/private/shared/Get-TargetScope.ps1 @@ -24,9 +24,9 @@ function Get-TargetScope { switch ($UrlPath) { { $PSItem -like '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/*' } { return 'resourceGroup' } { $PSItem -like '/subscriptions/{subscriptionId}/*' } { return 'subscription' } - { $PSItem -like 'providers/Microsoft.Management/managementGroups/*' } { return 'managementGroup' } - } - Default { - throw 'Unable to detect target scope' + { $PSItem -like '/providers/Microsoft.Management/managementGroups/*' } { return 'managementGroup' } + Default { + throw 'Unable to detect target scope' + } } } From 13bc30026cd0a90d673c48d88934881dc89e89a1 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Sat, 31 Dec 2022 00:18:50 +0100 Subject: [PATCH 126/130] Fixing double child parameter issue --- .../module/Get-TemplateParametersContent.ps1 | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 b/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 index d7958b32a5..7487d6a80a 100644 --- a/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 +++ b/utilities/tools/REST2CARML/private/module/Get-TemplateParametersContent.ps1 @@ -172,13 +172,16 @@ function Get-TemplateParametersContent { # Add child module references foreach ($childIdentifier in ($linkedChildren.Keys | Sort-Object)) { $childResourceType = ($childIdentifier -split '/')[-1] - $parametersToAdd += @{ - level = 0 - name = $childResourceType - type = 'array' - default = @() - description = "The $childResourceType to create as part of the $resourceTypeSingular." - required = $false + # Add only if not already exists in the primary parameters + if (($parametersToAdd | Where-Object { $_.name -eq $childResourceType }).Count -eq 0) { + $parametersToAdd += @{ + level = 0 + name = $childResourceType + type = 'array' + default = @() + description = "The $childResourceType to create as part of the $resourceTypeSingular." + required = $false + } } } From e8e8868d198f5aa3c585e240d01fde6014adb4e2 Mon Sep 17 00:00:00 2001 From: CARMLPipelinePrincipal Date: Fri, 30 Dec 2022 23:28:20 +0000 Subject: [PATCH 127/130] Push updated API Specs file --- utilities/src/apiSpecsList.json | 30486 +++++++++++++++--------------- 1 file changed, 15243 insertions(+), 15243 deletions(-) diff --git a/utilities/src/apiSpecsList.json b/utilities/src/apiSpecsList.json index 6da684d20b..c2081a675f 100644 --- a/utilities/src/apiSpecsList.json +++ b/utilities/src/apiSpecsList.json @@ -1,15245 +1,15245 @@ { - "Microsoft.AAD": { - "domainServices": [ - "2017-01-01", - "2017-06-01", - "2020-01-01", - "2021-03-01", - "2021-05-01", - "2022-09-01", - "2022-12-01" - ], - "domainServices/ouContainer": [ - "2017-06-01", - "2020-01-01", - "2021-03-01", - "2021-05-01", - "2022-09-01", - "2022-12-01" - ] - }, - "microsoft.aadiam": { - "azureADMetrics": [ - "2020-07-01-preview" - ], - "diagnosticSettings": [ - "2017-04-01", - "2017-04-01-preview" - ], - "privateLinkForAzureAd": [ - "2020-03-01", - "2020-03-01-preview" - ], - "privateLinkForAzureAd/privateEndpointConnections": [ - "2020-03-01" - ] - }, - "Microsoft.Addons": { - "supportProviders/supportPlanTypes": [ - "2017-05-15", - "2018-03-01" - ] - }, - "Microsoft.Advisor": { - "configurations": [ - "2017-04-19", - "2020-01-01", - "2022-09-01" - ], - "recommendations/suppressions": [ - "2016-07-12-preview", - "2017-03-31", - "2017-04-19", - "2020-01-01", - "2022-09-01" - ] - }, - "Microsoft.AgFoodPlatform": { - "farmBeats": [ - "2020-05-12-preview", - "2021-09-01-preview" - ], - "farmBeats/extensions": [ - "2020-05-12-preview", - "2021-09-01-preview" - ], - "farmBeats/privateEndpointConnections": [ - "2021-09-01-preview" - ], - "farmBeats/solutions": [ - "2021-09-01-preview" - ] - }, - "Microsoft.AlertsManagement": { - "actionRules": [ - "2018-11-02-privatepreview", - "2019-05-05-preview", - "2021-08-08", - "2021-08-08-preview" - ], - "prometheusRuleGroups": [ - "2021-07-22-preview" - ], - "smartDetectorAlertRules": [ - "2019-03-01", - "2019-06-01", - "2021-04-01" - ] - }, - "Microsoft.AnalysisServices": { - "servers": [ - "2016-05-16", - "2017-07-14", - "2017-08-01", - "2017-08-01-beta" - ] - }, - "Microsoft.ApiManagement": { - "service": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/api-version-sets": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview" - ], - "service/apis": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/diagnostics": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/diagnostics/loggers": [ - "2017-03-01", - "2018-01-01" - ], - "service/apis/issues": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/issues/attachments": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/issues/comments": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/operations": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/operations/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/operations/policy": [ - "2016-10-10" - ], - "service/apis/operations/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/policy": [ - "2016-10-10" - ], - "service/apis/releases": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/schemas": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/tagDescriptions": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apis/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/apiVersionSets": [ - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/authorizationProviders": [ - "2022-04-01-preview" - ], - "service/authorizationProviders/authorizations": [ - "2022-04-01-preview" - ], - "service/authorizationProviders/authorizations/accessPolicies": [ - "2022-04-01-preview" - ], - "service/authorizationServers": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/backends": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/caches": [ - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/certificates": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/contentTypes": [ - "2019-12-01", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/contentTypes/contentItems": [ - "2019-12-01", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/diagnostics": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/diagnostics/loggers": [ - "2017-03-01", - "2018-01-01" - ], - "service/gateways": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/gateways/apis": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/gateways/certificateAuthorities": [ - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/gateways/hostnameConfigurations": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/groups": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/groups/users": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/identityProviders": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/loggers": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/namedValues": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/notifications": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/notifications/recipientEmails": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/notifications/recipientUsers": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/openidConnectProviders": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/policyFragments": [ - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/portalconfigs": [ - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/portalRevisions": [ - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/portalsettings": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/products": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/products/apis": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/products/groups": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/products/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/products/policy": [ - "2016-10-10" - ], - "service/products/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/properties": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01" - ], - "service/schemas": [ - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/subscriptions": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/templates": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/tenant": [ - "2016-10-10", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ], - "service/users": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview" - ] - }, - "Microsoft.App": { - "connectedEnvironments": [ - "2022-06-01-preview", - "2022-10-01" - ], - "connectedEnvironments/certificates": [ - "2022-06-01-preview", - "2022-10-01" - ], - "connectedEnvironments/daprComponents": [ - "2022-06-01-preview", - "2022-10-01" - ], - "connectedEnvironments/storages": [ - "2022-06-01-preview", - "2022-10-01" - ], - "containerApps": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01" - ], - "containerApps/authConfigs": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01" - ], - "containerApps/sourcecontrols": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01" - ], - "managedEnvironments": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01" - ], - "managedEnvironments/certificates": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01" - ], - "managedEnvironments/daprComponents": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01" - ], - "managedEnvironments/storages": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01" - ] - }, - "Microsoft.AppComplianceAutomation": { - "reports": [ - "2022-11-16-preview" - ] - }, - "Microsoft.AppConfiguration": { - "configurationStores": [ - "2019-02-01-preview", - "2019-10-01", - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01" - ], - "configurationStores/keyValues": [ - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01" - ], - "configurationStores/privateEndpointConnections": [ - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01" - ], - "configurationStores/replicas": [ - "2022-03-01-preview" - ] - }, - "Microsoft.AppPlatform": { - "Spring": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/apiPortals": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/apiPortals/domains": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/applicationAccelerators": [ - "2022-11-01-preview" - ], - "Spring/applicationAccelerators/customizedAccelerators": [ - "2022-11-01-preview" - ], - "Spring/applicationLiveViews": [ - "2022-11-01-preview" - ], - "Spring/apps": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/apps/bindings": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/apps/deployments": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/apps/domains": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/buildServices/agentPools": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/buildServices/builders": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/buildServices/builders/buildpackBindings": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/buildServices/builds": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/certificates": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/configServers": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/configurationServices": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/DevToolPortals": [ - "2022-11-01-preview" - ], - "Spring/gateways": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/gateways/domains": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/gateways/routeConfigs": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/monitoringSettings": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/serviceRegistries": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "Spring/storages": [ - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01" - ] - }, - "Microsoft.Attestation": { - "attestationProviders": [ - "2018-09-01-preview", - "2020-10-01", - "2021-06-01-preview" - ], - "attestationProviders/privateEndpointConnections": [ - "2020-10-01", - "2021-06-01-preview" - ] - }, - "Microsoft.Authorization": { - "accessReviewHistoryDefinitions": [ - "2021-11-16-preview", - "2021-12-01-preview" - ], - "accessReviewScheduleDefinitions": [ - "2018-05-01-preview", - "2021-03-01-preview", - "2021-07-01-preview", - "2021-11-16-preview", - "2021-12-01-preview" - ], - "accessReviewScheduleDefinitions/instances": [ - "2021-07-01-preview", - "2021-11-16-preview", - "2021-12-01-preview" - ], - "accessReviewScheduleSettings": [ - "2018-05-01-preview", - "2021-03-01-preview", - "2021-07-01-preview", - "2021-11-16-preview", - "2021-12-01-preview" - ], - "locks": [ - "2015-01-01", - "2016-09-01", - "2017-04-01", - "2020-05-01" - ], - "policyAssignments": [ - "2015-10-01-preview", - "2015-11-01", - "2016-04-01", - "2016-12-01", - "2017-06-01-preview", - "2018-03-01", - "2018-05-01", - "2019-01-01", - "2019-06-01", - "2019-09-01", - "2020-03-01", - "2020-09-01", - "2021-06-01", - "2022-06-01" - ], - "policydefinitions": [ - "2015-10-01-preview", - "2015-11-01", - "2016-04-01", - "2016-12-01", - "2018-03-01", - "2018-05-01", - "2019-01-01", - "2019-06-01", - "2019-09-01", - "2020-03-01", - "2020-09-01", - "2021-06-01" - ], - "policyExemptions": [ - "2020-07-01-preview", - "2022-07-01-preview" - ], - "policySetDefinitions": [ - "2017-06-01-preview", - "2018-03-01", - "2018-05-01", - "2019-01-01", - "2019-06-01", - "2019-09-01", - "2020-03-01", - "2020-09-01", - "2021-06-01" - ], - "roleAssignmentApprovals/stages": [ - "2021-01-01-preview" - ], - "roleAssignments": [ - "2015-07-01", - "2017-10-01-preview", - "2018-01-01-preview", - "2018-09-01-preview", - "2020-03-01-preview", - "2020-04-01-preview", - "2020-08-01-preview", - "2020-10-01-preview", - "2022-04-01" - ], - "roleAssignmentScheduleRequests": [ - "2020-10-01", - "2020-10-01-preview", - "2022-04-01-preview" - ], - "roleDefinitions": [ - "2015-07-01", - "2018-01-01-preview", - "2022-04-01" - ], - "roleEligibilityScheduleRequests": [ - "2020-10-01", - "2020-10-01-preview", - "2022-04-01-preview" - ], - "roleManagementPolicyAssignments": [ - "2020-10-01", - "2020-10-01-preview" - ], - "variables": [ - "2022-08-01-preview" - ], - "variables/values": [ - "2022-08-01-preview" - ] - }, - "Microsoft.Automanage": { - "accounts": [ - "2020-06-30-preview" - ], - "configurationProfileAssignments": [ - "2020-06-30-preview", - "2021-04-30-preview", - "2022-05-04" - ], - "configurationProfilePreferences": [ - "2020-06-30-preview" - ], - "configurationProfiles": [ - "2021-04-30-preview", - "2022-05-04" - ], - "configurationProfiles/versions": [ - "2021-04-30-preview", - "2022-05-04" - ] - }, - "Microsoft.Automation": { - "automationAccounts": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2021-06-22", - "2022-08-08" - ], - "automationAccounts/certificates": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/compilationjobs": [ - "2015-10-31", - "2018-01-15", - "2019-06-01", - "2020-01-13-preview" - ], - "automationAccounts/configurations": [ - "2015-10-31", - "2019-06-01", - "2022-08-08" - ], - "automationAccounts/connections": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/connectionTypes": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/credentials": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/hybridRunbookWorkerGroups": [ - "2021-06-22", - "2022-02-22", - "2022-08-08" - ], - "automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers": [ - "2021-06-22", - "2022-08-08" - ], - "automationAccounts/jobs": [ - "2015-10-31", - "2017-05-15-preview", - "2019-06-01", - "2022-08-08" - ], - "automationAccounts/jobSchedules": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/modules": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/nodeConfigurations": [ - "2015-10-31", - "2018-01-15", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/privateEndpointConnections": [ - "2020-01-13-preview" - ], - "automationAccounts/python2Packages": [ - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/python3Packages": [ - "2022-08-08" - ], - "automationAccounts/runbooks": [ - "2015-10-31", - "2018-06-30", - "2019-06-01", - "2022-08-08" - ], - "automationAccounts/runbooks/draft": [ - "2015-10-31", - "2018-06-30", - "2019-06-01", - "2022-08-08" - ], - "automationAccounts/schedules": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/softwareUpdateConfigurations": [ - "2017-05-15-preview", - "2019-06-01" - ], - "automationAccounts/sourceControls": [ - "2017-05-15-preview", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/sourceControls/sourceControlSyncJobs": [ - "2017-05-15-preview", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/variables": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/watchers": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview" - ], - "automationAccounts/webhooks": [ - "2015-10-31" - ] - }, - "Microsoft.AutonomousDevelopmentPlatform": { - "accounts": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview" - ], - "accounts/dataPools": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview" - ] - }, - "Microsoft.AVS": { - "privateClouds": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/addons": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/authorizations": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/cloudLinks": [ - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/clusters": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/clusters/datastores": [ - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/clusters/placementPolicies": [ - "2021-12-01", - "2022-05-01" - ], - "privateClouds/globalReachConnections": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/hcxEnterpriseSites": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/scriptExecutions": [ - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/workloadNetworks/dhcpConfigurations": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/workloadNetworks/dnsServices": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/workloadNetworks/dnsZones": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/workloadNetworks/portMirroringProfiles": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/workloadNetworks/publicIPs": [ - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/workloadNetworks/segments": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ], - "privateClouds/workloadNetworks/vmGroups": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01" - ] - }, - "Microsoft.AzureActiveDirectory": { - "b2cDirectories": [ - "2019-01-01-preview", - "2021-04-01" - ], - "guestUsages": [ - "2020-05-01-preview", - "2021-04-01" - ] - }, - "Microsoft.AzureArcData": { - "dataControllers": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview" - ], - "dataControllers/activeDirectoryConnectors": [ - "2022-03-01-preview", - "2022-06-15-preview" - ], - "postgresInstances": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2022-03-01-preview", - "2022-06-15-preview" - ], - "sqlManagedInstances": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview" - ], - "sqlServerInstances": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview" - ], - "sqlServerInstances/databases": [ - "2022-06-15-preview" - ] - }, - "Microsoft.AzureBridge.Admin": { - "activations": [ - "2016-01-01" - ], - "activations/downloadedProducts": [ - "2016-01-01" - ] - }, - "Microsoft.AzureData": { - "sqlServerRegistrations": [ - "2017-03-01-preview", - "2019-07-24-preview" - ], - "sqlServerRegistrations/sqlServers": [ - "2017-03-01-preview", - "2019-07-24-preview" - ] - }, - "Microsoft.AzureStack": { - "linkedSubscriptions": [ - "2020-06-01-preview" - ], - "registrations": [ - "2016-01-01", - "2017-06-01", - "2020-06-01-preview", - "2022-06-01" - ], - "registrations/customerSubscriptions": [ - "2017-06-01", - "2020-06-01-preview", - "2022-06-01" - ] - }, - "Microsoft.AzureStackHCI": { - "clusters": [ - "2020-03-01-preview", - "2020-10-01", - "2021-01-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-10-01", - "2022-12-01" - ], - "clusters/arcSettings": [ - "2021-01-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-10-01", - "2022-12-01" - ], - "clusters/arcSettings/extensions": [ - "2021-01-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-10-01", - "2022-12-01" - ], - "clusters/updates": [ - "2022-12-01" - ], - "clusters/updates/updateRuns": [ - "2022-12-01" - ], - "clusters/updateSummaries": [ - "2022-12-01" - ], - "galleryimages": [ - "2021-07-01-preview", - "2021-09-01-preview" - ], - "marketplacegalleryimages": [ - "2021-09-01-preview" - ], - "networkinterfaces": [ - "2021-07-01-preview", - "2021-09-01-preview" - ], - "storagecontainers": [ - "2021-09-01-preview" - ], - "virtualharddisks": [ - "2021-07-01-preview", - "2021-09-01-preview" - ], - "virtualmachines": [ - "2021-07-01-preview", - "2021-09-01-preview" - ], - "virtualMachines/extensions": [ - "2021-09-01-preview" - ], - "virtualMachines/guestAgents": [ - "2021-09-01-preview" - ], - "virtualMachines/hybridIdentityMetadata": [ - "2021-09-01-preview" - ], - "virtualnetworks": [ - "2021-07-01-preview", - "2021-09-01-preview" - ] - }, - "Microsoft.Backup.Admin": { - "backupLocations": [ - "2018-09-01" - ] - }, - "Microsoft.Batch": { - "batchAccounts": [ - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "batchAccounts/applications": [ - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "batchAccounts/applications/versions": [ - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "batchAccounts/certificates": [ - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "batchAccounts/pools": [ - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ] - }, - "Microsoft.Billing": { - "billingAccounts/billingProfiles": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/instructions": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/invoiceSections": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/policies": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingRoleAssignments": [ - "2019-10-01-preview" - ], - "billingAccounts/billingSubscriptionAliases": [ - "2021-10-01" - ], - "billingAccounts/customers/policies": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/departments/billingRoleAssignments": [ - "2019-10-01-preview" - ], - "billingAccounts/enrollmentAccounts/billingRoleAssignments": [ - "2019-10-01-preview" - ], - "billingAccounts/invoiceSections": [ - "2018-11-01-preview" - ], - "billingAccounts/lineOfCredit": [ - "2018-11-01-preview" - ], - "promotions": [ - "2020-09-01-preview", - "2020-11-01-preview" - ] - }, - "Microsoft.BillingBenefits": { - "reservationOrderAliases": [ - "2022-11-01" - ], - "savingsPlanOrderAliases": [ - "2022-11-01" - ] - }, - "Microsoft.Blockchain": { - "blockchainMembers": [ - "2018-06-01-preview" - ], - "blockchainMembers/transactionNodes": [ - "2018-06-01-preview" - ] - }, - "Microsoft.Blueprint": { - "blueprintAssignments": [ - "2017-11-11-preview", - "2018-11-01-preview" - ], - "blueprints": [ - "2017-11-11-preview", - "2018-11-01-preview" - ], - "blueprints/artifacts": [ - "2017-11-11-preview", - "2018-11-01-preview" - ], - "blueprints/versions": [ - "2017-11-11-preview", - "2018-11-01-preview" - ] - }, - "Microsoft.BotService": { - "botServices": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview" - ], - "botServices/channels": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview" - ], - "botServices/connections": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview" - ], - "botServices/privateEndpointConnections": [ - "2021-05-01-preview", - "2022-06-15-preview" - ], - "enterpriseChannels": [ - "2018-07-12" - ] - }, - "Microsoft.Cache": { - "Redis": [ - "2015-08-01", - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01" - ], - "Redis/firewallRules": [ - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01" - ], - "Redis/linkedServers": [ - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01" - ], - "Redis/patchSchedules": [ - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01" - ], - "redis/privateEndpointConnections": [ - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01" - ], - "redisEnterprise": [ - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01" - ], - "redisEnterprise/databases": [ - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01" - ], - "redisEnterprise/privateEndpointConnections": [ - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01" - ] - }, - "Microsoft.Capacity": { - "autoQuotaIncrease": [ - "2019-07-19" - ], - "reservationOrders": [ - "2019-04-01", - "2020-10-01-preview", - "2021-07-01", - "2022-03-01" - ], - "resourceProviders/locations/serviceLimits": [ - "2019-07-19", - "2020-10-25" - ] - }, - "Microsoft.Cdn": { - "cdnWebApplicationFirewallPolicies": [ - "2019-06-15", - "2019-06-15-preview", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/afdEndpoints": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/afdEndpoints/routes": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/customDomains": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/endpoints": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/endpoints/customDomains": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/endpoints/originGroups": [ - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/endpoints/origins": [ - "2015-06-01", - "2016-04-02", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/originGroups": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/originGroups/origins": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/ruleSets": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/ruleSets/rules": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/secrets": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "profiles/securityPolicies": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ] - }, - "Microsoft.CertificateRegistration": { - "certificateOrders": [ - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "certificateOrders/certificates": [ - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ] - }, - "Microsoft.ChangeAnalysis": { - "profile": [ - "2020-04-01-preview" - ] - }, - "Microsoft.Chaos": { - "experiments": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview" - ], - "targets": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview" - ], - "targets/capabilities": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview" - ] - }, - "Microsoft.CognitiveServices": { - "accounts": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01" - ], - "accounts/commitmentPlans": [ - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01" - ], - "accounts/deployments": [ - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01" - ], - "accounts/privateEndpointConnections": [ - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01" - ], - "commitmentPlans": [ - "2022-12-01" - ], - "commitmentPlans/accountAssociations": [ - "2022-12-01" - ] - }, - "Microsoft.Communication": { - "communicationServices": [ - "2020-08-20", - "2020-08-20-preview", - "2021-10-01-preview", - "2022-07-01-preview" - ], - "emailServices": [ - "2021-10-01-preview", - "2022-07-01-preview" - ], - "emailServices/domains": [ - "2021-10-01-preview", - "2022-07-01-preview" - ] - }, - "Microsoft.Compute": { - "availabilitySets": [ - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "capacityReservationGroups": [ - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "capacityReservationGroups/capacityReservations": [ - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "cloudServices": [ - "2020-10-01-preview", - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "cloudServices/updateDomains": [ - "2020-10-01-preview", - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "diskAccesses": [ - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02" - ], - "diskAccesses/privateEndpointConnections": [ - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02" - ], - "diskEncryptionSets": [ - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02" - ], - "disks": [ - "2016-04-30-preview", - "2017-03-30", - "2018-04-01", - "2018-06-01", - "2018-09-30", - "2019-03-01", - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02" - ], - "galleries": [ - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03" - ], - "galleries/applications": [ - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03" - ], - "galleries/applications/versions": [ - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03" - ], - "galleries/images": [ - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03" - ], - "galleries/images/versions": [ - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03" - ], - "hostGroups": [ - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "hostGroups/hosts": [ - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "images": [ - "2016-04-30-preview", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "proximityPlacementGroups": [ - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "restorePointCollections": [ - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "restorePointCollections/restorePoints": [ - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "snapshots": [ - "2016-04-30-preview", - "2017-03-30", - "2018-04-01", - "2018-06-01", - "2018-09-30", - "2019-03-01", - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02" - ], - "sshPublicKeys": [ - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachines": [ - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachines/extensions": [ - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachines/runCommands": [ - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachineScaleSets": [ - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachineScaleSets/extensions": [ - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachineScaleSets/virtualmachines": [ - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachineScaleSets/virtualMachines/extensions": [ - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ], - "virtualMachineScaleSets/virtualMachines/runCommands": [ - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01" - ] - }, - "Microsoft.Compute.Admin": { - "locations/artifactTypes/publishers/offers/skus/versions": [ - "2015-12-01-preview" - ], - "locations/artifactTypes/publishers/types/versions": [ - "2015-12-01-preview" - ], - "locations/diskmigrationjobs": [ - "2018-07-30-preview", - "2021-04-01", - "2021-09-01" - ], - "locations/quotas": [ - "2015-12-01-preview", - "2018-02-09", - "2021-01-01" - ] - }, - "Microsoft.ConfidentialLedger": { - "ledgers": [ - "2020-12-01-preview", - "2021-05-13-preview", - "2022-05-13", - "2022-09-08-preview" - ], - "managedCCFs": [ - "2022-09-08-preview" - ] - }, - "Microsoft.Confluent": { - "agreements": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01" - ], - "organizations": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01" - ] - }, - "Microsoft.ConnectedVMwarevSphere": { - "clusters": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "datastores": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "hosts": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "resourcePools": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "vcenters": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "vcenters/inventoryItems": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "virtualMachines": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "virtualMachines/extensions": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "virtualMachines/guestAgents": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "virtualMachines/hybridIdentityMetadata": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "virtualMachineTemplates": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ], - "virtualNetworks": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview" - ] - }, - "Microsoft.Consumption": { - "budgets": [ - "2017-12-30-preview", - "2018-01-31", - "2018-03-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-04-01-preview", - "2019-05-01", - "2019-05-01-preview", - "2019-06-01", - "2019-10-01", - "2019-11-01", - "2021-05-01", - "2021-10-01" - ], - "costTags": [ - "2018-03-31", - "2018-06-30" - ] - }, - "Microsoft.ContainerInstance": { - "containerGroups": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-09-01", - "2022-10-01-preview" - ] - }, - "Microsoft.ContainerRegistry": { - "registries": [ - "2016-06-27-preview", - "2017-03-01", - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01" - ], - "registries/agentPools": [ - "2019-06-01-preview" - ], - "registries/buildTasks": [ - "2018-02-01-preview" - ], - "registries/buildTasks/steps": [ - "2018-02-01-preview" - ], - "registries/connectedRegistries": [ - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview" - ], - "registries/exportPipelines": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview" - ], - "registries/importPipelines": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview" - ], - "registries/pipelineRuns": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview" - ], - "registries/privateEndpointConnections": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01" - ], - "registries/replications": [ - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01" - ], - "registries/scopeMaps": [ - "2019-05-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01" - ], - "registries/taskRuns": [ - "2019-06-01-preview" - ], - "registries/tasks": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/tokens": [ - "2019-05-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01" - ], - "registries/webhooks": [ - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01" - ] - }, - "Microsoft.ContainerRegistry.Admin": { - "locations/configurations": [ - "2019-11-01-preview" - ], - "locations/quotas": [ - "2019-11-01-preview" - ] - }, - "Microsoft.ContainerService": { - "containerServices": [ - "2015-11-01-preview", - "2016-03-30", - "2016-09-30", - "2017-01-31", - "2017-07-01" - ], - "fleets": [ - "2022-06-02-preview", - "2022-07-02-preview", - "2022-09-02-preview" - ], - "fleets/members": [ - "2022-06-02-preview", - "2022-07-02-preview", - "2022-09-02-preview" - ], - "managedClusters": [ - "2017-08-31", - "2018-03-31", - "2018-08-01-preview", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview" - ], - "managedClusters/agentPools": [ - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview" - ], - "managedClusters/maintenanceConfigurations": [ - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview" - ], - "managedClusters/privateEndpointConnections": [ - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview" - ], - "managedClusters/trustedAccessRoleBindings": [ - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-02-preview", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-02-preview" - ], - "managedclustersnapshots": [ - "2022-02-02-preview", - "2022-03-02-preview", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-02-preview", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-02-preview" - ], - "openShiftManagedClusters": [ - "2018-09-30-preview", - "2019-04-30", - "2019-09-30", - "2019-10-27-preview" - ], - "snapshots": [ - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview" - ] - }, - "Microsoft.CostManagement": { - "budgets": [ - "2019-04-01-preview" - ], - "cloudConnectors": [ - "2019-03-01-preview" - ], - "connectors": [ - "2018-08-01-preview" - ], - "costAllocationRules": [ - "2020-03-01-preview" - ], - "exports": [ - "2019-01-01", - "2019-09-01", - "2019-10-01", - "2019-11-01", - "2020-06-01", - "2020-12-01-preview", - "2021-01-01", - "2021-10-01", - "2022-10-01" - ], - "externalSubscriptions": [ - "2019-03-01-preview" - ], - "markupRules": [ - "2022-10-05-preview" - ], - "reportconfigs": [ - "2018-05-31" - ], - "reports": [ - "2018-08-01-preview" - ], - "scheduledActions": [ - "2022-04-01-preview", - "2022-06-01-preview", - "2022-10-01" - ], - "settings": [ - "2019-11-01", - "2022-10-01-preview", - "2022-10-05-preview" - ], - "showbackRules": [ - "2019-03-01-preview" - ], - "views": [ - "2019-04-01-preview", - "2019-11-01", - "2020-06-01", - "2021-10-01", - "2022-08-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-10-05-preview" - ] - }, - "Microsoft.CustomerInsights": { - "hubs": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/authorizationPolicies": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/connectors": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/connectors/mappings": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/interactions": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/kpi": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/links": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/predictions": [ - "2017-04-26" - ], - "hubs/profiles": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/relationshipLinks": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/relationships": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/roleAssignments": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/views": [ - "2017-01-01", - "2017-04-26" - ] - }, - "Microsoft.CustomProviders": { - "associations": [ - "2018-09-01-preview" - ], - "resourceProviders": [ - "2018-09-01-preview" - ] - }, - "Microsoft.Dashboard": { - "grafana": [ - "2021-09-01-preview", - "2022-05-01-preview", - "2022-08-01" - ], - "grafana/privateEndpointConnections": [ - "2022-05-01-preview", - "2022-08-01" - ] - }, - "Microsoft.DataBox": { - "jobs": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01" - ] - }, - "Microsoft.DataBoxEdge": { - "dataBoxEdgeDevices": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/bandwidthSchedules": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/diagnosticProactiveLogCollectionSettings": [ - "2021-02-01", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/diagnosticRemoteSupportSettings": [ - "2021-02-01", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/orders": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/roles": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/roles/addons": [ - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/roles/monitoringConfig": [ - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/shares": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/storageAccountCredentials": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/storageAccounts": [ - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/storageAccounts/containers": [ - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/triggers": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ], - "dataBoxEdgeDevices/users": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview" - ] - }, - "Microsoft.Databricks": { - "accessConnectors": [ - "2022-04-01-preview" - ], - "workspaces": [ - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview" - ], - "workspaces/privateEndpointConnections": [ - "2021-04-01-preview", - "2022-04-01-preview" - ], - "workspaces/virtualNetworkPeerings": [ - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview" - ] - }, - "Microsoft.DataCatalog": { - "catalogs": [ - "2016-03-30" - ] - }, - "Microsoft.Datadog": { - "agreements": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01" - ], - "monitors": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01" - ], - "monitors/singleSignOnConfigurations": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01" - ], - "monitors/tagRules": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01" - ] - }, - "Microsoft.DataFactory": { - "factories": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/credentials": [ - "2018-06-01" - ], - "factories/dataflows": [ - "2018-06-01" - ], - "factories/datasets": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/globalParameters": [ - "2018-06-01" - ], - "factories/integrationRuntimes": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/linkedservices": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/managedVirtualNetworks": [ - "2018-06-01" - ], - "factories/managedVirtualNetworks/managedPrivateEndpoints": [ - "2018-06-01" - ], - "factories/pipelines": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/privateEndpointConnections": [ - "2018-06-01" - ], - "factories/triggers": [ - "2017-09-01-preview", - "2018-06-01" - ] - }, - "Microsoft.DataLakeAnalytics": { - "accounts": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/computePolicies": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/dataLakeStoreAccounts": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/firewallRules": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/storageAccounts": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ] - }, - "Microsoft.DataLakeStore": { - "accounts": [ - "2015-10-01-preview", - "2016-11-01" - ], - "accounts/firewallRules": [ - "2015-10-01-preview", - "2016-11-01" - ], - "accounts/trustedIdProviders": [ - "2016-11-01" - ], - "accounts/virtualNetworkRules": [ - "2016-11-01" - ] - }, - "Microsoft.DataMigration": { - "databaseMigrations": [ - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services": [ - "2017-11-15-preview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/projects": [ - "2017-11-15-preview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/projects/files": [ - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/projects/tasks": [ - "2017-11-15-preview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/serviceTasks": [ - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "sqlMigrationServices": [ - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ] - }, - "Microsoft.DataProtection": { - "backupVaults": [ - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "backupVaults/backupInstances": [ - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "backupVaults/backupPolicies": [ - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01" - ], - "backupVaults/backupResourceGuardProxies": [ - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview" - ], - "resourceGuards": [ - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01" - ] - }, - "Microsoft.DataShare": { - "accounts": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares/dataSets": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares/invitations": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares/synchronizationSettings": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shareSubscriptions": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shareSubscriptions/dataSetMappings": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shareSubscriptions/triggers": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ] - }, - "Microsoft.DBforMariaDB": { - "servers": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/configurations": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/databases": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/firewallRules": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/keys": [ - "2020-01-01-privatepreview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01", - "2018-06-01-privatepreview" - ], - "servers/securityAlertPolicies": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/virtualNetworkRules": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ] - }, - "Microsoft.DBForMySql": { - "flexibleServers": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview" - ], - "flexibleServers/administrators": [ - "2021-12-01-preview" - ], - "flexibleServers/backups": [ - "2021-12-01-preview" - ], - "flexibleServers/databases": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview" - ], - "flexibleServers/firewallRules": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview" - ], - "flexibleServers/keys": [ - "2020-07-01-preview", - "2020-07-01-privatepreview" - ], - "servers": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/administrators": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/configurations": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/databases": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/firewallRules": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/keys": [ - "2020-01-01", - "2020-01-01-privatepreview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01", - "2018-06-01-privatepreview" - ], - "servers/securityAlertPolicies": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/virtualNetworkRules": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ] - }, - "Microsoft.DBforPostgreSQL": { - "flexibleServers": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2021-04-10-privatepreview", - "2021-06-01", - "2021-06-01-preview", - "2021-06-15-privatepreview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-12-01" - ], - "flexibleServers/administrators": [ - "2022-03-08-preview", - "2022-12-01" - ], - "flexibleServers/configurations": [ - "2021-06-01", - "2021-06-01-preview", - "2021-06-15-privatepreview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-12-01" - ], - "flexibleServers/databases": [ - "2020-11-05-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-12-01" - ], - "flexibleServers/firewallRules": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2021-04-10-privatepreview", - "2021-06-01", - "2021-06-01-preview", - "2021-06-15-privatepreview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-12-01" - ], - "flexibleServers/keys": [ - "2020-02-14-privatepreview" - ], - "flexibleServers/migrations": [ - "2021-06-15-privatepreview" - ], - "serverGroupsv2": [ - "2020-10-05-privatepreview" - ], - "serverGroupsv2/firewallRules": [ - "2020-10-05-privatepreview" - ], - "serverGroupsv2/roles": [ - "2020-10-05-privatepreview" - ], - "servers": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/administrators": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/configurations": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/databases": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/firewallRules": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/keys": [ - "2020-01-01", - "2020-01-01-privatepreview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01", - "2018-06-01-privatepreview" - ], - "servers/securityAlertPolicies": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/virtualNetworkRules": [ - "2017-12-01", - "2017-12-01-preview" - ] - }, - "Microsoft.DelegatedNetwork": { - "controller": [ - "2020-08-08-preview", - "2021-03-15" - ], - "delegatedSubnets": [ - "2020-08-08-preview", - "2021-03-15" - ], - "orchestrators": [ - "2020-08-08-preview", - "2021-03-15" - ] - }, - "Microsoft.Deployment.Admin": { - "locations/fileContainers": [ - "2018-07-01", - "2019-01-01" - ], - "locations/productPackages": [ - "2018-07-01", - "2019-01-01" - ] - }, - "Microsoft.DeploymentManager": { - "artifactSources": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "rollouts": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "serviceTopologies": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "serviceTopologies/services": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "serviceTopologies/services/serviceUnits": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "steps": [ - "2018-09-01-preview", - "2019-11-01-preview" - ] - }, - "Microsoft.DesktopVirtualization": { - "applicationGroups": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview" - ], - "applicationGroups/applications": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview" - ], - "hostPools": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview" - ], - "hostPools/msixPackages": [ - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview" - ], - "hostPools/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-10-14-preview" - ], - "scalingPlans": [ - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview" - ], - "scalingPlans/pooledSchedules": [ - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview" - ], - "workspaces": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview" - ], - "workspaces/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-10-14-preview" - ] - }, - "Microsoft.DevCenter": { - "devcenters": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "devcenters/attachednetworks": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "devcenters/catalogs": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "devcenters/devboxdefinitions": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "devcenters/environmentTypes": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "devcenters/galleries": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "networkConnections": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "projects": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "projects/environmentTypes": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "projects/pools": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ], - "projects/pools/schedules": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview" - ] - }, - "Microsoft.DevHub": { - "workflows": [ - "2022-04-01-preview" - ] - }, - "Microsoft.Devices": { - "IotHubs": [ - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview" - ], - "IotHubs/certificates": [ - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview" - ], - "IotHubs/eventHubEndpoints/ConsumerGroups": [ - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview" - ], - "iotHubs/privateEndpointConnections": [ - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview" - ], - "provisioningServices": [ - "2017-08-21-preview", - "2017-11-15", - "2018-01-22", - "2020-01-01", - "2020-03-01", - "2020-09-01-preview", - "2021-10-15", - "2022-02-05" - ], - "provisioningServices/certificates": [ - "2017-08-21-preview", - "2017-11-15", - "2018-01-22", - "2020-01-01", - "2020-03-01", - "2020-09-01-preview", - "2021-10-15", - "2022-02-05" - ], - "provisioningServices/privateEndpointConnections": [ - "2020-03-01", - "2020-09-01-preview", - "2021-10-15", - "2022-02-05" - ] - }, - "Microsoft.DeviceUpdate": { - "accounts": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview" - ], - "accounts/instances": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview" - ], - "accounts/privateEndpointConnectionProxies": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview" - ], - "accounts/privateEndpointConnections": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview" - ] - }, - "Microsoft.DevOps": { - "pipelines": [ - "2019-07-01-preview", - "2020-07-13-preview" - ] - }, - "Microsoft.DevSpaces": { - "controllers": [ - "2019-04-01" - ] - }, - "Microsoft.DevTestLab": { - "labs": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/artifactsources": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/costs": [ - "2016-05-15", - "2018-09-15" - ], - "labs/customimages": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/formulas": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/notificationchannels": [ - "2016-05-15", - "2018-09-15" - ], - "labs/policysets/policies": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/schedules": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/servicerunners": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/disks": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/environments": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/secrets": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/servicefabrics": [ - "2018-09-15" - ], - "labs/users/servicefabrics/schedules": [ - "2018-09-15" - ], - "labs/virtualmachines": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/virtualmachines/schedules": [ - "2016-05-15", - "2018-09-15" - ], - "labs/virtualnetworks": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "schedules": [ - "2016-05-15", - "2018-09-15" - ] - }, - "Microsoft.DigitalTwins": { - "digitalTwinsInstances": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31" - ], - "digitalTwinsInstances/endpoints": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31" - ], - "digitalTwinsInstances/privateEndpointConnections": [ - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31" - ], - "digitalTwinsInstances/timeSeriesDatabaseConnections": [ - "2021-06-30-preview", - "2022-05-31", - "2022-10-31" - ] - }, - "Microsoft.DocumentDB": { - "cassandraClusters": [ - "2021-03-01-preview", - "2021-04-01-preview", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "cassandraClusters/dataCenters": [ - "2021-03-01-preview", - "2021-04-01-preview", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/apis/databases": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/collections": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/collections/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/containers": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/containers/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/graphs": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/graphs/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces/tables": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces/tables/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/tables": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/tables/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/cassandraKeyspaces": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/cassandraKeyspaces/tables": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/cassandraKeyspaces/tables/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/cassandraKeyspaces/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/cassandraKeyspaces/views": [ - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview" - ], - "databaseAccounts/cassandraKeyspaces/views/throughputSettings": [ - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview" - ], - "databaseAccounts/dataTransferJobs": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview" - ], - "databaseAccounts/graphs": [ - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview" - ], - "databaseAccounts/gremlinDatabases": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/gremlinDatabases/graphs": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/gremlinDatabases/graphs/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/gremlinDatabases/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/mongodbDatabases": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/mongodbDatabases/collections": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/mongodbDatabases/collections/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/mongodbDatabases/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/mongodbRoleDefinitions": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/mongodbUserDefinitions": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/notebookWorkspaces": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/privateEndpointConnections": [ - "2019-08-01-preview", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/services": [ - "2021-04-01-preview", - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases/clientEncryptionKeys": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases/containers": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases/containers/storedProcedures": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases/containers/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases/containers/triggers": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases/containers/userDefinedFunctions": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlDatabases/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlRoleAssignments": [ - "2020-06-01-preview", - "2021-03-01-preview", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/sqlRoleDefinitions": [ - "2020-06-01-preview", - "2021-03-01-preview", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/tables": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ], - "databaseAccounts/tables/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview" - ] - }, - "Microsoft.DomainRegistration": { - "domains": [ - "2015-04-01", - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "domains/domainOwnershipIdentifiers": [ - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "domains/transferOut": [ - "2021-03-01", - "2022-03-01" - ] - }, - "Microsoft.Dynamics365FraudProtection": { - "instances": [ - "2021-02-01-preview" - ] - }, - "Microsoft.Easm": { - "workspaces": [ - "2022-04-01-preview" - ], - "workspaces/labels": [ - "2022-04-01-preview" - ] - }, - "Microsoft.EdgeOrder": { - "addresses": [ - "2020-12-01-preview", - "2021-12-01", - "2022-05-01-preview" - ], - "orderItems": [ - "2020-12-01-preview", - "2021-12-01", - "2022-05-01-preview" - ] - }, - "Microsoft.Education": { - "labs": [ - "2021-12-01-preview" - ], - "labs/students": [ - "2021-12-01-preview" - ] - }, - "Microsoft.Elastic": { - "monitors": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview" - ], - "monitors/tagRules": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview" - ] - }, - "Microsoft.ElasticSan": { - "elasticSans": [ - "2021-11-20-preview" - ], - "elasticSans/volumegroups": [ - "2021-11-20-preview" - ], - "elasticSans/volumegroups/volumes": [ - "2021-11-20-preview" - ] - }, - "Microsoft.EngagementFabric": { - "Accounts": [ - "2018-09-01" - ], - "Accounts/Channels": [ - "2018-09-01" - ] - }, - "Microsoft.EnterpriseKnowledgeGraph": { - "services": [ - "2018-12-03" - ] - }, - "Microsoft.EventGrid": { - "{parentType}/privateEndpointConnections": [ - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15" - ], - "domains": [ - "2018-09-15-preview", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15" - ], - "domains/eventSubscriptions": [ - "2021-10-15-preview", - "2022-06-15" - ], - "domains/topics": [ - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15" - ], - "domains/topics/eventSubscriptions": [ - "2021-10-15-preview", - "2022-06-15" - ], - "eventSubscriptions": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15" - ], - "partnerConfigurations": [ - "2021-10-15-preview", - "2022-06-15" - ], - "partnerDestinations": [ - "2021-10-15-preview" - ], - "partnerNamespaces": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2022-06-15" - ], - "partnerNamespaces/channels": [ - "2021-10-15-preview", - "2022-06-15" - ], - "partnerNamespaces/eventChannels": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview" - ], - "partnerRegistrations": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2022-06-15" - ], - "partnerTopics": [ - "2021-10-15-preview", - "2022-06-15" - ], - "partnerTopics/eventSubscriptions": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2022-06-15" - ], - "systemTopics": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15" - ], - "systemTopics/eventSubscriptions": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15" - ], - "topics": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15" - ], - "topics/eventSubscriptions": [ - "2021-10-15-preview", - "2022-06-15" - ] - }, - "Microsoft.EventHub": { - "clusters": [ - "2018-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/applicationGroups": [ - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/disasterRecoveryConfigs": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/eventhubs": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/eventhubs/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/eventhubs/consumergroups": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/ipfilterrules": [ - "2018-01-01-preview" - ], - "namespaces/networkRuleSets": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/privateEndpointConnections": [ - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/schemagroups": [ - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/virtualnetworkrules": [ - "2018-01-01-preview" - ] - }, - "Microsoft.ExtendedLocation": { - "customLocations": [ - "2021-03-15-preview", - "2021-08-15", - "2021-08-31-preview" - ], - "customLocations/resourceSyncRules": [ - "2021-08-31-preview" - ] - }, - "Microsoft.Fabric.Admin": { - "fabricLocations/ipPools": [ - "2016-05-01" - ] - }, - "Microsoft.Features": { - "featureProviders/subscriptionFeatureRegistrations": [ - "2021-07-01" - ] - }, - "Microsoft.FluidRelay": { - "fluidRelayServers": [ - "2021-03-12-preview", - "2021-06-15-preview", - "2021-08-30-preview", - "2021-09-10-preview", - "2022-02-15", - "2022-04-21", - "2022-05-11", - "2022-05-26", - "2022-06-01" - ] - }, - "Microsoft.GuestConfiguration": { - "guestConfigurationAssignments": [ - "2018-01-20-preview", - "2018-06-30-preview", - "2018-11-20", - "2020-06-25", - "2021-01-25", - "2022-01-25" - ] - }, - "Microsoft.HanaOnAzure": { - "hanaInstances": [ - "2017-11-03-preview" - ], - "sapMonitors": [ - "2020-02-07-preview" - ], - "sapMonitors/providerInstances": [ - "2020-02-07-preview" - ] - }, - "Microsoft.HardwareSecurityModules": { - "dedicatedHSMs": [ - "2018-10-31-preview", - "2021-11-30" - ] - }, - "Microsoft.HDInsight": { - "clusters": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01" - ], - "clusters/applications": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01" - ], - "clusters/extensions": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01" - ], - "clusters/privateEndpointConnections": [ - "2021-06-01" - ] - }, - "Microsoft.HealthBot": { - "healthBots": [ - "2020-10-20", - "2020-10-20-preview", - "2020-12-08", - "2020-12-08-preview", - "2021-06-10", - "2021-08-24", - "2022-08-08" - ] - }, - "Microsoft.HealthcareApis": { - "services": [ - "2018-08-20-preview", - "2019-09-16", - "2020-03-15", - "2020-03-30", - "2021-01-11", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ], - "services/privateEndpointConnections": [ - "2020-03-30", - "2021-01-11", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ], - "workspaces": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ], - "workspaces/analyticsconnectors": [ - "2022-10-01-preview" - ], - "workspaces/dicomservices": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ], - "workspaces/fhirservices": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ], - "workspaces/iotconnectors": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ], - "workspaces/iotconnectors/fhirdestinations": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ], - "workspaces/privateEndpointConnections": [ - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview" - ] - }, - "Microsoft.HybridCompute": { - "machines": [ - "2019-03-18", - "2019-08-02", - "2019-12-12", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10" - ], - "machines/extensions": [ - "2019-08-02", - "2019-12-12", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10" - ], - "privateLinkScopes": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10" - ], - "privateLinkScopes/privateEndpointConnections": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10" - ], - "privateLinkScopes/scopedResources": [ - "2020-08-15-preview" - ] - }, - "Microsoft.HybridConnectivity": { - "endpoints": [ - "2021-10-06-preview", - "2022-05-01-preview" - ] - }, - "Microsoft.HybridContainerService": { - "provisionedClusters": [ - "2022-05-01-preview" - ], - "provisionedClusters/agentPools": [ - "2022-05-01-preview" - ], - "provisionedClusters/hybridIdentityMetadata": [ - "2022-05-01-preview" - ], - "storageSpaces": [ - "2022-05-01-preview" - ], - "virtualNetworks": [ - "2022-05-01-preview" - ] - }, - "Microsoft.HybridData": { - "dataManagers": [ - "2016-06-01", - "2019-06-01" - ], - "dataManagers/dataServices/jobDefinitions": [ - "2016-06-01", - "2019-06-01" - ], - "dataManagers/dataStores": [ - "2016-06-01", - "2019-06-01" - ] - }, - "Microsoft.HybridNetwork": { - "devices": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "locations/vendors/networkFunctions": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "networkFunctions": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "vendors": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "vendors/vendorSkus": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "vendors/vendorSkus/previewSubscriptions": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ] - }, - "Microsoft.ImportExport": { - "jobs": [ - "2016-11-01", - "2020-08-01", - "2021-01-01" - ] - }, - "Microsoft.InfrastructureInsights.Admin": { - "regionHealths/alerts": [ - "2016-05-01" - ] - }, - "Microsoft.Insights": { - "actionGroups": [ - "2017-04-01", - "2018-03-01", - "2018-09-01", - "2019-03-01", - "2019-06-01", - "2021-09-01", - "2022-04-01", - "2022-06-01" - ], - "activityLogAlerts": [ - "2017-03-01-preview", - "2017-04-01", - "2020-10-01" - ], - "alertrules": [ - "2014-04-01", - "2016-03-01" - ], - "autoscalesettings": [ - "2014-04-01", - "2015-04-01", - "2021-05-01-preview", - "2022-10-01" - ], - "components": [ - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/{scopePath}": [ - "2015-05-01" - ], - "components/Annotations": [ - "2015-05-01" - ], - "components/currentbillingfeatures": [ - "2015-05-01" - ], - "components/exportconfiguration": [ - "2015-05-01" - ], - "components/favorites": [ - "2015-05-01" - ], - "components/linkedStorageAccounts": [ - "2020-03-01-preview" - ], - "components/pricingPlans": [ - "2017-10-01" - ], - "components/ProactiveDetectionConfigs": [ - "2015-05-01", - "2018-05-01-preview" - ], - "dataCollectionEndpoints": [ - "2021-04-01", - "2021-09-01-preview" - ], - "dataCollectionRuleAssociations": [ - "2019-11-01-preview", - "2021-04-01", - "2021-09-01-preview" - ], - "dataCollectionRules": [ - "2019-11-01-preview", - "2021-04-01", - "2021-09-01-preview" - ], - "diagnosticSettings": [ - "2015-07-01", - "2016-09-01", - "2017-05-01-preview", - "2020-01-01-preview", - "2021-05-01-preview" - ], - "guestDiagnosticSettings": [ - "2018-06-01-preview" - ], - "guestDiagnosticSettingsAssociation": [ - "2018-06-01-preview" - ], - "logprofiles": [ - "2016-03-01" - ], - "metricAlerts": [ - "2018-03-01" - ], - "myWorkbooks": [ - "2015-05-01", - "2020-10-20", - "2021-03-08" - ], - "privateLinkScopes": [ - "2019-10-17-preview", - "2021-07-01-preview" - ], - "privateLinkScopes/privateEndpointConnections": [ - "2019-10-17-preview", - "2021-07-01-preview" - ], - "privateLinkScopes/scopedResources": [ - "2019-10-17-preview", - "2021-07-01-preview" - ], - "scheduledQueryRules": [ - "2018-04-16", - "2020-05-01-preview", - "2021-02-01-preview", - "2021-08-01", - "2022-06-15", - "2022-08-01-preview" - ], - "webtests": [ - "2015-05-01", - "2018-05-01-preview", - "2020-10-05-preview", - "2022-06-15" - ], - "workbooks": [ - "2015-05-01", - "2018-06-17-preview", - "2020-10-20", - "2021-03-08", - "2021-08-01", - "2022-04-01" - ], - "workbooktemplates": [ - "2019-10-17-preview", - "2020-11-20" - ] - }, - "Microsoft.Intune": { - "locations/androidPolicies": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/androidPolicies/apps": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/androidPolicies/groups": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/iosPolicies": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/iosPolicies/apps": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/iosPolicies/groups": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ] - }, - "Microsoft.IoTCentral": { - "iotApps": [ - "2018-09-01", - "2021-06-01", - "2021-11-01-preview" - ], - "iotApps/privateEndpointConnections": [ - "2021-11-01-preview" - ] - }, - "Microsoft.IoTSecurity": { - "defenderSettings": [ - "2021-02-01-preview" - ], - "locations/deviceGroups": [ - "2021-02-01-preview" - ], - "onPremiseSensors": [ - "2021-02-01-preview" - ], - "sensors": [ - "2021-02-01-preview" - ], - "sites": [ - "2021-02-01-preview" - ] - }, - "Microsoft.KeyVault": { - "managedHSMs": [ - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-07-01" - ], - "managedHSMs/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-07-01" - ], - "vaults": [ - "2015-06-01", - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-07-01" - ], - "vaults/accessPolicies": [ - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-07-01" - ], - "vaults/keys": [ - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-07-01" - ], - "vaults/privateEndpointConnections": [ - "2018-02-14", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-07-01" - ], - "vaults/secrets": [ - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-07-01" - ] - }, - "Microsoft.Kubernetes": { - "connectedClusters": [ - "2020-01-01-preview", - "2021-03-01", - "2021-04-01-preview", - "2021-10-01", - "2022-05-01-preview", - "2022-10-01-preview" - ] - }, - "Microsoft.KubernetesConfiguration": { - "extensions": [ - "2020-07-01-preview", - "2021-05-01-preview", - "2021-09-01", - "2021-11-01-preview", - "2022-01-01-preview", - "2022-03-01", - "2022-04-02-preview", - "2022-07-01", - "2022-11-01" - ], - "fluxConfigurations": [ - "2021-11-01-preview", - "2022-01-01-preview", - "2022-03-01", - "2022-07-01", - "2022-11-01" - ], - "privateLinkScopes": [ - "2022-04-02-preview" - ], - "privateLinkScopes/privateEndpointConnections": [ - "2022-04-02-preview" - ], - "sourceControlConfigurations": [ - "2019-11-01-preview", - "2020-07-01-preview", - "2020-10-01-preview", - "2021-03-01", - "2021-05-01-preview", - "2021-11-01-preview", - "2022-01-01-preview", - "2022-03-01", - "2022-07-01", - "2022-11-01" - ] - }, - "Microsoft.Kusto": { - "clusters": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/attachedDatabaseConfigurations": [ - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/databases": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/databases/dataConnections": [ - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/databases/eventhubconnections": [ - "2017-09-07-privatepreview", - "2018-09-07-preview" - ], - "clusters/databases/principalAssignments": [ - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/databases/scripts": [ - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/managedPrivateEndpoints": [ - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/principalAssignments": [ - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ], - "clusters/privateEndpointConnections": [ - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11" - ] - }, - "Microsoft.LabServices": { - "labaccounts": [ - "2018-10-15" - ], - "labaccounts/galleryimages": [ - "2018-10-15" - ], - "labaccounts/labs": [ - "2018-10-15" - ], - "labaccounts/labs/environmentsettings": [ - "2018-10-15" - ], - "labaccounts/labs/environmentsettings/environments": [ - "2018-10-15" - ], - "labaccounts/labs/users": [ - "2018-10-15" - ], - "labPlans": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01" - ], - "labPlans/images": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01" - ], - "labs": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01" - ], - "labs/schedules": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01" - ], - "labs/users": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01" - ] - }, - "Microsoft.LoadTestService": { - "loadTests": [ - "2021-12-01-preview", - "2022-04-15-preview", - "2022-12-01" - ] - }, - "Microsoft.Logic": { - "integrationAccounts": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/agreements": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/assemblies": [ - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/batchConfigurations": [ - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/certificates": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/maps": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/partners": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/rosettanetprocessconfigurations": [ - "2016-06-01" - ], - "integrationAccounts/schemas": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/sessions": [ - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationServiceEnvironments": [ - "2019-05-01" - ], - "integrationServiceEnvironments/managedApis": [ - "2019-05-01" - ], - "workflows": [ - "2015-02-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "workflows/accessKeys": [ - "2015-02-01-preview" - ] - }, - "Microsoft.Logz": { - "monitors": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/accounts": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/accounts/tagRules": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/metricsSource": [ - "2022-01-01-preview" - ], - "monitors/metricsSource/tagRules": [ - "2022-01-01-preview" - ], - "monitors/singleSignOnConfigurations": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/tagRules": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ] - }, - "Microsoft.M365SecurityAndCompliance": { - "privateLinkServicesForEDMUpload": [ - "2021-03-25-preview" - ], - "privateLinkServicesForEDMUpload/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365ComplianceCenter": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365SecurityCenter": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForMIPPolicySync": [ - "2021-03-25-preview" - ], - "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForO365ManagementActivityAPI": [ - "2021-03-25-preview" - ], - "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForSCCPowershell": [ - "2021-03-25-preview" - ], - "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ - "2021-03-25-preview" - ] - }, - "Microsoft.MachineLearning": { - "commitmentPlans": [ - "2016-05-01-preview" - ], - "webServices": [ - "2016-05-01-preview", - "2017-01-01" - ], - "workspaces": [ - "2016-04-01", - "2019-10-01" - ] - }, - "Microsoft.MachineLearningCompute": { - "operationalizationClusters": [ - "2017-06-01-preview", - "2017-08-01-preview" - ] - }, - "Microsoft.MachineLearningExperimentation": { - "accounts": [ - "2017-05-01-preview" - ], - "accounts/workspaces": [ - "2017-05-01-preview" - ], - "accounts/workspaces/projects": [ - "2017-05-01-preview" - ] - }, - "Microsoft.MachineLearningServices": { - "registries": [ - "2022-10-01-preview" - ], - "registries/codes": [ - "2022-10-01-preview" - ], - "registries/codes/versions": [ - "2022-10-01-preview" - ], - "registries/components": [ - "2022-10-01-preview" - ], - "registries/components/versions": [ - "2022-10-01-preview" - ], - "registries/environments": [ - "2022-10-01-preview" - ], - "registries/environments/versions": [ - "2022-10-01-preview" - ], - "registries/models": [ - "2022-10-01-preview" - ], - "registries/models/versions": [ - "2022-10-01-preview" - ], - "workspaces": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/batchEndpoints": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/batchEndpoints/deployments": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/codes": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/codes/versions": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/components": [ - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/components/versions": [ - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/computes": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/connections": [ - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/data": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/data/versions": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/datasets": [ - "2020-05-01-preview" - ], - "workspaces/datastores": [ - "2020-05-01-preview", - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/environments": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/environments/versions": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/jobs": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/labelingJobs": [ - "2020-09-01-preview", - "2021-03-01-preview", - "2022-06-01-preview", - "2022-10-01-preview" - ], - "workspaces/linkedServices": [ - "2020-09-01-preview" - ], - "workspaces/linkedWorkspaces": [ - "2020-05-01-preview", - "2020-05-15-preview" - ], - "workspaces/models": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/models/versions": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/onlineEndpoints": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/onlineEndpoints/deployments": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/privateEndpointConnections": [ - "2020-01-01", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/schedules": [ - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "workspaces/services": [ - "2020-05-01-preview", - "2020-05-15-preview", - "2020-09-01-preview", - "2021-01-01", - "2021-04-01" - ] - }, - "Microsoft.Maintenance": { - "applyUpdates": [ - "2018-06-01-preview", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview" - ], - "configurationAssignments": [ - "2018-06-01-preview", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview" - ], - "maintenanceConfigurations": [ - "2018-06-01-preview", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview" - ] - }, - "Microsoft.ManagedIdentity": { - "userAssignedIdentities": [ - "2015-08-31-preview", - "2018-11-30", - "2021-09-30-preview", - "2022-01-31-preview" - ], - "userAssignedIdentities/federatedIdentityCredentials": [ - "2022-01-31-preview" - ] - }, - "Microsoft.ManagedNetwork": { - "managedNetworks": [ - "2019-06-01-preview" - ], - "managedNetworks/managedNetworkGroups": [ - "2019-06-01-preview" - ], - "managedNetworks/managedNetworkPeeringPolicies": [ - "2019-06-01-preview" - ], - "scopeAssignments": [ - "2019-06-01-preview" - ] - }, - "Microsoft.ManagedServices": { - "registrationAssignments": [ - "2018-06-01-preview", - "2019-04-01-preview", - "2019-06-01", - "2019-09-01", - "2020-02-01-preview", - "2022-01-01-preview", - "2022-10-01" - ], - "registrationDefinitions": [ - "2018-06-01-preview", - "2019-04-01-preview", - "2019-06-01", - "2019-09-01", - "2020-02-01-preview", - "2022-01-01-preview", - "2022-10-01" - ] - }, - "Microsoft.Management": { - "managementGroups": [ - "2017-11-01-preview", - "2018-01-01-preview", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01" - ], - "managementGroups/settings": [ - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01" - ], - "managementGroups/subscriptions": [ - "2017-11-01-preview", - "2018-01-01-preview", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01" - ] - }, - "Microsoft.ManagementPartner": { - "partners": [ - "2018-02-01" - ] - }, - "Microsoft.Maps": { - "accounts": [ - "2017-01-01-preview", - "2018-05-01", - "2020-02-01-preview", - "2021-02-01", - "2021-07-01-preview", - "2021-12-01-preview" - ], - "accounts/creators": [ - "2020-02-01-preview", - "2021-02-01", - "2021-07-01-preview", - "2021-12-01-preview" - ], - "accounts/privateAtlases": [ - "2020-02-01-preview" - ] - }, - "Microsoft.Marketplace": { - "privateStores": [ - "2020-01-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01" - ], - "privateStores/adminRequestApprovals": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01" - ], - "privateStores/collections": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01" - ], - "privateStores/collections/offers": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01" - ], - "privateStores/offers": [ - "2020-01-01" - ], - "privateStores/requestApprovals": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01" - ] - }, - "Microsoft.MarketplaceOrdering": { - "offerTypes/publishers/offers/plans/agreements": [ - "2015-06-01", - "2021-01-01" - ] - }, - "Microsoft.Media": { - "mediaservices": [ - "2015-10-01", - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01" - ], - "mediaServices/accountFilters": [ - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaServices/assets": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaServices/assets/assetFilters": [ - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaServices/assets/tracks": [ - "2021-11-01", - "2022-08-01" - ], - "mediaServices/contentKeyPolicies": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaservices/liveEvents": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaservices/liveEvents/liveOutputs": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaServices/mediaGraphs": [ - "2019-09-01-preview", - "2020-02-01-preview" - ], - "mediaservices/privateEndpointConnections": [ - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01" - ], - "mediaservices/streamingEndpoints": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaServices/streamingLocators": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaServices/streamingPolicies": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01" - ], - "mediaServices/transforms": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01" - ], - "mediaServices/transforms/jobs": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01" - ], - "videoAnalyzers": [ - "2021-05-01-preview", - "2021-11-01-preview" - ], - "videoAnalyzers/accessPolicies": [ - "2021-05-01-preview", - "2021-11-01-preview" - ], - "videoAnalyzers/edgeModules": [ - "2021-05-01-preview", - "2021-11-01-preview" - ], - "videoAnalyzers/livePipelines": [ - "2021-11-01-preview" - ], - "videoAnalyzers/pipelineJobs": [ - "2021-11-01-preview" - ], - "videoAnalyzers/pipelineTopologies": [ - "2021-11-01-preview" - ], - "videoAnalyzers/privateEndpointConnections": [ - "2021-11-01-preview" - ], - "videoAnalyzers/videos": [ - "2021-05-01-preview", - "2021-11-01-preview" - ] - }, - "Microsoft.Migrate": { - "assessmentProjects": [ - "2019-10-01" - ], - "assessmentProjects/groups": [ - "2019-10-01" - ], - "assessmentProjects/groups/assessments": [ - "2019-10-01" - ], - "assessmentProjects/hypervcollectors": [ - "2019-10-01" - ], - "assessmentProjects/importcollectors": [ - "2019-10-01" - ], - "assessmentprojects/privateEndpointConnections": [ - "2019-10-01" - ], - "assessmentProjects/servercollectors": [ - "2019-10-01" - ], - "assessmentProjects/vmwarecollectors": [ - "2019-10-01" - ], - "migrateProjects": [ - "2018-09-01-preview", - "2020-05-01" - ], - "migrateProjects/privateEndpointConnections": [ - "2020-05-01" - ], - "migrateProjects/solutions": [ - "2018-09-01-preview" - ], - "moveCollections": [ - "2019-10-01-preview", - "2021-01-01", - "2021-08-01" - ], - "moveCollections/moveResources": [ - "2019-10-01-preview", - "2021-01-01", - "2021-08-01" - ], - "projects": [ - "2017-11-11-preview", - "2018-02-02" - ], - "projects/groups": [ - "2017-11-11-preview", - "2018-02-02" - ], - "projects/groups/assessments": [ - "2017-11-11-preview", - "2018-02-02" - ] - }, - "Microsoft.MixedReality": { - "objectAnchorsAccounts": [ - "2021-03-01-preview" - ], - "remoteRenderingAccounts": [ - "2019-12-02-preview", - "2020-04-06-preview", - "2021-01-01", - "2021-03-01-preview" - ], - "spatialAnchorsAccounts": [ - "2019-02-28-preview", - "2019-12-02-preview", - "2020-05-01", - "2021-01-01", - "2021-03-01-preview" - ] - }, - "Microsoft.MobileNetwork": { - "mobileNetworks": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "mobileNetworks/dataNetworks": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "mobileNetworks/services": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "mobileNetworks/simPolicies": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "mobileNetworks/sites": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "mobileNetworks/slices": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "packetCoreControlPlanes": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "packetCoreControlPlanes/packetCoreDataPlanes": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01" - ], - "simGroups": [ - "2022-04-01-preview", - "2022-11-01" - ], - "simGroups/sims": [ - "2022-04-01-preview", - "2022-11-01" - ], - "sims": [ - "2022-03-01-preview" - ] - }, - "Microsoft.Monitor": { - "accounts": [ - "2021-06-03-preview" - ] - }, - "Microsoft.NetApp": { - "netAppAccounts": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/backupPolicies": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/capacityPools": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/capacityPools/volumes": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/capacityPools/volumes/backups": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/capacityPools/volumes/snapshots": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/capacityPools/volumes/subvolumes": [ - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/capacityPools/volumes/volumeQuotaRules": [ - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/snapshotPolicies": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ], - "netAppAccounts/volumeGroups": [ - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01" - ] - }, - "Microsoft.Network": { - "applicationGateways": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "applicationGateways/privateEndpointConnections": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "ApplicationGatewayWebApplicationFirewallPolicies": [ - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "applicationSecurityGroups": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "azureFirewalls": [ - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "bastionHosts": [ - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "cloudServiceSlots": [ - "2022-05-01", - "2022-07-01" - ], - "connections": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "connections/sharedkey": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "customIpPrefixes": [ - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "ddosCustomPolicies": [ - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "ddosProtectionPlans": [ - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "dnsForwardingRulesets": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsForwardingRulesets/forwardingRules": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsForwardingRulesets/virtualNetworkLinks": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsResolvers": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsResolvers/inboundEndpoints": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsResolvers/outboundEndpoints": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsZones": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/A": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/AAAA": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/CAA": [ - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/CNAME": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/MX": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/NS": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/PTR": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/SOA": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/SRV": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dnsZones/TXT": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01" - ], - "dscpConfigurations": [ - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteCircuits": [ - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteCircuits/authorizations": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteCircuits/peerings": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteCircuits/peerings/connections": [ - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteCrossConnections": [ - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteCrossConnections/peerings": [ - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteGateways": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRouteGateways/expressRouteConnections": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "ExpressRoutePorts": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "expressRoutePorts/authorizations": [ - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "firewallPolicies": [ - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "firewallPolicies/ruleCollectionGroups": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "firewallPolicies/ruleGroups": [ - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01" - ], - "firewallPolicies/signatureOverrides": [ - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "frontDoors": [ - "2018-08-01-preview", - "2019-04-01", - "2019-05-01", - "2020-01-01", - "2020-04-01", - "2020-05-01", - "2021-06-01" - ], - "frontDoors/rulesEngines": [ - "2020-01-01", - "2020-04-01", - "2020-05-01", - "2021-06-01" - ], - "FrontDoorWebApplicationFirewallPolicies": [ - "2018-08-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-10-01", - "2020-04-01", - "2020-11-01", - "2021-06-01", - "2022-05-01" - ], - "interfaceEndpoints": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01" - ], - "IpAllocations": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "ipGroups": [ - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "loadBalancers": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "loadBalancers/backendAddressPools": [ - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "loadBalancers/inboundNatRules": [ - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "localNetworkGateways": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "managementGroups/networkManagerConnections": [ - "2021-05-01-preview" - ], - "natGateways": [ - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "NetworkExperimentProfiles": [ - "2019-11-01" - ], - "NetworkExperimentProfiles/Experiments": [ - "2019-11-01" - ], - "networkInterfaces": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkInterfaces/tapConfigurations": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkManagerConnections": [ - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/connectivityConfigurations": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/networkGroups": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/networkGroups/staticMembers": [ - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/scopeConnections": [ - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/securityAdminConfigurations": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/securityAdminConfigurations/ruleCollections": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/securityAdminConfigurations/ruleCollections/rules": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01" - ], - "networkManagers/securityUserConfigurations": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-02-01-preview", - "2022-04-01-preview" - ], - "networkManagers/securityUserConfigurations/ruleCollections": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-02-01-preview", - "2022-04-01-preview" - ], - "networkManagers/securityUserConfigurations/ruleCollections/rules": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-02-01-preview", - "2022-04-01-preview" - ], - "networkProfiles": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkSecurityGroups": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkSecurityGroups/securityRules": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkSecurityPerimeters": [ - "2021-02-01-preview", - "2021-03-01-preview" - ], - "networkSecurityPerimeters/links": [ - "2021-02-01-preview" - ], - "networkSecurityPerimeters/profiles": [ - "2021-02-01-preview" - ], - "networkSecurityPerimeters/profiles/accessRules": [ - "2021-02-01-preview" - ], - "networkSecurityPerimeters/resourceAssociations": [ - "2021-02-01-preview" - ], - "networkVirtualAppliances": [ - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkVirtualAppliances/inboundSecurityRules": [ - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkVirtualAppliances/virtualApplianceSites": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkWatchers": [ - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkWatchers/connectionMonitors": [ - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkWatchers/flowLogs": [ - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "networkWatchers/packetCaptures": [ - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "p2svpnGateways": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "privateDnsZones": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/A": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/AAAA": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/CNAME": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/MX": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/PTR": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/SOA": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/SRV": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/TXT": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/virtualNetworkLinks": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateEndpoints": [ - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "privateEndpoints/privateDnsZoneGroups": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "privateLinkServices": [ - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "privateLinkServices/privateEndpointConnections": [ - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "publicIPAddresses": [ - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "publicIPPrefixes": [ - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "routeFilters": [ - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "routeFilters/routeFilterRules": [ - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "routeTables": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "routeTables/routes": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "securityPartnerProviders": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "serviceEndpointPolicies": [ - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "serviceEndpointPolicies/serviceEndpointPolicyDefinitions": [ - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "trafficmanagerprofiles": [ - "2015-11-01", - "2017-03-01", - "2017-05-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles/AzureEndpoints": [ - "2018-08-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles/ExternalEndpoints": [ - "2018-08-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles/NestedEndpoints": [ - "2018-08-01", - "2022-04-01-preview" - ], - "trafficManagerUserMetricsKeys": [ - "2017-09-01-preview", - "2018-04-01", - "2018-08-01", - "2022-04-01-preview" - ], - "virtualHubs": [ - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualHubs/bgpConnections": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualHubs/hubRouteTables": [ - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualHubs/hubVirtualNetworkConnections": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualHubs/ipConfigurations": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualHubs/routeMaps": [ - "2022-05-01", - "2022-07-01" - ], - "virtualHubs/routeTables": [ - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualHubs/routingIntent": [ - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualnetworkgateways": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualNetworkGateways/natRules": [ - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualnetworks": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualnetworks/subnets": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualNetworks/virtualNetworkPeerings": [ - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualNetworkTaps": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualRouters": [ - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualRouters/peerings": [ - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualWans": [ - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "virtualWans/p2sVpnServerConfigurations": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01" - ], - "vpnGateways": [ - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "vpnGateways/natRules": [ - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "vpnGateways/vpnConnections": [ - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "vpnServerConfigurations": [ - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "vpnServerConfigurations/configurationPolicyGroups": [ - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ], - "vpnSites": [ - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01" - ] - }, - "Microsoft.Network.Admin": { - "locations/quotas": [ - "2015-06-15" - ] - }, - "Microsoft.NetworkFunction": { - "azureTrafficCollectors": [ - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ], - "azureTrafficCollectors/collectorPolicies": [ - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ] - }, - "Microsoft.NotificationHubs": { - "namespaces": [ - "2014-09-01", - "2016-03-01", - "2017-04-01" - ], - "namespaces/AuthorizationRules": [ - "2014-09-01", - "2016-03-01", - "2017-04-01" - ], - "namespaces/notificationHubs": [ - "2014-09-01", - "2016-03-01", - "2017-04-01" - ], - "namespaces/notificationHubs/AuthorizationRules": [ - "2014-09-01", - "2016-03-01", - "2017-04-01" - ] - }, - "Microsoft.OffAzure": { - "HyperVSites": [ - "2020-01-01", - "2020-07-07" - ], - "HyperVSites/clusters": [ - "2020-01-01", - "2020-07-07" - ], - "HyperVSites/hosts": [ - "2020-01-01", - "2020-07-07" - ], - "MasterSites": [ - "2020-07-07" - ], - "masterSites/privateEndpointConnections": [ - "2020-07-07" - ], - "VMwareSites": [ - "2020-01-01", - "2020-07-07" - ], - "VMwareSites/vCenters": [ - "2020-01-01", - "2020-07-07" - ] - }, - "Microsoft.OpenEnergyPlatform": { - "energyServices": [ - "2021-06-01-preview", - "2022-04-04-preview" - ] - }, - "Microsoft.OperationalInsights": { - "clusters": [ - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01", - "2020-10-01", - "2021-06-01" - ], - "queryPacks": [ - "2019-09-01", - "2019-09-01-preview" - ], - "queryPacks/queries": [ - "2019-09-01", - "2019-09-01-preview" - ], - "workspaces": [ - "2015-11-01-preview", - "2020-03-01-preview", - "2020-08-01", - "2020-10-01", - "2021-06-01", - "2021-12-01-preview", - "2022-10-01" - ], - "workspaces/dataExports": [ - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/dataSources": [ - "2015-11-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/features/machineGroups": [ - "2015-11-01-preview" - ], - "workspaces/linkedServices": [ - "2015-11-01-preview", - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/linkedStorageAccounts": [ - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/savedSearches": [ - "2015-03-20", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/storageInsightConfigs": [ - "2015-03-20", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/tables": [ - "2021-12-01-preview", - "2022-10-01" - ] - }, - "Microsoft.OperationsManagement": { - "ManagementAssociations": [ - "2015-11-01-preview" - ], - "ManagementConfigurations": [ - "2015-11-01-preview" - ], - "solutions": [ - "2015-11-01-preview" - ] - }, - "Microsoft.Orbital": { - "contactProfiles": [ - "2021-04-04-preview", - "2022-03-01" - ], - "spacecrafts": [ - "2021-04-04-preview", - "2022-03-01" - ], - "spacecrafts/contacts": [ - "2021-04-04-preview", - "2022-03-01" - ] - }, - "Microsoft.Peering": { - "peerAsns": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peerings": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peerings/registeredAsns": [ - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peerings/registeredPrefixes": [ - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServices": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServices/connectionMonitorTests": [ - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServices/prefixes": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ] - }, - "Microsoft.PolicyInsights": { - "attestations": [ - "2021-01-01", - "2022-09-01" - ], - "remediations": [ - "2018-07-01-preview", - "2019-07-01", - "2021-10-01" - ] - }, - "Microsoft.Portal": { - "consoles": [ - "2018-10-01" - ], - "dashboards": [ - "2015-08-01-preview", - "2018-10-01-preview", - "2019-01-01-preview", - "2020-09-01-preview" - ], - "locations/consoles": [ - "2018-10-01" - ], - "locations/userSettings": [ - "2018-10-01" - ], - "tenantConfigurations": [ - "2019-01-01-preview", - "2020-09-01-preview" - ], - "userSettings": [ - "2018-10-01" - ] - }, - "Microsoft.PowerBI": { - "privateLinkServicesForPowerBI": [ - "2020-06-01" - ], - "privateLinkServicesForPowerBI/privateEndpointConnections": [ - "2020-06-01" - ], - "workspaceCollections": [ - "2016-01-29" - ] - }, - "Microsoft.PowerBIDedicated": { - "autoScaleVCores": [ - "2021-01-01" - ], - "capacities": [ - "2017-10-01", - "2021-01-01" - ] - }, - "Microsoft.PowerPlatform": { - "accounts": [ - "2020-10-30-preview" - ], - "enterprisePolicies": [ - "2020-10-30-preview" - ], - "enterprisePolicies/privateEndpointConnections": [ - "2020-10-30-preview" - ] - }, - "Microsoft.ProviderHub": { - "providerRegistrations": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/customRollouts": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/defaultRollouts": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/notificationRegistrations": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/operations": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ] - }, - "Microsoft.Purview": { - "accounts": [ - "2020-12-01-preview", - "2021-07-01" - ], - "accounts/privateEndpointConnections": [ - "2020-12-01-preview", - "2021-07-01" - ] - }, - "Microsoft.Quantum": { - "workspaces": [ - "2019-11-04-preview", - "2022-01-10-preview" - ] - }, - "Microsoft.Quota": { - "quotaLimits": [ - "2021-03-15" - ], - "quotas": [ - "2021-03-15-preview" - ] - }, - "Microsoft.RecommendationsService": { - "accounts": [ - "2022-02-01", - "2022-03-01-preview" - ], - "accounts/modeling": [ - "2022-02-01", - "2022-03-01-preview" - ], - "accounts/serviceEndpoints": [ - "2022-02-01", - "2022-03-01-preview" - ] - }, - "Microsoft.RecoveryServices": { - "vaults": [ - "2016-06-01", - "2020-02-02", - "2020-10-01", - "2021-01-01", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-01-31-preview", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01" - ], - "vaults/backupconfig": [ - "2019-06-15", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/backupEncryptionConfigs": [ - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/backupFabrics/backupProtectionIntent": [ - "2017-07-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/backupFabrics/protectionContainers": [ - "2016-12-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/backupFabrics/protectionContainers/protectedItems": [ - "2016-06-01", - "2019-05-13", - "2019-06-15", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/backupPolicies": [ - "2016-06-01", - "2019-05-13", - "2019-06-15", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/backupResourceGuardProxies": [ - "2021-02-01-preview", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/backupstorageconfig": [ - "2016-12-01", - "2018-12-20", - "2021-04-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-15", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/certificates": [ - "2016-06-01", - "2020-02-02", - "2020-10-01", - "2021-01-01", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-01-31-preview", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01" - ], - "vaults/extendedInformation": [ - "2016-06-01", - "2020-02-02", - "2020-10-01", - "2021-01-01", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-01-31-preview", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01" - ], - "vaults/privateEndpointConnections": [ - "2020-02-02", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-10-01" - ], - "vaults/replicationAlertSettings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems": [ - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationRecoveryServicesProviders": [ - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationFabrics/replicationvCenters": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationPolicies": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationProtectionIntents": [ - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationRecoveryPlans": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ], - "vaults/replicationVaultSettings": [ - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01" - ] - }, - "Microsoft.RedHatOpenShift": { - "openShiftClusters": [ - "2020-04-30", - "2021-09-01-preview", - "2022-04-01", - "2022-09-04" - ], - "openshiftclusters/machinePool": [ - "2022-09-04" - ], - "openshiftclusters/secret": [ - "2022-09-04" - ], - "openshiftclusters/syncIdentityProvider": [ - "2022-09-04" - ], - "openshiftclusters/syncSet": [ - "2022-09-04" - ] - }, - "Microsoft.Relay": { - "namespaces": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/AuthorizationRules": [ - "2016-07-01", - "2017-04-01", - "2021-11-01" - ], - "namespaces/HybridConnections": [ - "2016-07-01", - "2017-04-01", - "2021-11-01" - ], - "namespaces/HybridConnections/authorizationRules": [ - "2016-07-01", - "2017-04-01", - "2021-11-01" - ], - "namespaces/networkRuleSets": [ - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/privateEndpointConnections": [ - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/WcfRelays": [ - "2016-07-01", - "2017-04-01", - "2021-11-01" - ], - "namespaces/WcfRelays/authorizationRules": [ - "2016-07-01", - "2017-04-01", - "2021-11-01" - ] - }, - "Microsoft.ResourceConnector": { - "appliances": [ - "2021-10-31-preview", - "2022-04-15-preview", - "2022-10-27" - ] - }, - "Microsoft.ResourceGraph": { - "queries": [ - "2018-09-01-preview", - "2020-04-01-preview" - ] - }, - "Microsoft.Resources": { - "deployments": [ - "2015-11-01", - "2016-02-01", - "2016-07-01", - "2016-09-01", - "2017-05-10", - "2018-02-01", - "2018-05-01", - "2019-03-01", - "2019-05-01", - "2019-05-10", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2020-06-01", - "2020-08-01", - "2020-10-01", - "2021-01-01", - "2021-04-01", - "2022-09-01" - ], - "deploymentScripts": [ - "2019-10-01-preview", - "2020-10-01" - ], - "resourceGroups": [ - "2015-11-01", - "2016-02-01", - "2016-07-01", - "2016-09-01", - "2017-05-10", - "2018-02-01", - "2018-05-01", - "2019-03-01", - "2019-05-01", - "2019-05-10", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2020-06-01", - "2020-08-01", - "2020-10-01", - "2021-01-01", - "2021-04-01", - "2022-09-01" - ], - "tags": [ - "2019-10-01", - "2020-06-01", - "2020-08-01", - "2020-10-01", - "2021-01-01", - "2021-04-01", - "2022-09-01" - ], - "templateSpecs": [ - "2019-06-01-preview", - "2021-03-01-preview", - "2021-05-01", - "2022-02-01" - ], - "templateSpecs/versions": [ - "2019-06-01-preview", - "2021-03-01-preview", - "2021-05-01", - "2022-02-01" - ] - }, - "Microsoft.SaaS": { - "resources": [ - "2018-03-01-beta" - ], - "saasresources": [ - "2018-03-01-beta" - ] - }, - "Microsoft.Scheduler": { - "jobCollections": [ - "2014-08-01-preview", - "2016-01-01", - "2016-03-01" - ], - "jobCollections/jobs": [ - "2014-08-01-preview", - "2016-01-01", - "2016-03-01" - ] - }, - "Microsoft.ScVmm": { - "availabilitySets": [ - "2020-06-05-preview" - ], - "clouds": [ - "2020-06-05-preview" - ], - "virtualMachines": [ - "2020-06-05-preview" - ], - "virtualMachineTemplates": [ - "2020-06-05-preview" - ], - "virtualNetworks": [ - "2020-06-05-preview" - ], - "vmmServers": [ - "2020-06-05-preview" - ], - "vmmServers/inventoryItems": [ - "2020-06-05-preview" - ] - }, - "Microsoft.Search": { - "searchServices": [ - "2015-02-28", - "2015-08-19", - "2019-10-01-preview", - "2020-03-13", - "2020-08-01", - "2020-08-01-preview", - "2021-04-01-preview" - ], - "searchServices/privateEndpointConnections": [ - "2019-10-01-preview", - "2020-03-13", - "2020-08-01", - "2020-08-01-preview", - "2021-04-01-preview" - ], - "searchServices/sharedPrivateLinkResources": [ - "2020-08-01", - "2020-08-01-preview", - "2021-04-01-preview" - ] - }, - "Microsoft.Security": { - "advancedThreatProtectionSettings": [ - "2017-08-01-preview", - "2019-01-01" - ], - "alertsSuppressionRules": [ - "2019-01-01-preview" - ], - "apiCollections": [ - "2022-11-20-preview" - ], - "applications": [ - "2022-07-01-preview" - ], - "assessmentMetadata": [ - "2019-01-01-preview", - "2020-01-01", - "2021-06-01" - ], - "assessments": [ - "2019-01-01-preview", - "2020-01-01", - "2021-06-01" - ], - "assessments/governanceAssignments": [ - "2022-01-01-preview" - ], - "assignments": [ - "2021-08-01-preview" - ], - "automations": [ - "2019-01-01-preview" - ], - "autoProvisioningSettings": [ - "2017-08-01-preview" - ], - "connectors": [ - "2020-01-01-preview" - ], - "customAssessmentAutomations": [ - "2021-07-01-preview" - ], - "customEntityStoreAssignments": [ - "2021-07-01-preview" - ], - "deviceSecurityGroups": [ - "2017-08-01-preview", - "2019-08-01" - ], - "governanceRules": [ - "2022-01-01-preview" - ], - "informationProtectionPolicies": [ - "2017-08-01-preview" - ], - "ingestionSettings": [ - "2021-01-15-preview" - ], - "iotSecuritySolutions": [ - "2017-08-01-preview", - "2019-08-01" - ], - "locations/applicationWhitelistings": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/jitNetworkAccessPolicies": [ - "2015-06-01-preview", - "2020-01-01" - ], - "pricings": [ - "2017-08-01-preview", - "2018-06-01", - "2022-03-01" - ], - "securityConnectors": [ - "2021-07-01-preview", - "2021-12-01-preview", - "2022-05-01-preview", - "2022-08-01-preview" - ], - "securityContacts": [ - "2017-08-01-preview", - "2020-01-01-preview" - ], - "serverVulnerabilityAssessments": [ - "2020-01-01" - ], - "settings": [ - "2017-08-01-preview", - "2019-01-01", - "2021-06-01", - "2021-07-01", - "2022-05-01" - ], - "sqlVulnerabilityAssessments/baselineRules": [ - "2020-07-01-preview" - ], - "standards": [ - "2021-08-01-preview" - ], - "workspaceSettings": [ - "2017-08-01-preview" - ] - }, - "Microsoft.SecurityAndCompliance": { - "privateLinkServicesForEDMUpload": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForEDMUpload/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365ComplianceCenter": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365SecurityCenter": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForMIPPolicySync": [ - "2021-03-08" - ], - "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ - "2021-03-08" - ], - "privateLinkServicesForO365ManagementActivityAPI": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForSCCPowershell": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ] - }, - "Microsoft.SecurityDevOps": { - "azureDevOpsConnectors": [ - "2022-09-01-preview" - ], - "azureDevOpsConnectors/orgs": [ - "2022-09-01-preview" - ], - "azureDevOpsConnectors/orgs/projects": [ - "2022-09-01-preview" - ], - "azureDevOpsConnectors/orgs/projects/repos": [ - "2022-09-01-preview" - ], - "gitHubConnectors": [ - "2022-09-01-preview" - ], - "gitHubConnectors/owners": [ - "2022-09-01-preview" - ], - "gitHubConnectors/owners/repos": [ - "2022-09-01-preview" - ] - }, - "Microsoft.SecurityInsights": { - "alertRules": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "alertRules/actions": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "automationRules": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "bookmarks": [ - "2019-01-01-preview", - "2020-01-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "bookmarks/relations": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "cases": [ - "2019-01-01-preview" - ], - "cases/comments": [ - "2019-01-01-preview" - ], - "cases/relations": [ - "2019-01-01-preview" - ], - "dataConnectors": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "entityQueries": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "fileImports": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "incidents": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "incidents/comments": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "incidents/relations": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "incidents/tasks": [ - "2022-12-01-preview" - ], - "metadata": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "onboardingStates": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "securityMLAnalyticsSettings": [ - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "settings": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "sourcecontrols": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "threatIntelligence/indicators": [ - "2019-01-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "watchlists": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ], - "watchlists/watchlistItems": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview" - ] - }, - "Microsoft.SerialConsole": { - "serialPorts": [ - "2018-05-01" - ] - }, - "Microsoft.ServiceBus": { - "namespaces": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/AuthorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/disasterRecoveryConfigs": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/ipfilterrules": [ - "2018-01-01-preview" - ], - "namespaces/messagingplan": [ - "2014-09-01" - ], - "namespaces/migrationConfigurations": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/networkRuleSets": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/privateEndpointConnections": [ - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/queues": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/queues/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics/subscriptions": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics/subscriptions/rules": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/virtualnetworkrules": [ - "2018-01-01-preview" - ] - }, - "Microsoft.ServiceFabric": { - "clusters": [ - "2016-09-01", - "2017-07-01-preview", - "2018-02-01", - "2019-03-01", - "2019-03-01-preview", - "2019-06-01-preview", - "2019-11-01-preview", - "2020-03-01", - "2020-12-01-preview", - "2021-06-01" - ], - "clusters/applications": [ - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-06-01-preview", - "2019-11-01-preview", - "2020-03-01", - "2020-12-01-preview", - "2021-06-01" - ], - "clusters/applications/services": [ - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-06-01-preview", - "2019-11-01-preview", - "2020-03-01", - "2020-12-01-preview", - "2021-06-01" - ], - "clusters/applicationTypes": [ - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-06-01-preview", - "2019-11-01-preview", - "2020-03-01", - "2020-12-01-preview", - "2021-06-01" - ], - "clusters/applicationTypes/versions": [ - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-06-01-preview", - "2019-11-01-preview", - "2020-03-01", - "2020-12-01-preview", - "2021-06-01" - ], - "managedClusters": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview" - ], - "managedclusters/applications": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview" - ], - "managedclusters/applications/services": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview" - ], - "managedclusters/applicationTypes": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview" - ], - "managedclusters/applicationTypes/versions": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview" - ], - "managedClusters/nodeTypes": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview" - ] - }, - "Microsoft.ServiceFabricMesh": { - "applications": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "gateways": [ - "2018-09-01-preview" - ], - "networks": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "secrets": [ - "2018-09-01-preview" - ], - "secrets/values": [ - "2018-09-01-preview" - ], - "volumes": [ - "2018-07-01-preview", - "2018-09-01-preview" - ] - }, - "Microsoft.ServiceLinker": { - "dryruns": [ - "2022-11-01-preview" - ], - "linkers": [ - "2021-11-01-preview", - "2022-01-01-preview", - "2022-05-01", - "2022-11-01-preview" - ], - "locations/connectors": [ - "2022-11-01-preview" - ], - "locations/dryruns": [ - "2022-11-01-preview" - ] - }, - "Microsoft.ServiceNetworking": { - "trafficControllers": [ - "2022-10-01-preview" - ], - "trafficControllers/associations": [ - "2022-10-01-preview" - ], - "trafficControllers/frontends": [ - "2022-10-01-preview" - ] - }, - "Microsoft.SignalRService": { - "signalR": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview" - ], - "signalR/customCertificates": [ - "2022-02-01", - "2022-08-01-preview" - ], - "signalR/customDomains": [ - "2022-02-01", - "2022-08-01-preview" - ], - "signalR/privateEndpointConnections": [ - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview" - ], - "signalR/sharedPrivateLinkResources": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview" - ], - "webPubSub": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-08-01-preview" - ], - "webPubSub/customCertificates": [ - "2022-08-01-preview" - ], - "webPubSub/customDomains": [ - "2022-08-01-preview" - ], - "webPubSub/hubs": [ - "2021-10-01", - "2022-08-01-preview" - ], - "webPubSub/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-08-01-preview" - ], - "webPubSub/sharedPrivateLinkResources": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-08-01-preview" - ] - }, - "Microsoft.SoftwarePlan": { - "hybridUseBenefits": [ - "2019-06-01-preview", - "2019-12-01" - ] - }, - "Microsoft.Solutions": { - "applianceDefinitions": [ - "2016-09-01-preview" - ], - "appliances": [ - "2016-09-01-preview" - ], - "applicationDefinitions": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ], - "applications": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ], - "jitRequests": [ - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ] - }, - "Microsoft.Sql": { - "instancePools": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "locations/instanceFailoverGroups": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "locations/serverTrustGroups": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances": [ - "2015-05-01-preview", - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/administrators": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/advancedThreatProtectionSettings": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/azureADOnlyAuthentications": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases": [ - "2017-03-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/advancedThreatProtectionSettings": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/backupLongTermRetentionPolicies": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/backupShortTermRetentionPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/schemas/tables/columns/sensitivityLabels": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/securityAlertPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/transparentDataEncryption": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/vulnerabilityAssessments": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/databases/vulnerabilityAssessments/rules/baselines": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/distributedAvailabilityGroups": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/dnsAliases": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/dtc": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/encryptionProtector": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/keys": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/privateEndpointConnections": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/securityAlertPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/serverTrustCertificates": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/sqlAgent": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "managedInstances/vulnerabilityAssessments": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers": [ - "2014-04-01", - "2015-05-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/administrators": [ - "2014-04-01", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/advancedThreatProtectionSettings": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/advisors": [ - "2014-04-01" - ], - "servers/auditingPolicies": [ - "2014-04-01" - ], - "servers/auditingSettings": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/azureADOnlyAuthentications": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/communicationLinks": [ - "2014-04-01" - ], - "servers/connectionPolicies": [ - "2014-04-01", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases": [ - "2014-04-01", - "2017-03-01-preview", - "2017-10-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/advancedThreatProtectionSettings": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/advisors": [ - "2014-04-01" - ], - "servers/databases/auditingPolicies": [ - "2014-04-01" - ], - "servers/databases/auditingSettings": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/backupLongTermRetentionPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/backupShortTermRetentionPolicies": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/connectionPolicies": [ - "2014-04-01" - ], - "servers/databases/dataMaskingPolicies": [ - "2014-04-01", - "2021-11-01", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/dataMaskingPolicies/rules": [ - "2014-04-01", - "2021-11-01", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/extendedAuditingSettings": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/extensions": [ - "2014-04-01", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/geoBackupPolicies": [ - "2014-04-01", - "2021-11-01", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/ledgerDigestUploads": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/maintenanceWindows": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/schemas/tables/columns/sensitivityLabels": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/securityAlertPolicies": [ - "2014-04-01", - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/sqlVulnerabilityAssessments/baselines": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/sqlVulnerabilityAssessments/baselines/rules": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/syncGroups": [ - "2015-05-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/syncGroups/syncMembers": [ - "2015-05-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/transparentDataEncryption": [ - "2014-04-01", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/vulnerabilityAssessments": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/vulnerabilityAssessments/rules/baselines": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/workloadGroups": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/databases/workloadGroups/workloadClassifiers": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/devOpsAuditingSettings": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/disasterRecoveryConfiguration": [ - "2014-04-01" - ], - "servers/dnsAliases": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/elasticPools": [ - "2014-04-01", - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/encryptionProtector": [ - "2015-05-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/extendedAuditingSettings": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/failoverGroups": [ - "2015-05-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/firewallRules": [ - "2014-04-01", - "2015-05-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/ipv6FirewallRules": [ - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/jobAgents": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/jobAgents/credentials": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/jobAgents/jobs": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/jobAgents/jobs/executions": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/jobAgents/jobs/steps": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/jobAgents/targetGroups": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/keys": [ - "2015-05-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/outboundFirewallRules": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/securityAlertPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/sqlVulnerabilityAssessments": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/sqlVulnerabilityAssessments/baselines": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/sqlVulnerabilityAssessments/baselines/rules": [ - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/syncAgents": [ - "2015-05-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/virtualNetworkRules": [ - "2015-05-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ], - "servers/vulnerabilityAssessments": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview" - ] - }, - "Microsoft.SqlVirtualMachine": { - "sqlVirtualMachineGroups": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview" - ], - "sqlVirtualMachineGroups/availabilityGroupListeners": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview" - ], - "sqlVirtualMachines": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview" - ] - }, - "Microsoft.Storage": { - "storageAccounts": [ - "2015-05-01-preview", - "2015-06-15", - "2016-01-01", - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/blobServices": [ - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/blobServices/containers": [ - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/blobServices/containers/immutabilityPolicies": [ - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/encryptionScopes": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/fileServices": [ - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/fileServices/shares": [ - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/inventoryPolicies": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/localUsers": [ - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/managementPolicies": [ - "2018-03-01-preview", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/objectReplicationPolicies": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/privateEndpointConnections": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/queueServices": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/queueServices/queues": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/tableServices": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ], - "storageAccounts/tableServices/tables": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01" - ] - }, - "Microsoft.Storage.Admin": { - "locations/quotas": [ - "2019-08-08" - ], - "locations/settings": [ - "2019-08-08" - ], - "storageServices": [ - "2019-08-08" - ] - }, - "Microsoft.StorageCache": { - "caches": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2022-01-01", - "2022-05-01" - ], - "caches/storageTargets": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2022-01-01", - "2022-05-01" - ] - }, - "Microsoft.StorageMover": { - "storageMovers": [ - "2022-07-01-preview" - ], - "storageMovers/agents": [ - "2022-07-01-preview" - ], - "storageMovers/endpoints": [ - "2022-07-01-preview" - ], - "storageMovers/projects": [ - "2022-07-01-preview" - ], - "storageMovers/projects/jobDefinitions": [ - "2022-07-01-preview" - ] - }, - "Microsoft.StoragePool": { - "diskPools": [ - "2020-03-15-preview", - "2021-04-01-preview", - "2021-08-01" - ], - "diskPools/iscsiTargets": [ - "2020-03-15-preview", - "2021-04-01-preview", - "2021-08-01" - ] - }, - "Microsoft.StorageSync": { - "storageSyncServices": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/privateEndpointConnections": [ - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/registeredServers": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/syncGroups": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/syncGroups/cloudEndpoints": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/syncGroups/serverEndpoints": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ] - }, - "Microsoft.StorSimple": { - "managers": [ - "2016-10-01", - "2017-06-01" - ], - "managers/accessControlRecords": [ - "2016-10-01", - "2017-06-01" - ], - "managers/bandwidthSettings": [ - "2017-06-01" - ], - "managers/certificates": [ - "2016-10-01" - ], - "managers/devices/alertSettings": [ - "2016-10-01", - "2017-06-01" - ], - "managers/devices/backupPolicies": [ - "2017-06-01" - ], - "managers/devices/backupPolicies/schedules": [ - "2017-06-01" - ], - "managers/devices/backupScheduleGroups": [ - "2016-10-01" - ], - "managers/devices/chapSettings": [ - "2016-10-01" - ], - "managers/devices/fileservers": [ - "2016-10-01" - ], - "managers/devices/fileservers/shares": [ - "2016-10-01" - ], - "managers/devices/iscsiservers": [ - "2016-10-01" - ], - "managers/devices/iscsiservers/disks": [ - "2016-10-01" - ], - "managers/devices/timeSettings": [ - "2017-06-01" - ], - "managers/devices/volumeContainers": [ - "2017-06-01" - ], - "managers/devices/volumeContainers/volumes": [ - "2017-06-01" - ], - "managers/extendedInformation": [ - "2016-10-01", - "2017-06-01" - ], - "managers/storageAccountCredentials": [ - "2016-10-01", - "2017-06-01" - ], - "managers/storageDomains": [ - "2016-10-01" - ] - }, - "Microsoft.StreamAnalytics": { - "clusters": [ - "2020-03-01", - "2020-03-01-preview" - ], - "clusters/privateEndpoints": [ - "2020-03-01", - "2020-03-01-preview" - ], - "streamingjobs": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/functions": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/inputs": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/outputs": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/transformations": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ] - }, - "Microsoft.Subscription": { - "aliases": [ - "2019-10-01-preview", - "2020-09-01", - "2021-10-01" - ], - "policies": [ - "2021-10-01" - ], - "subscriptionDefinitions": [ - "2017-11-01-preview" - ] - }, - "Microsoft.Subscriptions.Admin": { - "directoryTenants": [ - "2015-11-01" - ], - "locations": [ - "2015-11-01" - ], - "offers": [ - "2015-11-01" - ], - "offers/offerDelegations": [ - "2015-11-01" - ], - "plans": [ - "2015-11-01" - ], - "subscriptions": [ - "2015-11-01" - ], - "subscriptions/acquiredPlans": [ - "2015-11-01" - ] - }, - "Microsoft.Support": { - "supportTickets": [ - "2019-05-01-preview", - "2020-04-01" - ], - "supportTickets/communications": [ - "2019-05-01-preview", - "2020-04-01" - ] - }, - "Microsoft.Synapse": { - "privateLinkHubs": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/administrators": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/auditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/azureADOnlyAuthentications": [ - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/bigDataPools": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/dedicatedSQLminimalTlsSettings": [ - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/encryptionProtector": [ - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/extendedAuditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/firewallRules": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/integrationRuntimes": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/keys": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/kustoPools": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/attachedDatabaseConfigurations": [ - "2021-06-01-preview" - ], - "workspaces/kustoPools/databases": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/databases/dataConnections": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/databases/principalAssignments": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/principalAssignments": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/managedIdentitySqlControlSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/privateEndpointConnections": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/securityAlertPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlAdministrators": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlDatabases": [ - "2020-04-01-preview" - ], - "workspaces/sqlPools": [ - "2019-06-01-preview", - "2020-04-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/auditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/dataMaskingPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/dataMaskingPolicies/rules": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/extendedAuditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/geoBackupPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/maintenancewindows": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/metadataSync": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/schemas/tables/columns/sensitivityLabels": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/securityAlertPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/transparentDataEncryption": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/vulnerabilityAssessments": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/vulnerabilityAssessments/rules/baselines": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/workloadGroups": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/workloadGroups/workloadClassifiers": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/trustedServiceByPassConfiguration": [ - "2021-06-01-preview" - ], - "workspaces/vulnerabilityAssessments": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ] - }, - "Microsoft.Syntex": { - "documentProcessors": [ - "2022-09-15-preview" - ] - }, - "Microsoft.TestBase": { - "testBaseAccounts": [ - "2020-12-16-preview", - "2022-04-01-preview" - ], - "testBaseAccounts/customerEvents": [ - "2020-12-16-preview", - "2022-04-01-preview" - ], - "testBaseAccounts/packages": [ - "2020-12-16-preview", - "2022-04-01-preview" - ], - "testBaseAccounts/packages/favoriteProcesses": [ - "2020-12-16-preview", - "2022-04-01-preview" - ] - }, - "Microsoft.TimeSeriesInsights": { - "environments": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ], - "environments/accessPolicies": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ], - "environments/eventSources": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ], - "environments/privateEndpointConnections": [ - "2021-03-31-preview" - ], - "environments/referenceDataSets": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ] - }, - "Microsoft.VideoIndexer": { - "accounts": [ - "2021-10-18-preview", - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01" - ] - }, - "Microsoft.VirtualMachineImages": { - "imageTemplates": [ - "2018-02-01-preview", - "2019-02-01-preview", - "2019-05-01-preview", - "2020-02-14", - "2021-10-01", - "2022-02-14" - ] - }, - "microsoft.visualstudio": { - "account": [ - "2014-04-01-preview", - "2017-11-01-preview" - ], - "account/extension": [ - "2014-04-01-preview", - "2017-11-01-preview" - ], - "account/project": [ - "2014-04-01-preview", - "2017-11-01-preview", - "2018-08-01-preview" - ] - }, - "Microsoft.VMwareCloudSimple": { - "dedicatedCloudNodes": [ - "2019-04-01" - ], - "dedicatedCloudServices": [ - "2019-04-01" - ], - "virtualMachines": [ - "2019-04-01" - ] - }, - "Microsoft.VoiceServices": { - "communicationsGateways": [ - "2022-12-01-preview" - ], - "communicationsGateways/contacts": [ - "2022-12-01-preview" - ], - "communicationsGateways/testLines": [ - "2022-12-01-preview" - ] - }, - "Microsoft.Web": { - "certificates": [ - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "connectionGateways": [ - "2016-06-01" - ], - "connections": [ - "2015-08-01-preview", - "2016-06-01" - ], - "containerApps": [ - "2021-03-01", - "2022-03-01" - ], - "csrs": [ - "2015-08-01" - ], - "customApis": [ - "2016-06-01" - ], - "hostingEnvironments": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "hostingEnvironments/configurations": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "hostingEnvironments/multiRolePools": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "hostingEnvironments/privateEndpointConnections": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "hostingEnvironments/workerPools": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "kubeEnvironments": [ - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "managedHostingEnvironments": [ - "2015-08-01" - ], - "publishingCredentials": [ - "2015-08-01" - ], - "publishingUsers": [ - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "serverfarms": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "serverfarms/virtualNetworkConnections/gateways": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "serverfarms/virtualNetworkConnections/routes": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/backups": [ - "2015-08-01", - "2016-08-01" - ], - "sites/basicPublishingCredentialsPolicies": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/config": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/deployments": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/domainOwnershipIdentifiers": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/functions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/functions/keys": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/host/{keyType}": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/hostNameBindings": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/hybridconnection": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/hybridConnectionNamespaces/relays": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/instances/deployments": [ - "2015-08-01" - ], - "sites/instances/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/migrate": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/networkConfig": [ - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/premieraddons": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/privateAccess": [ - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/privateEndpointConnections": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/publicCertificates": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/siteextensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/backups": [ - "2015-08-01", - "2016-08-01" - ], - "sites/slots/basicPublishingCredentialsPolicies": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/config": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/deployments": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/domainOwnershipIdentifiers": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/functions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/functions/keys": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/host/{keyType}": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/hostNameBindings": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/hybridconnection": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/hybridConnectionNamespaces/relays": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/instances/deployments": [ - "2015-08-01" - ], - "sites/slots/instances/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/networkConfig": [ - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/premieraddons": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/privateAccess": [ - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/privateEndpointConnections": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/publicCertificates": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/siteextensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/snapshots": [ - "2015-08-01" - ], - "sites/slots/sourcecontrols": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/virtualNetworkConnections": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/slots/virtualNetworkConnections/gateways": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/snapshots": [ - "2015-08-01" - ], - "sites/sourcecontrols": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/virtualNetworkConnections": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sites/virtualNetworkConnections/gateways": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "sourcecontrols": [ - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "staticSites": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "staticSites/builds/config": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "staticSites/builds/linkedBackends": [ - "2022-03-01" - ], - "staticSites/builds/userProvidedFunctionApps": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "staticSites/config": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "staticSites/customDomains": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "staticSites/linkedBackends": [ - "2022-03-01" - ], - "staticSites/privateEndpointConnections": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ], - "staticSites/userProvidedFunctionApps": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01" - ] - }, - "Microsoft.WindowsESU": { - "multipleActivationKeys": [ - "2019-09-16-preview" - ] - }, - "Microsoft.WindowsIoT": { - "deviceServices": [ - "2018-02-16-preview", - "2019-06-01" - ] - }, - "Microsoft.WorkloadMonitor": { - "notificationSettings": [ - "2018-08-31-preview" - ] - }, - "Microsoft.Workloads": { - "monitors": [ - "2021-12-01-preview" - ], - "monitors/providerInstances": [ - "2021-12-01-preview" - ], - "phpWorkloads": [ - "2021-12-01-preview" - ], - "phpWorkloads/wordpressInstances": [ - "2021-12-01-preview" - ], - "sapVirtualInstances": [ - "2021-12-01-preview" - ], - "sapVirtualInstances/applicationInstances": [ - "2021-12-01-preview" - ], - "sapVirtualInstances/centralInstances": [ - "2021-12-01-preview" - ], - "sapVirtualInstances/databaseInstances": [ - "2021-12-01-preview" - ] - } + "Microsoft.AAD": { + "domainServices": [ + "2017-01-01", + "2017-06-01", + "2020-01-01", + "2021-03-01", + "2021-05-01", + "2022-09-01", + "2022-12-01" + ], + "domainServices/ouContainer": [ + "2017-06-01", + "2020-01-01", + "2021-03-01", + "2021-05-01", + "2022-09-01", + "2022-12-01" + ] + }, + "microsoft.aadiam": { + "azureADMetrics": [ + "2020-07-01-preview" + ], + "diagnosticSettings": [ + "2017-04-01", + "2017-04-01-preview" + ], + "privateLinkForAzureAd": [ + "2020-03-01", + "2020-03-01-preview" + ], + "privateLinkForAzureAd/privateEndpointConnections": [ + "2020-03-01" + ] + }, + "Microsoft.Addons": { + "supportProviders/supportPlanTypes": [ + "2017-05-15", + "2018-03-01" + ] + }, + "Microsoft.Advisor": { + "configurations": [ + "2017-04-19", + "2020-01-01", + "2022-09-01" + ], + "recommendations/suppressions": [ + "2016-07-12-preview", + "2017-03-31", + "2017-04-19", + "2020-01-01", + "2022-09-01" + ] + }, + "Microsoft.AgFoodPlatform": { + "farmBeats": [ + "2020-05-12-preview", + "2021-09-01-preview" + ], + "farmBeats/extensions": [ + "2020-05-12-preview", + "2021-09-01-preview" + ], + "farmBeats/privateEndpointConnections": [ + "2021-09-01-preview" + ], + "farmBeats/solutions": [ + "2021-09-01-preview" + ] + }, + "Microsoft.AlertsManagement": { + "actionRules": [ + "2018-11-02-privatepreview", + "2019-05-05-preview", + "2021-08-08", + "2021-08-08-preview" + ], + "prometheusRuleGroups": [ + "2021-07-22-preview" + ], + "smartDetectorAlertRules": [ + "2019-03-01", + "2019-06-01", + "2021-04-01" + ] + }, + "Microsoft.AnalysisServices": { + "servers": [ + "2016-05-16", + "2017-07-14", + "2017-08-01", + "2017-08-01-beta" + ] + }, + "Microsoft.ApiManagement": { + "service": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/api-version-sets": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview" + ], + "service/apis": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/diagnostics": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/diagnostics/loggers": [ + "2017-03-01", + "2018-01-01" + ], + "service/apis/issues": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/issues/attachments": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/issues/comments": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/operations": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/operations/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/operations/policy": [ + "2016-10-10" + ], + "service/apis/operations/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/policy": [ + "2016-10-10" + ], + "service/apis/releases": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/schemas": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/tagDescriptions": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apis/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/apiVersionSets": [ + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/authorizationProviders": [ + "2022-04-01-preview" + ], + "service/authorizationProviders/authorizations": [ + "2022-04-01-preview" + ], + "service/authorizationProviders/authorizations/accessPolicies": [ + "2022-04-01-preview" + ], + "service/authorizationServers": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/backends": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/caches": [ + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/certificates": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/contentTypes": [ + "2019-12-01", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/contentTypes/contentItems": [ + "2019-12-01", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/diagnostics": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/diagnostics/loggers": [ + "2017-03-01", + "2018-01-01" + ], + "service/gateways": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/gateways/apis": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/gateways/certificateAuthorities": [ + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/gateways/hostnameConfigurations": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/groups": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/groups/users": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/identityProviders": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/loggers": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/namedValues": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/notifications": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/notifications/recipientEmails": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/notifications/recipientUsers": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/openidConnectProviders": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/policyFragments": [ + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/portalconfigs": [ + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/portalRevisions": [ + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/portalsettings": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/products": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/products/apis": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/products/groups": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/products/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/products/policy": [ + "2016-10-10" + ], + "service/products/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/properties": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01" + ], + "service/schemas": [ + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/subscriptions": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/templates": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/tenant": [ + "2016-10-10", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ], + "service/users": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview" + ] + }, + "Microsoft.App": { + "connectedEnvironments": [ + "2022-06-01-preview", + "2022-10-01" + ], + "connectedEnvironments/certificates": [ + "2022-06-01-preview", + "2022-10-01" + ], + "connectedEnvironments/daprComponents": [ + "2022-06-01-preview", + "2022-10-01" + ], + "connectedEnvironments/storages": [ + "2022-06-01-preview", + "2022-10-01" + ], + "containerApps": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01" + ], + "containerApps/authConfigs": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01" + ], + "containerApps/sourcecontrols": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01" + ], + "managedEnvironments": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01" + ], + "managedEnvironments/certificates": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01" + ], + "managedEnvironments/daprComponents": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01" + ], + "managedEnvironments/storages": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01" + ] + }, + "Microsoft.AppComplianceAutomation": { + "reports": [ + "2022-11-16-preview" + ] + }, + "Microsoft.AppConfiguration": { + "configurationStores": [ + "2019-02-01-preview", + "2019-10-01", + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01" + ], + "configurationStores/keyValues": [ + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01" + ], + "configurationStores/privateEndpointConnections": [ + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01" + ], + "configurationStores/replicas": [ + "2022-03-01-preview" + ] + }, + "Microsoft.AppPlatform": { + "Spring": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/apiPortals": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/apiPortals/domains": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/applicationAccelerators": [ + "2022-11-01-preview" + ], + "Spring/applicationAccelerators/customizedAccelerators": [ + "2022-11-01-preview" + ], + "Spring/applicationLiveViews": [ + "2022-11-01-preview" + ], + "Spring/apps": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/apps/bindings": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/apps/deployments": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/apps/domains": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/buildServices/agentPools": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/buildServices/builders": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/buildServices/builders/buildpackBindings": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/buildServices/builds": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/certificates": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/configServers": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/configurationServices": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/DevToolPortals": [ + "2022-11-01-preview" + ], + "Spring/gateways": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/gateways/domains": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/gateways/routeConfigs": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/monitoringSettings": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/serviceRegistries": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "Spring/storages": [ + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01" + ] + }, + "Microsoft.Attestation": { + "attestationProviders": [ + "2018-09-01-preview", + "2020-10-01", + "2021-06-01-preview" + ], + "attestationProviders/privateEndpointConnections": [ + "2020-10-01", + "2021-06-01-preview" + ] + }, + "Microsoft.Authorization": { + "accessReviewHistoryDefinitions": [ + "2021-11-16-preview", + "2021-12-01-preview" + ], + "accessReviewScheduleDefinitions": [ + "2018-05-01-preview", + "2021-03-01-preview", + "2021-07-01-preview", + "2021-11-16-preview", + "2021-12-01-preview" + ], + "accessReviewScheduleDefinitions/instances": [ + "2021-07-01-preview", + "2021-11-16-preview", + "2021-12-01-preview" + ], + "accessReviewScheduleSettings": [ + "2018-05-01-preview", + "2021-03-01-preview", + "2021-07-01-preview", + "2021-11-16-preview", + "2021-12-01-preview" + ], + "locks": [ + "2015-01-01", + "2016-09-01", + "2017-04-01", + "2020-05-01" + ], + "policyAssignments": [ + "2015-10-01-preview", + "2015-11-01", + "2016-04-01", + "2016-12-01", + "2017-06-01-preview", + "2018-03-01", + "2018-05-01", + "2019-01-01", + "2019-06-01", + "2019-09-01", + "2020-03-01", + "2020-09-01", + "2021-06-01", + "2022-06-01" + ], + "policydefinitions": [ + "2015-10-01-preview", + "2015-11-01", + "2016-04-01", + "2016-12-01", + "2018-03-01", + "2018-05-01", + "2019-01-01", + "2019-06-01", + "2019-09-01", + "2020-03-01", + "2020-09-01", + "2021-06-01" + ], + "policyExemptions": [ + "2020-07-01-preview", + "2022-07-01-preview" + ], + "policySetDefinitions": [ + "2017-06-01-preview", + "2018-03-01", + "2018-05-01", + "2019-01-01", + "2019-06-01", + "2019-09-01", + "2020-03-01", + "2020-09-01", + "2021-06-01" + ], + "roleAssignmentApprovals/stages": [ + "2021-01-01-preview" + ], + "roleAssignments": [ + "2015-07-01", + "2017-10-01-preview", + "2018-01-01-preview", + "2018-09-01-preview", + "2020-03-01-preview", + "2020-04-01-preview", + "2020-08-01-preview", + "2020-10-01-preview", + "2022-04-01" + ], + "roleAssignmentScheduleRequests": [ + "2020-10-01", + "2020-10-01-preview", + "2022-04-01-preview" + ], + "roleDefinitions": [ + "2015-07-01", + "2018-01-01-preview", + "2022-04-01" + ], + "roleEligibilityScheduleRequests": [ + "2020-10-01", + "2020-10-01-preview", + "2022-04-01-preview" + ], + "roleManagementPolicyAssignments": [ + "2020-10-01", + "2020-10-01-preview" + ], + "variables": [ + "2022-08-01-preview" + ], + "variables/values": [ + "2022-08-01-preview" + ] + }, + "Microsoft.Automanage": { + "accounts": [ + "2020-06-30-preview" + ], + "configurationProfileAssignments": [ + "2020-06-30-preview", + "2021-04-30-preview", + "2022-05-04" + ], + "configurationProfilePreferences": [ + "2020-06-30-preview" + ], + "configurationProfiles": [ + "2021-04-30-preview", + "2022-05-04" + ], + "configurationProfiles/versions": [ + "2021-04-30-preview", + "2022-05-04" + ] + }, + "Microsoft.Automation": { + "automationAccounts": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2021-06-22", + "2022-08-08" + ], + "automationAccounts/certificates": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/compilationjobs": [ + "2015-10-31", + "2018-01-15", + "2019-06-01", + "2020-01-13-preview" + ], + "automationAccounts/configurations": [ + "2015-10-31", + "2019-06-01", + "2022-08-08" + ], + "automationAccounts/connections": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/connectionTypes": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/credentials": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/hybridRunbookWorkerGroups": [ + "2021-06-22", + "2022-02-22", + "2022-08-08" + ], + "automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers": [ + "2021-06-22", + "2022-08-08" + ], + "automationAccounts/jobs": [ + "2015-10-31", + "2017-05-15-preview", + "2019-06-01", + "2022-08-08" + ], + "automationAccounts/jobSchedules": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/modules": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/nodeConfigurations": [ + "2015-10-31", + "2018-01-15", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/privateEndpointConnections": [ + "2020-01-13-preview" + ], + "automationAccounts/python2Packages": [ + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/python3Packages": [ + "2022-08-08" + ], + "automationAccounts/runbooks": [ + "2015-10-31", + "2018-06-30", + "2019-06-01", + "2022-08-08" + ], + "automationAccounts/runbooks/draft": [ + "2015-10-31", + "2018-06-30", + "2019-06-01", + "2022-08-08" + ], + "automationAccounts/schedules": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/softwareUpdateConfigurations": [ + "2017-05-15-preview", + "2019-06-01" + ], + "automationAccounts/sourceControls": [ + "2017-05-15-preview", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/sourceControls/sourceControlSyncJobs": [ + "2017-05-15-preview", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/variables": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/watchers": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview" + ], + "automationAccounts/webhooks": [ + "2015-10-31" + ] + }, + "Microsoft.AutonomousDevelopmentPlatform": { + "accounts": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview" + ], + "accounts/dataPools": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview" + ] + }, + "Microsoft.AVS": { + "privateClouds": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/addons": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/authorizations": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/cloudLinks": [ + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/clusters": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/clusters/datastores": [ + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/clusters/placementPolicies": [ + "2021-12-01", + "2022-05-01" + ], + "privateClouds/globalReachConnections": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/hcxEnterpriseSites": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/scriptExecutions": [ + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/workloadNetworks/dhcpConfigurations": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/workloadNetworks/dnsServices": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/workloadNetworks/dnsZones": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/workloadNetworks/portMirroringProfiles": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/workloadNetworks/publicIPs": [ + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/workloadNetworks/segments": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ], + "privateClouds/workloadNetworks/vmGroups": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01" + ] + }, + "Microsoft.AzureActiveDirectory": { + "b2cDirectories": [ + "2019-01-01-preview", + "2021-04-01" + ], + "guestUsages": [ + "2020-05-01-preview", + "2021-04-01" + ] + }, + "Microsoft.AzureArcData": { + "dataControllers": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview" + ], + "dataControllers/activeDirectoryConnectors": [ + "2022-03-01-preview", + "2022-06-15-preview" + ], + "postgresInstances": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2022-03-01-preview", + "2022-06-15-preview" + ], + "sqlManagedInstances": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview" + ], + "sqlServerInstances": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview" + ], + "sqlServerInstances/databases": [ + "2022-06-15-preview" + ] + }, + "Microsoft.AzureBridge.Admin": { + "activations": [ + "2016-01-01" + ], + "activations/downloadedProducts": [ + "2016-01-01" + ] + }, + "Microsoft.AzureData": { + "sqlServerRegistrations": [ + "2017-03-01-preview", + "2019-07-24-preview" + ], + "sqlServerRegistrations/sqlServers": [ + "2017-03-01-preview", + "2019-07-24-preview" + ] + }, + "Microsoft.AzureStack": { + "linkedSubscriptions": [ + "2020-06-01-preview" + ], + "registrations": [ + "2016-01-01", + "2017-06-01", + "2020-06-01-preview", + "2022-06-01" + ], + "registrations/customerSubscriptions": [ + "2017-06-01", + "2020-06-01-preview", + "2022-06-01" + ] + }, + "Microsoft.AzureStackHCI": { + "clusters": [ + "2020-03-01-preview", + "2020-10-01", + "2021-01-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-10-01", + "2022-12-01" + ], + "clusters/arcSettings": [ + "2021-01-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-10-01", + "2022-12-01" + ], + "clusters/arcSettings/extensions": [ + "2021-01-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-10-01", + "2022-12-01" + ], + "clusters/updates": [ + "2022-12-01" + ], + "clusters/updates/updateRuns": [ + "2022-12-01" + ], + "clusters/updateSummaries": [ + "2022-12-01" + ], + "galleryimages": [ + "2021-07-01-preview", + "2021-09-01-preview" + ], + "marketplacegalleryimages": [ + "2021-09-01-preview" + ], + "networkinterfaces": [ + "2021-07-01-preview", + "2021-09-01-preview" + ], + "storagecontainers": [ + "2021-09-01-preview" + ], + "virtualharddisks": [ + "2021-07-01-preview", + "2021-09-01-preview" + ], + "virtualmachines": [ + "2021-07-01-preview", + "2021-09-01-preview" + ], + "virtualMachines/extensions": [ + "2021-09-01-preview" + ], + "virtualMachines/guestAgents": [ + "2021-09-01-preview" + ], + "virtualMachines/hybridIdentityMetadata": [ + "2021-09-01-preview" + ], + "virtualnetworks": [ + "2021-07-01-preview", + "2021-09-01-preview" + ] + }, + "Microsoft.Backup.Admin": { + "backupLocations": [ + "2018-09-01" + ] + }, + "Microsoft.Batch": { + "batchAccounts": [ + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "batchAccounts/applications": [ + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "batchAccounts/applications/versions": [ + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "batchAccounts/certificates": [ + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "batchAccounts/pools": [ + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ] + }, + "Microsoft.Billing": { + "billingAccounts/billingProfiles": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/instructions": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/invoiceSections": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/policies": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingRoleAssignments": [ + "2019-10-01-preview" + ], + "billingAccounts/billingSubscriptionAliases": [ + "2021-10-01" + ], + "billingAccounts/customers/policies": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/departments/billingRoleAssignments": [ + "2019-10-01-preview" + ], + "billingAccounts/enrollmentAccounts/billingRoleAssignments": [ + "2019-10-01-preview" + ], + "billingAccounts/invoiceSections": [ + "2018-11-01-preview" + ], + "billingAccounts/lineOfCredit": [ + "2018-11-01-preview" + ], + "promotions": [ + "2020-09-01-preview", + "2020-11-01-preview" + ] + }, + "Microsoft.BillingBenefits": { + "reservationOrderAliases": [ + "2022-11-01" + ], + "savingsPlanOrderAliases": [ + "2022-11-01" + ] + }, + "Microsoft.Blockchain": { + "blockchainMembers": [ + "2018-06-01-preview" + ], + "blockchainMembers/transactionNodes": [ + "2018-06-01-preview" + ] + }, + "Microsoft.Blueprint": { + "blueprintAssignments": [ + "2017-11-11-preview", + "2018-11-01-preview" + ], + "blueprints": [ + "2017-11-11-preview", + "2018-11-01-preview" + ], + "blueprints/artifacts": [ + "2017-11-11-preview", + "2018-11-01-preview" + ], + "blueprints/versions": [ + "2017-11-11-preview", + "2018-11-01-preview" + ] + }, + "Microsoft.BotService": { + "botServices": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview" + ], + "botServices/channels": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview" + ], + "botServices/connections": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview" + ], + "botServices/privateEndpointConnections": [ + "2021-05-01-preview", + "2022-06-15-preview" + ], + "enterpriseChannels": [ + "2018-07-12" + ] + }, + "Microsoft.Cache": { + "Redis": [ + "2015-08-01", + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01" + ], + "Redis/firewallRules": [ + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01" + ], + "Redis/linkedServers": [ + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01" + ], + "Redis/patchSchedules": [ + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01" + ], + "redis/privateEndpointConnections": [ + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01" + ], + "redisEnterprise": [ + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01" + ], + "redisEnterprise/databases": [ + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01" + ], + "redisEnterprise/privateEndpointConnections": [ + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01" + ] + }, + "Microsoft.Capacity": { + "autoQuotaIncrease": [ + "2019-07-19" + ], + "reservationOrders": [ + "2019-04-01", + "2020-10-01-preview", + "2021-07-01", + "2022-03-01" + ], + "resourceProviders/locations/serviceLimits": [ + "2019-07-19", + "2020-10-25" + ] + }, + "Microsoft.Cdn": { + "cdnWebApplicationFirewallPolicies": [ + "2019-06-15", + "2019-06-15-preview", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2019-04-15", + "2019-06-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/afdEndpoints": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/afdEndpoints/routes": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/customDomains": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/endpoints": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2019-04-15", + "2019-06-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/endpoints/customDomains": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2019-04-15", + "2019-06-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/endpoints/originGroups": [ + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/endpoints/origins": [ + "2015-06-01", + "2016-04-02", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/originGroups": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/originGroups/origins": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/ruleSets": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/ruleSets/rules": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/secrets": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ], + "profiles/securityPolicies": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview" + ] + }, + "Microsoft.CertificateRegistration": { + "certificateOrders": [ + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "certificateOrders/certificates": [ + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ] + }, + "Microsoft.ChangeAnalysis": { + "profile": [ + "2020-04-01-preview" + ] + }, + "Microsoft.Chaos": { + "experiments": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview" + ], + "targets": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview" + ], + "targets/capabilities": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview" + ] + }, + "Microsoft.CognitiveServices": { + "accounts": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01" + ], + "accounts/commitmentPlans": [ + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01" + ], + "accounts/deployments": [ + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01" + ], + "accounts/privateEndpointConnections": [ + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01" + ], + "commitmentPlans": [ + "2022-12-01" + ], + "commitmentPlans/accountAssociations": [ + "2022-12-01" + ] + }, + "Microsoft.Communication": { + "communicationServices": [ + "2020-08-20", + "2020-08-20-preview", + "2021-10-01-preview", + "2022-07-01-preview" + ], + "emailServices": [ + "2021-10-01-preview", + "2022-07-01-preview" + ], + "emailServices/domains": [ + "2021-10-01-preview", + "2022-07-01-preview" + ] + }, + "Microsoft.Compute": { + "availabilitySets": [ + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "capacityReservationGroups": [ + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "capacityReservationGroups/capacityReservations": [ + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "cloudServices": [ + "2020-10-01-preview", + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "cloudServices/updateDomains": [ + "2020-10-01-preview", + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "diskAccesses": [ + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02" + ], + "diskAccesses/privateEndpointConnections": [ + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02" + ], + "diskEncryptionSets": [ + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02" + ], + "disks": [ + "2016-04-30-preview", + "2017-03-30", + "2018-04-01", + "2018-06-01", + "2018-09-30", + "2019-03-01", + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02" + ], + "galleries": [ + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03" + ], + "galleries/applications": [ + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03" + ], + "galleries/applications/versions": [ + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03" + ], + "galleries/images": [ + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03" + ], + "galleries/images/versions": [ + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03" + ], + "hostGroups": [ + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "hostGroups/hosts": [ + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "images": [ + "2016-04-30-preview", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "proximityPlacementGroups": [ + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "restorePointCollections": [ + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "restorePointCollections/restorePoints": [ + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "snapshots": [ + "2016-04-30-preview", + "2017-03-30", + "2018-04-01", + "2018-06-01", + "2018-09-30", + "2019-03-01", + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02" + ], + "sshPublicKeys": [ + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachines": [ + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachines/extensions": [ + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachines/runCommands": [ + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachineScaleSets": [ + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachineScaleSets/extensions": [ + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachineScaleSets/virtualmachines": [ + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachineScaleSets/virtualMachines/extensions": [ + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ], + "virtualMachineScaleSets/virtualMachines/runCommands": [ + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01" + ] + }, + "Microsoft.Compute.Admin": { + "locations/artifactTypes/publishers/offers/skus/versions": [ + "2015-12-01-preview" + ], + "locations/artifactTypes/publishers/types/versions": [ + "2015-12-01-preview" + ], + "locations/diskmigrationjobs": [ + "2018-07-30-preview", + "2021-04-01", + "2021-09-01" + ], + "locations/quotas": [ + "2015-12-01-preview", + "2018-02-09", + "2021-01-01" + ] + }, + "Microsoft.ConfidentialLedger": { + "ledgers": [ + "2020-12-01-preview", + "2021-05-13-preview", + "2022-05-13", + "2022-09-08-preview" + ], + "managedCCFs": [ + "2022-09-08-preview" + ] + }, + "Microsoft.Confluent": { + "agreements": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01" + ], + "organizations": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01" + ] + }, + "Microsoft.ConnectedVMwarevSphere": { + "clusters": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "datastores": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "hosts": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "resourcePools": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "vcenters": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "vcenters/inventoryItems": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "virtualMachines": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "virtualMachines/extensions": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "virtualMachines/guestAgents": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "virtualMachines/hybridIdentityMetadata": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "virtualMachineTemplates": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ], + "virtualNetworks": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview" + ] + }, + "Microsoft.Consumption": { + "budgets": [ + "2017-12-30-preview", + "2018-01-31", + "2018-03-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-04-01-preview", + "2019-05-01", + "2019-05-01-preview", + "2019-06-01", + "2019-10-01", + "2019-11-01", + "2021-05-01", + "2021-10-01" + ], + "costTags": [ + "2018-03-31", + "2018-06-30" + ] + }, + "Microsoft.ContainerInstance": { + "containerGroups": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-09-01", + "2022-10-01-preview" + ] + }, + "Microsoft.ContainerRegistry": { + "registries": [ + "2016-06-27-preview", + "2017-03-01", + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01" + ], + "registries/agentPools": [ + "2019-06-01-preview" + ], + "registries/buildTasks": [ + "2018-02-01-preview" + ], + "registries/buildTasks/steps": [ + "2018-02-01-preview" + ], + "registries/connectedRegistries": [ + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview" + ], + "registries/exportPipelines": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview" + ], + "registries/importPipelines": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview" + ], + "registries/pipelineRuns": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview" + ], + "registries/privateEndpointConnections": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01" + ], + "registries/replications": [ + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01" + ], + "registries/scopeMaps": [ + "2019-05-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01" + ], + "registries/taskRuns": [ + "2019-06-01-preview" + ], + "registries/tasks": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/tokens": [ + "2019-05-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01" + ], + "registries/webhooks": [ + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01" + ] + }, + "Microsoft.ContainerRegistry.Admin": { + "locations/configurations": [ + "2019-11-01-preview" + ], + "locations/quotas": [ + "2019-11-01-preview" + ] + }, + "Microsoft.ContainerService": { + "containerServices": [ + "2015-11-01-preview", + "2016-03-30", + "2016-09-30", + "2017-01-31", + "2017-07-01" + ], + "fleets": [ + "2022-06-02-preview", + "2022-07-02-preview", + "2022-09-02-preview" + ], + "fleets/members": [ + "2022-06-02-preview", + "2022-07-02-preview", + "2022-09-02-preview" + ], + "managedClusters": [ + "2017-08-31", + "2018-03-31", + "2018-08-01-preview", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" + ], + "managedClusters/agentPools": [ + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" + ], + "managedClusters/maintenanceConfigurations": [ + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" + ], + "managedClusters/privateEndpointConnections": [ + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" + ], + "managedClusters/trustedAccessRoleBindings": [ + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-02-preview", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-02-preview" + ], + "managedclustersnapshots": [ + "2022-02-02-preview", + "2022-03-02-preview", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-02-preview", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-02-preview" + ], + "openShiftManagedClusters": [ + "2018-09-30-preview", + "2019-04-30", + "2019-09-30", + "2019-10-27-preview" + ], + "snapshots": [ + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview" + ] + }, + "Microsoft.CostManagement": { + "budgets": [ + "2019-04-01-preview" + ], + "cloudConnectors": [ + "2019-03-01-preview" + ], + "connectors": [ + "2018-08-01-preview" + ], + "costAllocationRules": [ + "2020-03-01-preview" + ], + "exports": [ + "2019-01-01", + "2019-09-01", + "2019-10-01", + "2019-11-01", + "2020-06-01", + "2020-12-01-preview", + "2021-01-01", + "2021-10-01", + "2022-10-01" + ], + "externalSubscriptions": [ + "2019-03-01-preview" + ], + "markupRules": [ + "2022-10-05-preview" + ], + "reportconfigs": [ + "2018-05-31" + ], + "reports": [ + "2018-08-01-preview" + ], + "scheduledActions": [ + "2022-04-01-preview", + "2022-06-01-preview", + "2022-10-01" + ], + "settings": [ + "2019-11-01", + "2022-10-01-preview", + "2022-10-05-preview" + ], + "showbackRules": [ + "2019-03-01-preview" + ], + "views": [ + "2019-04-01-preview", + "2019-11-01", + "2020-06-01", + "2021-10-01", + "2022-08-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-10-05-preview" + ] + }, + "Microsoft.CustomerInsights": { + "hubs": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/authorizationPolicies": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/connectors": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/connectors/mappings": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/interactions": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/kpi": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/links": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/predictions": [ + "2017-04-26" + ], + "hubs/profiles": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/relationshipLinks": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/relationships": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/roleAssignments": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/views": [ + "2017-01-01", + "2017-04-26" + ] + }, + "Microsoft.CustomProviders": { + "associations": [ + "2018-09-01-preview" + ], + "resourceProviders": [ + "2018-09-01-preview" + ] + }, + "Microsoft.Dashboard": { + "grafana": [ + "2021-09-01-preview", + "2022-05-01-preview", + "2022-08-01" + ], + "grafana/privateEndpointConnections": [ + "2022-05-01-preview", + "2022-08-01" + ] + }, + "Microsoft.DataBox": { + "jobs": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01" + ] + }, + "Microsoft.DataBoxEdge": { + "dataBoxEdgeDevices": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/bandwidthSchedules": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/diagnosticProactiveLogCollectionSettings": [ + "2021-02-01", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/diagnosticRemoteSupportSettings": [ + "2021-02-01", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/orders": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/roles": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/roles/addons": [ + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/roles/monitoringConfig": [ + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/shares": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/storageAccountCredentials": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/storageAccounts": [ + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/storageAccounts/containers": [ + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/triggers": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ], + "dataBoxEdgeDevices/users": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview" + ] + }, + "Microsoft.Databricks": { + "accessConnectors": [ + "2022-04-01-preview" + ], + "workspaces": [ + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview" + ], + "workspaces/privateEndpointConnections": [ + "2021-04-01-preview", + "2022-04-01-preview" + ], + "workspaces/virtualNetworkPeerings": [ + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview" + ] + }, + "Microsoft.DataCatalog": { + "catalogs": [ + "2016-03-30" + ] + }, + "Microsoft.Datadog": { + "agreements": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01" + ], + "monitors": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01" + ], + "monitors/singleSignOnConfigurations": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01" + ], + "monitors/tagRules": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01" + ] + }, + "Microsoft.DataFactory": { + "factories": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/credentials": [ + "2018-06-01" + ], + "factories/dataflows": [ + "2018-06-01" + ], + "factories/datasets": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/globalParameters": [ + "2018-06-01" + ], + "factories/integrationRuntimes": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/linkedservices": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/managedVirtualNetworks": [ + "2018-06-01" + ], + "factories/managedVirtualNetworks/managedPrivateEndpoints": [ + "2018-06-01" + ], + "factories/pipelines": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/privateEndpointConnections": [ + "2018-06-01" + ], + "factories/triggers": [ + "2017-09-01-preview", + "2018-06-01" + ] + }, + "Microsoft.DataLakeAnalytics": { + "accounts": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/computePolicies": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/dataLakeStoreAccounts": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/firewallRules": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/storageAccounts": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ] + }, + "Microsoft.DataLakeStore": { + "accounts": [ + "2015-10-01-preview", + "2016-11-01" + ], + "accounts/firewallRules": [ + "2015-10-01-preview", + "2016-11-01" + ], + "accounts/trustedIdProviders": [ + "2016-11-01" + ], + "accounts/virtualNetworkRules": [ + "2016-11-01" + ] + }, + "Microsoft.DataMigration": { + "databaseMigrations": [ + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services": [ + "2017-11-15-preview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/projects": [ + "2017-11-15-preview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/projects/files": [ + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/projects/tasks": [ + "2017-11-15-preview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/serviceTasks": [ + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "sqlMigrationServices": [ + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ] + }, + "Microsoft.DataProtection": { + "backupVaults": [ + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "backupVaults/backupInstances": [ + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "backupVaults/backupPolicies": [ + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01" + ], + "backupVaults/backupResourceGuardProxies": [ + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview" + ], + "resourceGuards": [ + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01" + ] + }, + "Microsoft.DataShare": { + "accounts": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares/dataSets": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares/invitations": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares/synchronizationSettings": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shareSubscriptions": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shareSubscriptions/dataSetMappings": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shareSubscriptions/triggers": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ] + }, + "Microsoft.DBforMariaDB": { + "servers": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/configurations": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/databases": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/firewallRules": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/keys": [ + "2020-01-01-privatepreview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01", + "2018-06-01-privatepreview" + ], + "servers/securityAlertPolicies": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/virtualNetworkRules": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ] + }, + "Microsoft.DBForMySql": { + "flexibleServers": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview" + ], + "flexibleServers/administrators": [ + "2021-12-01-preview" + ], + "flexibleServers/backups": [ + "2021-12-01-preview" + ], + "flexibleServers/databases": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview" + ], + "flexibleServers/firewallRules": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview" + ], + "flexibleServers/keys": [ + "2020-07-01-preview", + "2020-07-01-privatepreview" + ], + "servers": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/administrators": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/configurations": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/databases": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/firewallRules": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/keys": [ + "2020-01-01", + "2020-01-01-privatepreview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01", + "2018-06-01-privatepreview" + ], + "servers/securityAlertPolicies": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/virtualNetworkRules": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ] + }, + "Microsoft.DBforPostgreSQL": { + "flexibleServers": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2021-04-10-privatepreview", + "2021-06-01", + "2021-06-01-preview", + "2021-06-15-privatepreview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-12-01" + ], + "flexibleServers/administrators": [ + "2022-03-08-preview", + "2022-12-01" + ], + "flexibleServers/configurations": [ + "2021-06-01", + "2021-06-01-preview", + "2021-06-15-privatepreview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-12-01" + ], + "flexibleServers/databases": [ + "2020-11-05-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-12-01" + ], + "flexibleServers/firewallRules": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2021-04-10-privatepreview", + "2021-06-01", + "2021-06-01-preview", + "2021-06-15-privatepreview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-12-01" + ], + "flexibleServers/keys": [ + "2020-02-14-privatepreview" + ], + "flexibleServers/migrations": [ + "2021-06-15-privatepreview" + ], + "serverGroupsv2": [ + "2020-10-05-privatepreview" + ], + "serverGroupsv2/firewallRules": [ + "2020-10-05-privatepreview" + ], + "serverGroupsv2/roles": [ + "2020-10-05-privatepreview" + ], + "servers": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/administrators": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/configurations": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/databases": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/firewallRules": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/keys": [ + "2020-01-01", + "2020-01-01-privatepreview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01", + "2018-06-01-privatepreview" + ], + "servers/securityAlertPolicies": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/virtualNetworkRules": [ + "2017-12-01", + "2017-12-01-preview" + ] + }, + "Microsoft.DelegatedNetwork": { + "controller": [ + "2020-08-08-preview", + "2021-03-15" + ], + "delegatedSubnets": [ + "2020-08-08-preview", + "2021-03-15" + ], + "orchestrators": [ + "2020-08-08-preview", + "2021-03-15" + ] + }, + "Microsoft.Deployment.Admin": { + "locations/fileContainers": [ + "2018-07-01", + "2019-01-01" + ], + "locations/productPackages": [ + "2018-07-01", + "2019-01-01" + ] + }, + "Microsoft.DeploymentManager": { + "artifactSources": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "rollouts": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "serviceTopologies": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "serviceTopologies/services": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "serviceTopologies/services/serviceUnits": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "steps": [ + "2018-09-01-preview", + "2019-11-01-preview" + ] + }, + "Microsoft.DesktopVirtualization": { + "applicationGroups": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview" + ], + "applicationGroups/applications": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview" + ], + "hostPools": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview" + ], + "hostPools/msixPackages": [ + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview" + ], + "hostPools/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-10-14-preview" + ], + "scalingPlans": [ + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview" + ], + "scalingPlans/pooledSchedules": [ + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview" + ], + "workspaces": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview" + ], + "workspaces/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-10-14-preview" + ] + }, + "Microsoft.DevCenter": { + "devcenters": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "devcenters/attachednetworks": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "devcenters/catalogs": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "devcenters/devboxdefinitions": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "devcenters/environmentTypes": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "devcenters/galleries": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "networkConnections": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "projects": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "projects/environmentTypes": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "projects/pools": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ], + "projects/pools/schedules": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview" + ] + }, + "Microsoft.DevHub": { + "workflows": [ + "2022-04-01-preview" + ] + }, + "Microsoft.Devices": { + "IotHubs": [ + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview" + ], + "IotHubs/certificates": [ + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview" + ], + "IotHubs/eventHubEndpoints/ConsumerGroups": [ + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview" + ], + "iotHubs/privateEndpointConnections": [ + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview" + ], + "provisioningServices": [ + "2017-08-21-preview", + "2017-11-15", + "2018-01-22", + "2020-01-01", + "2020-03-01", + "2020-09-01-preview", + "2021-10-15", + "2022-02-05" + ], + "provisioningServices/certificates": [ + "2017-08-21-preview", + "2017-11-15", + "2018-01-22", + "2020-01-01", + "2020-03-01", + "2020-09-01-preview", + "2021-10-15", + "2022-02-05" + ], + "provisioningServices/privateEndpointConnections": [ + "2020-03-01", + "2020-09-01-preview", + "2021-10-15", + "2022-02-05" + ] + }, + "Microsoft.DeviceUpdate": { + "accounts": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview" + ], + "accounts/instances": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview" + ], + "accounts/privateEndpointConnectionProxies": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview" + ], + "accounts/privateEndpointConnections": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview" + ] + }, + "Microsoft.DevOps": { + "pipelines": [ + "2019-07-01-preview", + "2020-07-13-preview" + ] + }, + "Microsoft.DevSpaces": { + "controllers": [ + "2019-04-01" + ] + }, + "Microsoft.DevTestLab": { + "labs": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/artifactsources": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/costs": [ + "2016-05-15", + "2018-09-15" + ], + "labs/customimages": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/formulas": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/notificationchannels": [ + "2016-05-15", + "2018-09-15" + ], + "labs/policysets/policies": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/schedules": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/servicerunners": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/disks": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/environments": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/secrets": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/servicefabrics": [ + "2018-09-15" + ], + "labs/users/servicefabrics/schedules": [ + "2018-09-15" + ], + "labs/virtualmachines": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/virtualmachines/schedules": [ + "2016-05-15", + "2018-09-15" + ], + "labs/virtualnetworks": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "schedules": [ + "2016-05-15", + "2018-09-15" + ] + }, + "Microsoft.DigitalTwins": { + "digitalTwinsInstances": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31" + ], + "digitalTwinsInstances/endpoints": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31" + ], + "digitalTwinsInstances/privateEndpointConnections": [ + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31" + ], + "digitalTwinsInstances/timeSeriesDatabaseConnections": [ + "2021-06-30-preview", + "2022-05-31", + "2022-10-31" + ] + }, + "Microsoft.DocumentDB": { + "cassandraClusters": [ + "2021-03-01-preview", + "2021-04-01-preview", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "cassandraClusters/dataCenters": [ + "2021-03-01-preview", + "2021-04-01-preview", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/apis/databases": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/collections": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/collections/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/containers": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/containers/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/graphs": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/graphs/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces/tables": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces/tables/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/tables": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/tables/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/cassandraKeyspaces": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/cassandraKeyspaces/tables": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/cassandraKeyspaces/tables/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/cassandraKeyspaces/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/cassandraKeyspaces/views": [ + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview" + ], + "databaseAccounts/cassandraKeyspaces/views/throughputSettings": [ + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview" + ], + "databaseAccounts/dataTransferJobs": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview" + ], + "databaseAccounts/graphs": [ + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview" + ], + "databaseAccounts/gremlinDatabases": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/gremlinDatabases/graphs": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/gremlinDatabases/graphs/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/gremlinDatabases/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/mongodbDatabases": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/mongodbDatabases/collections": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/mongodbDatabases/collections/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/mongodbDatabases/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/mongodbRoleDefinitions": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/mongodbUserDefinitions": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/notebookWorkspaces": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/privateEndpointConnections": [ + "2019-08-01-preview", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/services": [ + "2021-04-01-preview", + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases/clientEncryptionKeys": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases/containers": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases/containers/storedProcedures": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases/containers/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases/containers/triggers": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases/containers/userDefinedFunctions": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlDatabases/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlRoleAssignments": [ + "2020-06-01-preview", + "2021-03-01-preview", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/sqlRoleDefinitions": [ + "2020-06-01-preview", + "2021-03-01-preview", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/tables": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ], + "databaseAccounts/tables/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview" + ] + }, + "Microsoft.DomainRegistration": { + "domains": [ + "2015-04-01", + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "domains/domainOwnershipIdentifiers": [ + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "domains/transferOut": [ + "2021-03-01", + "2022-03-01" + ] + }, + "Microsoft.Dynamics365FraudProtection": { + "instances": [ + "2021-02-01-preview" + ] + }, + "Microsoft.Easm": { + "workspaces": [ + "2022-04-01-preview" + ], + "workspaces/labels": [ + "2022-04-01-preview" + ] + }, + "Microsoft.EdgeOrder": { + "addresses": [ + "2020-12-01-preview", + "2021-12-01", + "2022-05-01-preview" + ], + "orderItems": [ + "2020-12-01-preview", + "2021-12-01", + "2022-05-01-preview" + ] + }, + "Microsoft.Education": { + "labs": [ + "2021-12-01-preview" + ], + "labs/students": [ + "2021-12-01-preview" + ] + }, + "Microsoft.Elastic": { + "monitors": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview" + ], + "monitors/tagRules": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview" + ] + }, + "Microsoft.ElasticSan": { + "elasticSans": [ + "2021-11-20-preview" + ], + "elasticSans/volumegroups": [ + "2021-11-20-preview" + ], + "elasticSans/volumegroups/volumes": [ + "2021-11-20-preview" + ] + }, + "Microsoft.EngagementFabric": { + "Accounts": [ + "2018-09-01" + ], + "Accounts/Channels": [ + "2018-09-01" + ] + }, + "Microsoft.EnterpriseKnowledgeGraph": { + "services": [ + "2018-12-03" + ] + }, + "Microsoft.EventGrid": { + "{parentType}/privateEndpointConnections": [ + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15" + ], + "domains": [ + "2018-09-15-preview", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15" + ], + "domains/eventSubscriptions": [ + "2021-10-15-preview", + "2022-06-15" + ], + "domains/topics": [ + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15" + ], + "domains/topics/eventSubscriptions": [ + "2021-10-15-preview", + "2022-06-15" + ], + "eventSubscriptions": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15" + ], + "partnerConfigurations": [ + "2021-10-15-preview", + "2022-06-15" + ], + "partnerDestinations": [ + "2021-10-15-preview" + ], + "partnerNamespaces": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2022-06-15" + ], + "partnerNamespaces/channels": [ + "2021-10-15-preview", + "2022-06-15" + ], + "partnerNamespaces/eventChannels": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview" + ], + "partnerRegistrations": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2022-06-15" + ], + "partnerTopics": [ + "2021-10-15-preview", + "2022-06-15" + ], + "partnerTopics/eventSubscriptions": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2022-06-15" + ], + "systemTopics": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15" + ], + "systemTopics/eventSubscriptions": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15" + ], + "topics": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15" + ], + "topics/eventSubscriptions": [ + "2021-10-15-preview", + "2022-06-15" + ] + }, + "Microsoft.EventHub": { + "clusters": [ + "2018-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/applicationGroups": [ + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/disasterRecoveryConfigs": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/eventhubs": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/eventhubs/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/eventhubs/consumergroups": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/ipfilterrules": [ + "2018-01-01-preview" + ], + "namespaces/networkRuleSets": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/privateEndpointConnections": [ + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/schemagroups": [ + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/virtualnetworkrules": [ + "2018-01-01-preview" + ] + }, + "Microsoft.ExtendedLocation": { + "customLocations": [ + "2021-03-15-preview", + "2021-08-15", + "2021-08-31-preview" + ], + "customLocations/resourceSyncRules": [ + "2021-08-31-preview" + ] + }, + "Microsoft.Fabric.Admin": { + "fabricLocations/ipPools": [ + "2016-05-01" + ] + }, + "Microsoft.Features": { + "featureProviders/subscriptionFeatureRegistrations": [ + "2021-07-01" + ] + }, + "Microsoft.FluidRelay": { + "fluidRelayServers": [ + "2021-03-12-preview", + "2021-06-15-preview", + "2021-08-30-preview", + "2021-09-10-preview", + "2022-02-15", + "2022-04-21", + "2022-05-11", + "2022-05-26", + "2022-06-01" + ] + }, + "Microsoft.GuestConfiguration": { + "guestConfigurationAssignments": [ + "2018-01-20-preview", + "2018-06-30-preview", + "2018-11-20", + "2020-06-25", + "2021-01-25", + "2022-01-25" + ] + }, + "Microsoft.HanaOnAzure": { + "hanaInstances": [ + "2017-11-03-preview" + ], + "sapMonitors": [ + "2020-02-07-preview" + ], + "sapMonitors/providerInstances": [ + "2020-02-07-preview" + ] + }, + "Microsoft.HardwareSecurityModules": { + "dedicatedHSMs": [ + "2018-10-31-preview", + "2021-11-30" + ] + }, + "Microsoft.HDInsight": { + "clusters": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01" + ], + "clusters/applications": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01" + ], + "clusters/extensions": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01" + ], + "clusters/privateEndpointConnections": [ + "2021-06-01" + ] + }, + "Microsoft.HealthBot": { + "healthBots": [ + "2020-10-20", + "2020-10-20-preview", + "2020-12-08", + "2020-12-08-preview", + "2021-06-10", + "2021-08-24", + "2022-08-08" + ] + }, + "Microsoft.HealthcareApis": { + "services": [ + "2018-08-20-preview", + "2019-09-16", + "2020-03-15", + "2020-03-30", + "2021-01-11", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ], + "services/privateEndpointConnections": [ + "2020-03-30", + "2021-01-11", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ], + "workspaces": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ], + "workspaces/analyticsconnectors": [ + "2022-10-01-preview" + ], + "workspaces/dicomservices": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ], + "workspaces/fhirservices": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ], + "workspaces/iotconnectors": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ], + "workspaces/iotconnectors/fhirdestinations": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ], + "workspaces/privateEndpointConnections": [ + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview" + ] + }, + "Microsoft.HybridCompute": { + "machines": [ + "2019-03-18", + "2019-08-02", + "2019-12-12", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10" + ], + "machines/extensions": [ + "2019-08-02", + "2019-12-12", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10" + ], + "privateLinkScopes": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10" + ], + "privateLinkScopes/privateEndpointConnections": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10" + ], + "privateLinkScopes/scopedResources": [ + "2020-08-15-preview" + ] + }, + "Microsoft.HybridConnectivity": { + "endpoints": [ + "2021-10-06-preview", + "2022-05-01-preview" + ] + }, + "Microsoft.HybridContainerService": { + "provisionedClusters": [ + "2022-05-01-preview" + ], + "provisionedClusters/agentPools": [ + "2022-05-01-preview" + ], + "provisionedClusters/hybridIdentityMetadata": [ + "2022-05-01-preview" + ], + "storageSpaces": [ + "2022-05-01-preview" + ], + "virtualNetworks": [ + "2022-05-01-preview" + ] + }, + "Microsoft.HybridData": { + "dataManagers": [ + "2016-06-01", + "2019-06-01" + ], + "dataManagers/dataServices/jobDefinitions": [ + "2016-06-01", + "2019-06-01" + ], + "dataManagers/dataStores": [ + "2016-06-01", + "2019-06-01" + ] + }, + "Microsoft.HybridNetwork": { + "devices": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "locations/vendors/networkFunctions": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "networkFunctions": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "vendors": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "vendors/vendorSkus": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "vendors/vendorSkus/previewSubscriptions": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ] + }, + "Microsoft.ImportExport": { + "jobs": [ + "2016-11-01", + "2020-08-01", + "2021-01-01" + ] + }, + "Microsoft.InfrastructureInsights.Admin": { + "regionHealths/alerts": [ + "2016-05-01" + ] + }, + "Microsoft.Insights": { + "actionGroups": [ + "2017-04-01", + "2018-03-01", + "2018-09-01", + "2019-03-01", + "2019-06-01", + "2021-09-01", + "2022-04-01", + "2022-06-01" + ], + "activityLogAlerts": [ + "2017-03-01-preview", + "2017-04-01", + "2020-10-01" + ], + "alertrules": [ + "2014-04-01", + "2016-03-01" + ], + "autoscalesettings": [ + "2014-04-01", + "2015-04-01", + "2021-05-01-preview", + "2022-10-01" + ], + "components": [ + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/{scopePath}": [ + "2015-05-01" + ], + "components/Annotations": [ + "2015-05-01" + ], + "components/currentbillingfeatures": [ + "2015-05-01" + ], + "components/exportconfiguration": [ + "2015-05-01" + ], + "components/favorites": [ + "2015-05-01" + ], + "components/linkedStorageAccounts": [ + "2020-03-01-preview" + ], + "components/pricingPlans": [ + "2017-10-01" + ], + "components/ProactiveDetectionConfigs": [ + "2015-05-01", + "2018-05-01-preview" + ], + "dataCollectionEndpoints": [ + "2021-04-01", + "2021-09-01-preview" + ], + "dataCollectionRuleAssociations": [ + "2019-11-01-preview", + "2021-04-01", + "2021-09-01-preview" + ], + "dataCollectionRules": [ + "2019-11-01-preview", + "2021-04-01", + "2021-09-01-preview" + ], + "diagnosticSettings": [ + "2015-07-01", + "2016-09-01", + "2017-05-01-preview", + "2020-01-01-preview", + "2021-05-01-preview" + ], + "guestDiagnosticSettings": [ + "2018-06-01-preview" + ], + "guestDiagnosticSettingsAssociation": [ + "2018-06-01-preview" + ], + "logprofiles": [ + "2016-03-01" + ], + "metricAlerts": [ + "2018-03-01" + ], + "myWorkbooks": [ + "2015-05-01", + "2020-10-20", + "2021-03-08" + ], + "privateLinkScopes": [ + "2019-10-17-preview", + "2021-07-01-preview" + ], + "privateLinkScopes/privateEndpointConnections": [ + "2019-10-17-preview", + "2021-07-01-preview" + ], + "privateLinkScopes/scopedResources": [ + "2019-10-17-preview", + "2021-07-01-preview" + ], + "scheduledQueryRules": [ + "2018-04-16", + "2020-05-01-preview", + "2021-02-01-preview", + "2021-08-01", + "2022-06-15", + "2022-08-01-preview" + ], + "webtests": [ + "2015-05-01", + "2018-05-01-preview", + "2020-10-05-preview", + "2022-06-15" + ], + "workbooks": [ + "2015-05-01", + "2018-06-17-preview", + "2020-10-20", + "2021-03-08", + "2021-08-01", + "2022-04-01" + ], + "workbooktemplates": [ + "2019-10-17-preview", + "2020-11-20" + ] + }, + "Microsoft.Intune": { + "locations/androidPolicies": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/androidPolicies/apps": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/androidPolicies/groups": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/iosPolicies": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/iosPolicies/apps": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/iosPolicies/groups": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ] + }, + "Microsoft.IoTCentral": { + "iotApps": [ + "2018-09-01", + "2021-06-01", + "2021-11-01-preview" + ], + "iotApps/privateEndpointConnections": [ + "2021-11-01-preview" + ] + }, + "Microsoft.IoTSecurity": { + "defenderSettings": [ + "2021-02-01-preview" + ], + "locations/deviceGroups": [ + "2021-02-01-preview" + ], + "onPremiseSensors": [ + "2021-02-01-preview" + ], + "sensors": [ + "2021-02-01-preview" + ], + "sites": [ + "2021-02-01-preview" + ] + }, + "Microsoft.KeyVault": { + "managedHSMs": [ + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-07-01" + ], + "managedHSMs/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-07-01" + ], + "vaults": [ + "2015-06-01", + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-07-01" + ], + "vaults/accessPolicies": [ + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-07-01" + ], + "vaults/keys": [ + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-07-01" + ], + "vaults/privateEndpointConnections": [ + "2018-02-14", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-07-01" + ], + "vaults/secrets": [ + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-07-01" + ] + }, + "Microsoft.Kubernetes": { + "connectedClusters": [ + "2020-01-01-preview", + "2021-03-01", + "2021-04-01-preview", + "2021-10-01", + "2022-05-01-preview", + "2022-10-01-preview" + ] + }, + "Microsoft.KubernetesConfiguration": { + "extensions": [ + "2020-07-01-preview", + "2021-05-01-preview", + "2021-09-01", + "2021-11-01-preview", + "2022-01-01-preview", + "2022-03-01", + "2022-04-02-preview", + "2022-07-01", + "2022-11-01" + ], + "fluxConfigurations": [ + "2021-11-01-preview", + "2022-01-01-preview", + "2022-03-01", + "2022-07-01", + "2022-11-01" + ], + "privateLinkScopes": [ + "2022-04-02-preview" + ], + "privateLinkScopes/privateEndpointConnections": [ + "2022-04-02-preview" + ], + "sourceControlConfigurations": [ + "2019-11-01-preview", + "2020-07-01-preview", + "2020-10-01-preview", + "2021-03-01", + "2021-05-01-preview", + "2021-11-01-preview", + "2022-01-01-preview", + "2022-03-01", + "2022-07-01", + "2022-11-01" + ] + }, + "Microsoft.Kusto": { + "clusters": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/attachedDatabaseConfigurations": [ + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/databases": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/databases/dataConnections": [ + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/databases/eventhubconnections": [ + "2017-09-07-privatepreview", + "2018-09-07-preview" + ], + "clusters/databases/principalAssignments": [ + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/databases/scripts": [ + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/managedPrivateEndpoints": [ + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/principalAssignments": [ + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ], + "clusters/privateEndpointConnections": [ + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11" + ] + }, + "Microsoft.LabServices": { + "labaccounts": [ + "2018-10-15" + ], + "labaccounts/galleryimages": [ + "2018-10-15" + ], + "labaccounts/labs": [ + "2018-10-15" + ], + "labaccounts/labs/environmentsettings": [ + "2018-10-15" + ], + "labaccounts/labs/environmentsettings/environments": [ + "2018-10-15" + ], + "labaccounts/labs/users": [ + "2018-10-15" + ], + "labPlans": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01" + ], + "labPlans/images": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01" + ], + "labs": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01" + ], + "labs/schedules": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01" + ], + "labs/users": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01" + ] + }, + "Microsoft.LoadTestService": { + "loadTests": [ + "2021-12-01-preview", + "2022-04-15-preview", + "2022-12-01" + ] + }, + "Microsoft.Logic": { + "integrationAccounts": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/agreements": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/assemblies": [ + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/batchConfigurations": [ + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/certificates": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/maps": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/partners": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/rosettanetprocessconfigurations": [ + "2016-06-01" + ], + "integrationAccounts/schemas": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/sessions": [ + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationServiceEnvironments": [ + "2019-05-01" + ], + "integrationServiceEnvironments/managedApis": [ + "2019-05-01" + ], + "workflows": [ + "2015-02-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "workflows/accessKeys": [ + "2015-02-01-preview" + ] + }, + "Microsoft.Logz": { + "monitors": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/accounts": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/accounts/tagRules": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/metricsSource": [ + "2022-01-01-preview" + ], + "monitors/metricsSource/tagRules": [ + "2022-01-01-preview" + ], + "monitors/singleSignOnConfigurations": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/tagRules": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ] + }, + "Microsoft.M365SecurityAndCompliance": { + "privateLinkServicesForEDMUpload": [ + "2021-03-25-preview" + ], + "privateLinkServicesForEDMUpload/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365ComplianceCenter": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365SecurityCenter": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForMIPPolicySync": [ + "2021-03-25-preview" + ], + "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForO365ManagementActivityAPI": [ + "2021-03-25-preview" + ], + "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForSCCPowershell": [ + "2021-03-25-preview" + ], + "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ + "2021-03-25-preview" + ] + }, + "Microsoft.MachineLearning": { + "commitmentPlans": [ + "2016-05-01-preview" + ], + "webServices": [ + "2016-05-01-preview", + "2017-01-01" + ], + "workspaces": [ + "2016-04-01", + "2019-10-01" + ] + }, + "Microsoft.MachineLearningCompute": { + "operationalizationClusters": [ + "2017-06-01-preview", + "2017-08-01-preview" + ] + }, + "Microsoft.MachineLearningExperimentation": { + "accounts": [ + "2017-05-01-preview" + ], + "accounts/workspaces": [ + "2017-05-01-preview" + ], + "accounts/workspaces/projects": [ + "2017-05-01-preview" + ] + }, + "Microsoft.MachineLearningServices": { + "registries": [ + "2022-10-01-preview" + ], + "registries/codes": [ + "2022-10-01-preview" + ], + "registries/codes/versions": [ + "2022-10-01-preview" + ], + "registries/components": [ + "2022-10-01-preview" + ], + "registries/components/versions": [ + "2022-10-01-preview" + ], + "registries/environments": [ + "2022-10-01-preview" + ], + "registries/environments/versions": [ + "2022-10-01-preview" + ], + "registries/models": [ + "2022-10-01-preview" + ], + "registries/models/versions": [ + "2022-10-01-preview" + ], + "workspaces": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/batchEndpoints": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/batchEndpoints/deployments": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/codes": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/codes/versions": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/components": [ + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/components/versions": [ + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/computes": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/connections": [ + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/data": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/data/versions": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/datasets": [ + "2020-05-01-preview" + ], + "workspaces/datastores": [ + "2020-05-01-preview", + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/environments": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/environments/versions": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/jobs": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/labelingJobs": [ + "2020-09-01-preview", + "2021-03-01-preview", + "2022-06-01-preview", + "2022-10-01-preview" + ], + "workspaces/linkedServices": [ + "2020-09-01-preview" + ], + "workspaces/linkedWorkspaces": [ + "2020-05-01-preview", + "2020-05-15-preview" + ], + "workspaces/models": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/models/versions": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/onlineEndpoints": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/onlineEndpoints/deployments": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/privateEndpointConnections": [ + "2020-01-01", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/schedules": [ + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "workspaces/services": [ + "2020-05-01-preview", + "2020-05-15-preview", + "2020-09-01-preview", + "2021-01-01", + "2021-04-01" + ] + }, + "Microsoft.Maintenance": { + "applyUpdates": [ + "2018-06-01-preview", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview" + ], + "configurationAssignments": [ + "2018-06-01-preview", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview" + ], + "maintenanceConfigurations": [ + "2018-06-01-preview", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview" + ] + }, + "Microsoft.ManagedIdentity": { + "userAssignedIdentities": [ + "2015-08-31-preview", + "2018-11-30", + "2021-09-30-preview", + "2022-01-31-preview" + ], + "userAssignedIdentities/federatedIdentityCredentials": [ + "2022-01-31-preview" + ] + }, + "Microsoft.ManagedNetwork": { + "managedNetworks": [ + "2019-06-01-preview" + ], + "managedNetworks/managedNetworkGroups": [ + "2019-06-01-preview" + ], + "managedNetworks/managedNetworkPeeringPolicies": [ + "2019-06-01-preview" + ], + "scopeAssignments": [ + "2019-06-01-preview" + ] + }, + "Microsoft.ManagedServices": { + "registrationAssignments": [ + "2018-06-01-preview", + "2019-04-01-preview", + "2019-06-01", + "2019-09-01", + "2020-02-01-preview", + "2022-01-01-preview", + "2022-10-01" + ], + "registrationDefinitions": [ + "2018-06-01-preview", + "2019-04-01-preview", + "2019-06-01", + "2019-09-01", + "2020-02-01-preview", + "2022-01-01-preview", + "2022-10-01" + ] + }, + "Microsoft.Management": { + "managementGroups": [ + "2017-11-01-preview", + "2018-01-01-preview", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01" + ], + "managementGroups/settings": [ + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01" + ], + "managementGroups/subscriptions": [ + "2017-11-01-preview", + "2018-01-01-preview", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01" + ] + }, + "Microsoft.ManagementPartner": { + "partners": [ + "2018-02-01" + ] + }, + "Microsoft.Maps": { + "accounts": [ + "2017-01-01-preview", + "2018-05-01", + "2020-02-01-preview", + "2021-02-01", + "2021-07-01-preview", + "2021-12-01-preview" + ], + "accounts/creators": [ + "2020-02-01-preview", + "2021-02-01", + "2021-07-01-preview", + "2021-12-01-preview" + ], + "accounts/privateAtlases": [ + "2020-02-01-preview" + ] + }, + "Microsoft.Marketplace": { + "privateStores": [ + "2020-01-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01" + ], + "privateStores/adminRequestApprovals": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01" + ], + "privateStores/collections": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01" + ], + "privateStores/collections/offers": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01" + ], + "privateStores/offers": [ + "2020-01-01" + ], + "privateStores/requestApprovals": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01" + ] + }, + "Microsoft.MarketplaceOrdering": { + "offerTypes/publishers/offers/plans/agreements": [ + "2015-06-01", + "2021-01-01" + ] + }, + "Microsoft.Media": { + "mediaservices": [ + "2015-10-01", + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01" + ], + "mediaServices/accountFilters": [ + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaServices/assets": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaServices/assets/assetFilters": [ + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaServices/assets/tracks": [ + "2021-11-01", + "2022-08-01" + ], + "mediaServices/contentKeyPolicies": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaservices/liveEvents": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaservices/liveEvents/liveOutputs": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaServices/mediaGraphs": [ + "2019-09-01-preview", + "2020-02-01-preview" + ], + "mediaservices/privateEndpointConnections": [ + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01" + ], + "mediaservices/streamingEndpoints": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaServices/streamingLocators": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaServices/streamingPolicies": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01" + ], + "mediaServices/transforms": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01" + ], + "mediaServices/transforms/jobs": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01" + ], + "videoAnalyzers": [ + "2021-05-01-preview", + "2021-11-01-preview" + ], + "videoAnalyzers/accessPolicies": [ + "2021-05-01-preview", + "2021-11-01-preview" + ], + "videoAnalyzers/edgeModules": [ + "2021-05-01-preview", + "2021-11-01-preview" + ], + "videoAnalyzers/livePipelines": [ + "2021-11-01-preview" + ], + "videoAnalyzers/pipelineJobs": [ + "2021-11-01-preview" + ], + "videoAnalyzers/pipelineTopologies": [ + "2021-11-01-preview" + ], + "videoAnalyzers/privateEndpointConnections": [ + "2021-11-01-preview" + ], + "videoAnalyzers/videos": [ + "2021-05-01-preview", + "2021-11-01-preview" + ] + }, + "Microsoft.Migrate": { + "assessmentProjects": [ + "2019-10-01" + ], + "assessmentProjects/groups": [ + "2019-10-01" + ], + "assessmentProjects/groups/assessments": [ + "2019-10-01" + ], + "assessmentProjects/hypervcollectors": [ + "2019-10-01" + ], + "assessmentProjects/importcollectors": [ + "2019-10-01" + ], + "assessmentprojects/privateEndpointConnections": [ + "2019-10-01" + ], + "assessmentProjects/servercollectors": [ + "2019-10-01" + ], + "assessmentProjects/vmwarecollectors": [ + "2019-10-01" + ], + "migrateProjects": [ + "2018-09-01-preview", + "2020-05-01" + ], + "migrateProjects/privateEndpointConnections": [ + "2020-05-01" + ], + "migrateProjects/solutions": [ + "2018-09-01-preview" + ], + "moveCollections": [ + "2019-10-01-preview", + "2021-01-01", + "2021-08-01" + ], + "moveCollections/moveResources": [ + "2019-10-01-preview", + "2021-01-01", + "2021-08-01" + ], + "projects": [ + "2017-11-11-preview", + "2018-02-02" + ], + "projects/groups": [ + "2017-11-11-preview", + "2018-02-02" + ], + "projects/groups/assessments": [ + "2017-11-11-preview", + "2018-02-02" + ] + }, + "Microsoft.MixedReality": { + "objectAnchorsAccounts": [ + "2021-03-01-preview" + ], + "remoteRenderingAccounts": [ + "2019-12-02-preview", + "2020-04-06-preview", + "2021-01-01", + "2021-03-01-preview" + ], + "spatialAnchorsAccounts": [ + "2019-02-28-preview", + "2019-12-02-preview", + "2020-05-01", + "2021-01-01", + "2021-03-01-preview" + ] + }, + "Microsoft.MobileNetwork": { + "mobileNetworks": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "mobileNetworks/dataNetworks": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "mobileNetworks/services": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "mobileNetworks/simPolicies": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "mobileNetworks/sites": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "mobileNetworks/slices": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "packetCoreControlPlanes": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "packetCoreControlPlanes/packetCoreDataPlanes": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01" + ], + "simGroups": [ + "2022-04-01-preview", + "2022-11-01" + ], + "simGroups/sims": [ + "2022-04-01-preview", + "2022-11-01" + ], + "sims": [ + "2022-03-01-preview" + ] + }, + "Microsoft.Monitor": { + "accounts": [ + "2021-06-03-preview" + ] + }, + "Microsoft.NetApp": { + "netAppAccounts": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/backupPolicies": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/capacityPools": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/capacityPools/volumes": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/capacityPools/volumes/backups": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/capacityPools/volumes/snapshots": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/capacityPools/volumes/subvolumes": [ + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/capacityPools/volumes/volumeQuotaRules": [ + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/snapshotPolicies": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ], + "netAppAccounts/volumeGroups": [ + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01" + ] + }, + "Microsoft.Network": { + "applicationGateways": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "applicationGateways/privateEndpointConnections": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "ApplicationGatewayWebApplicationFirewallPolicies": [ + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "applicationSecurityGroups": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "azureFirewalls": [ + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "bastionHosts": [ + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "cloudServiceSlots": [ + "2022-05-01", + "2022-07-01" + ], + "connections": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "connections/sharedkey": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "customIpPrefixes": [ + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "ddosCustomPolicies": [ + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "ddosProtectionPlans": [ + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "dnsForwardingRulesets": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsForwardingRulesets/forwardingRules": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsForwardingRulesets/virtualNetworkLinks": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsResolvers": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsResolvers/inboundEndpoints": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsResolvers/outboundEndpoints": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsZones": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/A": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/AAAA": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/CAA": [ + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/CNAME": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/MX": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/NS": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/PTR": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/SOA": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/SRV": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dnsZones/TXT": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01" + ], + "dscpConfigurations": [ + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteCircuits": [ + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteCircuits/authorizations": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteCircuits/peerings": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteCircuits/peerings/connections": [ + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteCrossConnections": [ + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteCrossConnections/peerings": [ + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteGateways": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRouteGateways/expressRouteConnections": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "ExpressRoutePorts": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "expressRoutePorts/authorizations": [ + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "firewallPolicies": [ + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "firewallPolicies/ruleCollectionGroups": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "firewallPolicies/ruleGroups": [ + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01" + ], + "firewallPolicies/signatureOverrides": [ + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "frontDoors": [ + "2018-08-01-preview", + "2019-04-01", + "2019-05-01", + "2020-01-01", + "2020-04-01", + "2020-05-01", + "2021-06-01" + ], + "frontDoors/rulesEngines": [ + "2020-01-01", + "2020-04-01", + "2020-05-01", + "2021-06-01" + ], + "FrontDoorWebApplicationFirewallPolicies": [ + "2018-08-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-10-01", + "2020-04-01", + "2020-11-01", + "2021-06-01", + "2022-05-01" + ], + "interfaceEndpoints": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01" + ], + "IpAllocations": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "ipGroups": [ + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "loadBalancers": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "loadBalancers/backendAddressPools": [ + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "loadBalancers/inboundNatRules": [ + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "localNetworkGateways": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "managementGroups/networkManagerConnections": [ + "2021-05-01-preview" + ], + "natGateways": [ + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "NetworkExperimentProfiles": [ + "2019-11-01" + ], + "NetworkExperimentProfiles/Experiments": [ + "2019-11-01" + ], + "networkInterfaces": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkInterfaces/tapConfigurations": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkManagerConnections": [ + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/connectivityConfigurations": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/networkGroups": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/networkGroups/staticMembers": [ + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/scopeConnections": [ + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/securityAdminConfigurations": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/securityAdminConfigurations/ruleCollections": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/securityAdminConfigurations/ruleCollections/rules": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01" + ], + "networkManagers/securityUserConfigurations": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-02-01-preview", + "2022-04-01-preview" + ], + "networkManagers/securityUserConfigurations/ruleCollections": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-02-01-preview", + "2022-04-01-preview" + ], + "networkManagers/securityUserConfigurations/ruleCollections/rules": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-02-01-preview", + "2022-04-01-preview" + ], + "networkProfiles": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkSecurityGroups": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkSecurityGroups/securityRules": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkSecurityPerimeters": [ + "2021-02-01-preview", + "2021-03-01-preview" + ], + "networkSecurityPerimeters/links": [ + "2021-02-01-preview" + ], + "networkSecurityPerimeters/profiles": [ + "2021-02-01-preview" + ], + "networkSecurityPerimeters/profiles/accessRules": [ + "2021-02-01-preview" + ], + "networkSecurityPerimeters/resourceAssociations": [ + "2021-02-01-preview" + ], + "networkVirtualAppliances": [ + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkVirtualAppliances/inboundSecurityRules": [ + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkVirtualAppliances/virtualApplianceSites": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkWatchers": [ + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkWatchers/connectionMonitors": [ + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkWatchers/flowLogs": [ + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "networkWatchers/packetCaptures": [ + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "p2svpnGateways": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "privateDnsZones": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/A": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/AAAA": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/CNAME": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/MX": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/PTR": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/SOA": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/SRV": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/TXT": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/virtualNetworkLinks": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateEndpoints": [ + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "privateEndpoints/privateDnsZoneGroups": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "privateLinkServices": [ + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "privateLinkServices/privateEndpointConnections": [ + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "publicIPAddresses": [ + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "publicIPPrefixes": [ + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "routeFilters": [ + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "routeFilters/routeFilterRules": [ + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "routeTables": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "routeTables/routes": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "securityPartnerProviders": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "serviceEndpointPolicies": [ + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "serviceEndpointPolicies/serviceEndpointPolicyDefinitions": [ + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "trafficmanagerprofiles": [ + "2015-11-01", + "2017-03-01", + "2017-05-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles/AzureEndpoints": [ + "2018-08-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles/ExternalEndpoints": [ + "2018-08-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles/NestedEndpoints": [ + "2018-08-01", + "2022-04-01-preview" + ], + "trafficManagerUserMetricsKeys": [ + "2017-09-01-preview", + "2018-04-01", + "2018-08-01", + "2022-04-01-preview" + ], + "virtualHubs": [ + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualHubs/bgpConnections": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualHubs/hubRouteTables": [ + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualHubs/hubVirtualNetworkConnections": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualHubs/ipConfigurations": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualHubs/routeMaps": [ + "2022-05-01", + "2022-07-01" + ], + "virtualHubs/routeTables": [ + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualHubs/routingIntent": [ + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualnetworkgateways": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualNetworkGateways/natRules": [ + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualnetworks": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualnetworks/subnets": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualNetworks/virtualNetworkPeerings": [ + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualNetworkTaps": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualRouters": [ + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualRouters/peerings": [ + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualWans": [ + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "virtualWans/p2sVpnServerConfigurations": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01" + ], + "vpnGateways": [ + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "vpnGateways/natRules": [ + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "vpnGateways/vpnConnections": [ + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "vpnServerConfigurations": [ + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "vpnServerConfigurations/configurationPolicyGroups": [ + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ], + "vpnSites": [ + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01" + ] + }, + "Microsoft.Network.Admin": { + "locations/quotas": [ + "2015-06-15" + ] + }, + "Microsoft.NetworkFunction": { + "azureTrafficCollectors": [ + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ], + "azureTrafficCollectors/collectorPolicies": [ + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ] + }, + "Microsoft.NotificationHubs": { + "namespaces": [ + "2014-09-01", + "2016-03-01", + "2017-04-01" + ], + "namespaces/AuthorizationRules": [ + "2014-09-01", + "2016-03-01", + "2017-04-01" + ], + "namespaces/notificationHubs": [ + "2014-09-01", + "2016-03-01", + "2017-04-01" + ], + "namespaces/notificationHubs/AuthorizationRules": [ + "2014-09-01", + "2016-03-01", + "2017-04-01" + ] + }, + "Microsoft.OffAzure": { + "HyperVSites": [ + "2020-01-01", + "2020-07-07" + ], + "HyperVSites/clusters": [ + "2020-01-01", + "2020-07-07" + ], + "HyperVSites/hosts": [ + "2020-01-01", + "2020-07-07" + ], + "MasterSites": [ + "2020-07-07" + ], + "masterSites/privateEndpointConnections": [ + "2020-07-07" + ], + "VMwareSites": [ + "2020-01-01", + "2020-07-07" + ], + "VMwareSites/vCenters": [ + "2020-01-01", + "2020-07-07" + ] + }, + "Microsoft.OpenEnergyPlatform": { + "energyServices": [ + "2021-06-01-preview", + "2022-04-04-preview" + ] + }, + "Microsoft.OperationalInsights": { + "clusters": [ + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01", + "2020-10-01", + "2021-06-01" + ], + "queryPacks": [ + "2019-09-01", + "2019-09-01-preview" + ], + "queryPacks/queries": [ + "2019-09-01", + "2019-09-01-preview" + ], + "workspaces": [ + "2015-11-01-preview", + "2020-03-01-preview", + "2020-08-01", + "2020-10-01", + "2021-06-01", + "2021-12-01-preview", + "2022-10-01" + ], + "workspaces/dataExports": [ + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/dataSources": [ + "2015-11-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/features/machineGroups": [ + "2015-11-01-preview" + ], + "workspaces/linkedServices": [ + "2015-11-01-preview", + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/linkedStorageAccounts": [ + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/savedSearches": [ + "2015-03-20", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/storageInsightConfigs": [ + "2015-03-20", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/tables": [ + "2021-12-01-preview", + "2022-10-01" + ] + }, + "Microsoft.OperationsManagement": { + "ManagementAssociations": [ + "2015-11-01-preview" + ], + "ManagementConfigurations": [ + "2015-11-01-preview" + ], + "solutions": [ + "2015-11-01-preview" + ] + }, + "Microsoft.Orbital": { + "contactProfiles": [ + "2021-04-04-preview", + "2022-03-01" + ], + "spacecrafts": [ + "2021-04-04-preview", + "2022-03-01" + ], + "spacecrafts/contacts": [ + "2021-04-04-preview", + "2022-03-01" + ] + }, + "Microsoft.Peering": { + "peerAsns": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peerings": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peerings/registeredAsns": [ + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peerings/registeredPrefixes": [ + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServices": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServices/connectionMonitorTests": [ + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServices/prefixes": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ] + }, + "Microsoft.PolicyInsights": { + "attestations": [ + "2021-01-01", + "2022-09-01" + ], + "remediations": [ + "2018-07-01-preview", + "2019-07-01", + "2021-10-01" + ] + }, + "Microsoft.Portal": { + "consoles": [ + "2018-10-01" + ], + "dashboards": [ + "2015-08-01-preview", + "2018-10-01-preview", + "2019-01-01-preview", + "2020-09-01-preview" + ], + "locations/consoles": [ + "2018-10-01" + ], + "locations/userSettings": [ + "2018-10-01" + ], + "tenantConfigurations": [ + "2019-01-01-preview", + "2020-09-01-preview" + ], + "userSettings": [ + "2018-10-01" + ] + }, + "Microsoft.PowerBI": { + "privateLinkServicesForPowerBI": [ + "2020-06-01" + ], + "privateLinkServicesForPowerBI/privateEndpointConnections": [ + "2020-06-01" + ], + "workspaceCollections": [ + "2016-01-29" + ] + }, + "Microsoft.PowerBIDedicated": { + "autoScaleVCores": [ + "2021-01-01" + ], + "capacities": [ + "2017-10-01", + "2021-01-01" + ] + }, + "Microsoft.PowerPlatform": { + "accounts": [ + "2020-10-30-preview" + ], + "enterprisePolicies": [ + "2020-10-30-preview" + ], + "enterprisePolicies/privateEndpointConnections": [ + "2020-10-30-preview" + ] + }, + "Microsoft.ProviderHub": { + "providerRegistrations": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/customRollouts": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/defaultRollouts": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/notificationRegistrations": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/operations": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ] + }, + "Microsoft.Purview": { + "accounts": [ + "2020-12-01-preview", + "2021-07-01" + ], + "accounts/privateEndpointConnections": [ + "2020-12-01-preview", + "2021-07-01" + ] + }, + "Microsoft.Quantum": { + "workspaces": [ + "2019-11-04-preview", + "2022-01-10-preview" + ] + }, + "Microsoft.Quota": { + "quotaLimits": [ + "2021-03-15" + ], + "quotas": [ + "2021-03-15-preview" + ] + }, + "Microsoft.RecommendationsService": { + "accounts": [ + "2022-02-01", + "2022-03-01-preview" + ], + "accounts/modeling": [ + "2022-02-01", + "2022-03-01-preview" + ], + "accounts/serviceEndpoints": [ + "2022-02-01", + "2022-03-01-preview" + ] + }, + "Microsoft.RecoveryServices": { + "vaults": [ + "2016-06-01", + "2020-02-02", + "2020-10-01", + "2021-01-01", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-01-31-preview", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01" + ], + "vaults/backupconfig": [ + "2019-06-15", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/backupEncryptionConfigs": [ + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/backupFabrics/backupProtectionIntent": [ + "2017-07-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/backupFabrics/protectionContainers": [ + "2016-12-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/backupFabrics/protectionContainers/protectedItems": [ + "2016-06-01", + "2019-05-13", + "2019-06-15", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/backupPolicies": [ + "2016-06-01", + "2019-05-13", + "2019-06-15", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/backupResourceGuardProxies": [ + "2021-02-01-preview", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/backupstorageconfig": [ + "2016-12-01", + "2018-12-20", + "2021-04-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-15", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/certificates": [ + "2016-06-01", + "2020-02-02", + "2020-10-01", + "2021-01-01", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-01-31-preview", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01" + ], + "vaults/extendedInformation": [ + "2016-06-01", + "2020-02-02", + "2020-10-01", + "2021-01-01", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-01-31-preview", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01" + ], + "vaults/privateEndpointConnections": [ + "2020-02-02", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-10-01" + ], + "vaults/replicationAlertSettings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems": [ + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationRecoveryServicesProviders": [ + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationFabrics/replicationvCenters": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationPolicies": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationProtectionIntents": [ + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationRecoveryPlans": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ], + "vaults/replicationVaultSettings": [ + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01" + ] + }, + "Microsoft.RedHatOpenShift": { + "openShiftClusters": [ + "2020-04-30", + "2021-09-01-preview", + "2022-04-01", + "2022-09-04" + ], + "openshiftclusters/machinePool": [ + "2022-09-04" + ], + "openshiftclusters/secret": [ + "2022-09-04" + ], + "openshiftclusters/syncIdentityProvider": [ + "2022-09-04" + ], + "openshiftclusters/syncSet": [ + "2022-09-04" + ] + }, + "Microsoft.Relay": { + "namespaces": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/AuthorizationRules": [ + "2016-07-01", + "2017-04-01", + "2021-11-01" + ], + "namespaces/HybridConnections": [ + "2016-07-01", + "2017-04-01", + "2021-11-01" + ], + "namespaces/HybridConnections/authorizationRules": [ + "2016-07-01", + "2017-04-01", + "2021-11-01" + ], + "namespaces/networkRuleSets": [ + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/privateEndpointConnections": [ + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/WcfRelays": [ + "2016-07-01", + "2017-04-01", + "2021-11-01" + ], + "namespaces/WcfRelays/authorizationRules": [ + "2016-07-01", + "2017-04-01", + "2021-11-01" + ] + }, + "Microsoft.ResourceConnector": { + "appliances": [ + "2021-10-31-preview", + "2022-04-15-preview", + "2022-10-27" + ] + }, + "Microsoft.ResourceGraph": { + "queries": [ + "2018-09-01-preview", + "2020-04-01-preview" + ] + }, + "Microsoft.Resources": { + "deployments": [ + "2015-11-01", + "2016-02-01", + "2016-07-01", + "2016-09-01", + "2017-05-10", + "2018-02-01", + "2018-05-01", + "2019-03-01", + "2019-05-01", + "2019-05-10", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2020-06-01", + "2020-08-01", + "2020-10-01", + "2021-01-01", + "2021-04-01", + "2022-09-01" + ], + "deploymentScripts": [ + "2019-10-01-preview", + "2020-10-01" + ], + "resourceGroups": [ + "2015-11-01", + "2016-02-01", + "2016-07-01", + "2016-09-01", + "2017-05-10", + "2018-02-01", + "2018-05-01", + "2019-03-01", + "2019-05-01", + "2019-05-10", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2020-06-01", + "2020-08-01", + "2020-10-01", + "2021-01-01", + "2021-04-01", + "2022-09-01" + ], + "tags": [ + "2019-10-01", + "2020-06-01", + "2020-08-01", + "2020-10-01", + "2021-01-01", + "2021-04-01", + "2022-09-01" + ], + "templateSpecs": [ + "2019-06-01-preview", + "2021-03-01-preview", + "2021-05-01", + "2022-02-01" + ], + "templateSpecs/versions": [ + "2019-06-01-preview", + "2021-03-01-preview", + "2021-05-01", + "2022-02-01" + ] + }, + "Microsoft.SaaS": { + "resources": [ + "2018-03-01-beta" + ], + "saasresources": [ + "2018-03-01-beta" + ] + }, + "Microsoft.Scheduler": { + "jobCollections": [ + "2014-08-01-preview", + "2016-01-01", + "2016-03-01" + ], + "jobCollections/jobs": [ + "2014-08-01-preview", + "2016-01-01", + "2016-03-01" + ] + }, + "Microsoft.ScVmm": { + "availabilitySets": [ + "2020-06-05-preview" + ], + "clouds": [ + "2020-06-05-preview" + ], + "virtualMachines": [ + "2020-06-05-preview" + ], + "virtualMachineTemplates": [ + "2020-06-05-preview" + ], + "virtualNetworks": [ + "2020-06-05-preview" + ], + "vmmServers": [ + "2020-06-05-preview" + ], + "vmmServers/inventoryItems": [ + "2020-06-05-preview" + ] + }, + "Microsoft.Search": { + "searchServices": [ + "2015-02-28", + "2015-08-19", + "2019-10-01-preview", + "2020-03-13", + "2020-08-01", + "2020-08-01-preview", + "2021-04-01-preview" + ], + "searchServices/privateEndpointConnections": [ + "2019-10-01-preview", + "2020-03-13", + "2020-08-01", + "2020-08-01-preview", + "2021-04-01-preview" + ], + "searchServices/sharedPrivateLinkResources": [ + "2020-08-01", + "2020-08-01-preview", + "2021-04-01-preview" + ] + }, + "Microsoft.Security": { + "advancedThreatProtectionSettings": [ + "2017-08-01-preview", + "2019-01-01" + ], + "alertsSuppressionRules": [ + "2019-01-01-preview" + ], + "apiCollections": [ + "2022-11-20-preview" + ], + "applications": [ + "2022-07-01-preview" + ], + "assessmentMetadata": [ + "2019-01-01-preview", + "2020-01-01", + "2021-06-01" + ], + "assessments": [ + "2019-01-01-preview", + "2020-01-01", + "2021-06-01" + ], + "assessments/governanceAssignments": [ + "2022-01-01-preview" + ], + "assignments": [ + "2021-08-01-preview" + ], + "automations": [ + "2019-01-01-preview" + ], + "autoProvisioningSettings": [ + "2017-08-01-preview" + ], + "connectors": [ + "2020-01-01-preview" + ], + "customAssessmentAutomations": [ + "2021-07-01-preview" + ], + "customEntityStoreAssignments": [ + "2021-07-01-preview" + ], + "deviceSecurityGroups": [ + "2017-08-01-preview", + "2019-08-01" + ], + "governanceRules": [ + "2022-01-01-preview" + ], + "informationProtectionPolicies": [ + "2017-08-01-preview" + ], + "ingestionSettings": [ + "2021-01-15-preview" + ], + "iotSecuritySolutions": [ + "2017-08-01-preview", + "2019-08-01" + ], + "locations/applicationWhitelistings": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/jitNetworkAccessPolicies": [ + "2015-06-01-preview", + "2020-01-01" + ], + "pricings": [ + "2017-08-01-preview", + "2018-06-01", + "2022-03-01" + ], + "securityConnectors": [ + "2021-07-01-preview", + "2021-12-01-preview", + "2022-05-01-preview", + "2022-08-01-preview" + ], + "securityContacts": [ + "2017-08-01-preview", + "2020-01-01-preview" + ], + "serverVulnerabilityAssessments": [ + "2020-01-01" + ], + "settings": [ + "2017-08-01-preview", + "2019-01-01", + "2021-06-01", + "2021-07-01", + "2022-05-01" + ], + "sqlVulnerabilityAssessments/baselineRules": [ + "2020-07-01-preview" + ], + "standards": [ + "2021-08-01-preview" + ], + "workspaceSettings": [ + "2017-08-01-preview" + ] + }, + "Microsoft.SecurityAndCompliance": { + "privateLinkServicesForEDMUpload": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForEDMUpload/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365ComplianceCenter": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365SecurityCenter": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForMIPPolicySync": [ + "2021-03-08" + ], + "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ + "2021-03-08" + ], + "privateLinkServicesForO365ManagementActivityAPI": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForSCCPowershell": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ] + }, + "Microsoft.SecurityDevOps": { + "azureDevOpsConnectors": [ + "2022-09-01-preview" + ], + "azureDevOpsConnectors/orgs": [ + "2022-09-01-preview" + ], + "azureDevOpsConnectors/orgs/projects": [ + "2022-09-01-preview" + ], + "azureDevOpsConnectors/orgs/projects/repos": [ + "2022-09-01-preview" + ], + "gitHubConnectors": [ + "2022-09-01-preview" + ], + "gitHubConnectors/owners": [ + "2022-09-01-preview" + ], + "gitHubConnectors/owners/repos": [ + "2022-09-01-preview" + ] + }, + "Microsoft.SecurityInsights": { + "alertRules": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "alertRules/actions": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "automationRules": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "bookmarks": [ + "2019-01-01-preview", + "2020-01-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "bookmarks/relations": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "cases": [ + "2019-01-01-preview" + ], + "cases/comments": [ + "2019-01-01-preview" + ], + "cases/relations": [ + "2019-01-01-preview" + ], + "dataConnectors": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "entityQueries": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "fileImports": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "incidents": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "incidents/comments": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "incidents/relations": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "incidents/tasks": [ + "2022-12-01-preview" + ], + "metadata": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "onboardingStates": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "securityMLAnalyticsSettings": [ + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "settings": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "sourcecontrols": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "threatIntelligence/indicators": [ + "2019-01-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "watchlists": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ], + "watchlists/watchlistItems": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview" + ] + }, + "Microsoft.SerialConsole": { + "serialPorts": [ + "2018-05-01" + ] + }, + "Microsoft.ServiceBus": { + "namespaces": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/AuthorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/disasterRecoveryConfigs": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/ipfilterrules": [ + "2018-01-01-preview" + ], + "namespaces/messagingplan": [ + "2014-09-01" + ], + "namespaces/migrationConfigurations": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/networkRuleSets": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/privateEndpointConnections": [ + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/queues": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/queues/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics/subscriptions": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics/subscriptions/rules": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/virtualnetworkrules": [ + "2018-01-01-preview" + ] + }, + "Microsoft.ServiceFabric": { + "clusters": [ + "2016-09-01", + "2017-07-01-preview", + "2018-02-01", + "2019-03-01", + "2019-03-01-preview", + "2019-06-01-preview", + "2019-11-01-preview", + "2020-03-01", + "2020-12-01-preview", + "2021-06-01" + ], + "clusters/applications": [ + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-06-01-preview", + "2019-11-01-preview", + "2020-03-01", + "2020-12-01-preview", + "2021-06-01" + ], + "clusters/applications/services": [ + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-06-01-preview", + "2019-11-01-preview", + "2020-03-01", + "2020-12-01-preview", + "2021-06-01" + ], + "clusters/applicationTypes": [ + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-06-01-preview", + "2019-11-01-preview", + "2020-03-01", + "2020-12-01-preview", + "2021-06-01" + ], + "clusters/applicationTypes/versions": [ + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-06-01-preview", + "2019-11-01-preview", + "2020-03-01", + "2020-12-01-preview", + "2021-06-01" + ], + "managedClusters": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview" + ], + "managedclusters/applications": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview" + ], + "managedclusters/applications/services": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview" + ], + "managedclusters/applicationTypes": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview" + ], + "managedclusters/applicationTypes/versions": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview" + ], + "managedClusters/nodeTypes": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview" + ] + }, + "Microsoft.ServiceFabricMesh": { + "applications": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "gateways": [ + "2018-09-01-preview" + ], + "networks": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "secrets": [ + "2018-09-01-preview" + ], + "secrets/values": [ + "2018-09-01-preview" + ], + "volumes": [ + "2018-07-01-preview", + "2018-09-01-preview" + ] + }, + "Microsoft.ServiceLinker": { + "dryruns": [ + "2022-11-01-preview" + ], + "linkers": [ + "2021-11-01-preview", + "2022-01-01-preview", + "2022-05-01", + "2022-11-01-preview" + ], + "locations/connectors": [ + "2022-11-01-preview" + ], + "locations/dryruns": [ + "2022-11-01-preview" + ] + }, + "Microsoft.ServiceNetworking": { + "trafficControllers": [ + "2022-10-01-preview" + ], + "trafficControllers/associations": [ + "2022-10-01-preview" + ], + "trafficControllers/frontends": [ + "2022-10-01-preview" + ] + }, + "Microsoft.SignalRService": { + "signalR": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview" + ], + "signalR/customCertificates": [ + "2022-02-01", + "2022-08-01-preview" + ], + "signalR/customDomains": [ + "2022-02-01", + "2022-08-01-preview" + ], + "signalR/privateEndpointConnections": [ + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview" + ], + "signalR/sharedPrivateLinkResources": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview" + ], + "webPubSub": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-08-01-preview" + ], + "webPubSub/customCertificates": [ + "2022-08-01-preview" + ], + "webPubSub/customDomains": [ + "2022-08-01-preview" + ], + "webPubSub/hubs": [ + "2021-10-01", + "2022-08-01-preview" + ], + "webPubSub/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-08-01-preview" + ], + "webPubSub/sharedPrivateLinkResources": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-08-01-preview" + ] + }, + "Microsoft.SoftwarePlan": { + "hybridUseBenefits": [ + "2019-06-01-preview", + "2019-12-01" + ] + }, + "Microsoft.Solutions": { + "applianceDefinitions": [ + "2016-09-01-preview" + ], + "appliances": [ + "2016-09-01-preview" + ], + "applicationDefinitions": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ], + "applications": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ], + "jitRequests": [ + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ] + }, + "Microsoft.Sql": { + "instancePools": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "locations/instanceFailoverGroups": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "locations/serverTrustGroups": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances": [ + "2015-05-01-preview", + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/administrators": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/advancedThreatProtectionSettings": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/azureADOnlyAuthentications": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases": [ + "2017-03-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/advancedThreatProtectionSettings": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/backupLongTermRetentionPolicies": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/backupShortTermRetentionPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/schemas/tables/columns/sensitivityLabels": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/securityAlertPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/transparentDataEncryption": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/vulnerabilityAssessments": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/databases/vulnerabilityAssessments/rules/baselines": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/distributedAvailabilityGroups": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/dnsAliases": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/dtc": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/encryptionProtector": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/keys": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/privateEndpointConnections": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/securityAlertPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/serverTrustCertificates": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/sqlAgent": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "managedInstances/vulnerabilityAssessments": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers": [ + "2014-04-01", + "2015-05-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/administrators": [ + "2014-04-01", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/advancedThreatProtectionSettings": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/advisors": [ + "2014-04-01" + ], + "servers/auditingPolicies": [ + "2014-04-01" + ], + "servers/auditingSettings": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/azureADOnlyAuthentications": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/communicationLinks": [ + "2014-04-01" + ], + "servers/connectionPolicies": [ + "2014-04-01", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases": [ + "2014-04-01", + "2017-03-01-preview", + "2017-10-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/advancedThreatProtectionSettings": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/advisors": [ + "2014-04-01" + ], + "servers/databases/auditingPolicies": [ + "2014-04-01" + ], + "servers/databases/auditingSettings": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/backupLongTermRetentionPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/backupShortTermRetentionPolicies": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/connectionPolicies": [ + "2014-04-01" + ], + "servers/databases/dataMaskingPolicies": [ + "2014-04-01", + "2021-11-01", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/dataMaskingPolicies/rules": [ + "2014-04-01", + "2021-11-01", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/extendedAuditingSettings": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/extensions": [ + "2014-04-01", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/geoBackupPolicies": [ + "2014-04-01", + "2021-11-01", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/ledgerDigestUploads": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/maintenanceWindows": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/schemas/tables/columns/sensitivityLabels": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/securityAlertPolicies": [ + "2014-04-01", + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/sqlVulnerabilityAssessments/baselines": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/sqlVulnerabilityAssessments/baselines/rules": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/syncGroups": [ + "2015-05-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/syncGroups/syncMembers": [ + "2015-05-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/transparentDataEncryption": [ + "2014-04-01", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/vulnerabilityAssessments": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/vulnerabilityAssessments/rules/baselines": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/workloadGroups": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/databases/workloadGroups/workloadClassifiers": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/devOpsAuditingSettings": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/disasterRecoveryConfiguration": [ + "2014-04-01" + ], + "servers/dnsAliases": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/elasticPools": [ + "2014-04-01", + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/encryptionProtector": [ + "2015-05-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/extendedAuditingSettings": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/failoverGroups": [ + "2015-05-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/firewallRules": [ + "2014-04-01", + "2015-05-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/ipv6FirewallRules": [ + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/jobAgents": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/jobAgents/credentials": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/jobAgents/jobs": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/jobAgents/jobs/executions": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/jobAgents/jobs/steps": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/jobAgents/targetGroups": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/keys": [ + "2015-05-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/outboundFirewallRules": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/securityAlertPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/sqlVulnerabilityAssessments": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/sqlVulnerabilityAssessments/baselines": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/sqlVulnerabilityAssessments/baselines/rules": [ + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/syncAgents": [ + "2015-05-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/virtualNetworkRules": [ + "2015-05-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ], + "servers/vulnerabilityAssessments": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview" + ] + }, + "Microsoft.SqlVirtualMachine": { + "sqlVirtualMachineGroups": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview" + ], + "sqlVirtualMachineGroups/availabilityGroupListeners": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview" + ], + "sqlVirtualMachines": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview" + ] + }, + "Microsoft.Storage": { + "storageAccounts": [ + "2015-05-01-preview", + "2015-06-15", + "2016-01-01", + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/blobServices": [ + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/blobServices/containers": [ + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/blobServices/containers/immutabilityPolicies": [ + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/encryptionScopes": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/fileServices": [ + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/fileServices/shares": [ + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/inventoryPolicies": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/localUsers": [ + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/managementPolicies": [ + "2018-03-01-preview", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/objectReplicationPolicies": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/privateEndpointConnections": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/queueServices": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/queueServices/queues": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/tableServices": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ], + "storageAccounts/tableServices/tables": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01" + ] + }, + "Microsoft.Storage.Admin": { + "locations/quotas": [ + "2019-08-08" + ], + "locations/settings": [ + "2019-08-08" + ], + "storageServices": [ + "2019-08-08" + ] + }, + "Microsoft.StorageCache": { + "caches": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2022-01-01", + "2022-05-01" + ], + "caches/storageTargets": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2022-01-01", + "2022-05-01" + ] + }, + "Microsoft.StorageMover": { + "storageMovers": [ + "2022-07-01-preview" + ], + "storageMovers/agents": [ + "2022-07-01-preview" + ], + "storageMovers/endpoints": [ + "2022-07-01-preview" + ], + "storageMovers/projects": [ + "2022-07-01-preview" + ], + "storageMovers/projects/jobDefinitions": [ + "2022-07-01-preview" + ] + }, + "Microsoft.StoragePool": { + "diskPools": [ + "2020-03-15-preview", + "2021-04-01-preview", + "2021-08-01" + ], + "diskPools/iscsiTargets": [ + "2020-03-15-preview", + "2021-04-01-preview", + "2021-08-01" + ] + }, + "Microsoft.StorageSync": { + "storageSyncServices": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/privateEndpointConnections": [ + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/registeredServers": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/syncGroups": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/syncGroups/cloudEndpoints": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/syncGroups/serverEndpoints": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ] + }, + "Microsoft.StorSimple": { + "managers": [ + "2016-10-01", + "2017-06-01" + ], + "managers/accessControlRecords": [ + "2016-10-01", + "2017-06-01" + ], + "managers/bandwidthSettings": [ + "2017-06-01" + ], + "managers/certificates": [ + "2016-10-01" + ], + "managers/devices/alertSettings": [ + "2016-10-01", + "2017-06-01" + ], + "managers/devices/backupPolicies": [ + "2017-06-01" + ], + "managers/devices/backupPolicies/schedules": [ + "2017-06-01" + ], + "managers/devices/backupScheduleGroups": [ + "2016-10-01" + ], + "managers/devices/chapSettings": [ + "2016-10-01" + ], + "managers/devices/fileservers": [ + "2016-10-01" + ], + "managers/devices/fileservers/shares": [ + "2016-10-01" + ], + "managers/devices/iscsiservers": [ + "2016-10-01" + ], + "managers/devices/iscsiservers/disks": [ + "2016-10-01" + ], + "managers/devices/timeSettings": [ + "2017-06-01" + ], + "managers/devices/volumeContainers": [ + "2017-06-01" + ], + "managers/devices/volumeContainers/volumes": [ + "2017-06-01" + ], + "managers/extendedInformation": [ + "2016-10-01", + "2017-06-01" + ], + "managers/storageAccountCredentials": [ + "2016-10-01", + "2017-06-01" + ], + "managers/storageDomains": [ + "2016-10-01" + ] + }, + "Microsoft.StreamAnalytics": { + "clusters": [ + "2020-03-01", + "2020-03-01-preview" + ], + "clusters/privateEndpoints": [ + "2020-03-01", + "2020-03-01-preview" + ], + "streamingjobs": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/functions": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/inputs": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/outputs": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/transformations": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ] + }, + "Microsoft.Subscription": { + "aliases": [ + "2019-10-01-preview", + "2020-09-01", + "2021-10-01" + ], + "policies": [ + "2021-10-01" + ], + "subscriptionDefinitions": [ + "2017-11-01-preview" + ] + }, + "Microsoft.Subscriptions.Admin": { + "directoryTenants": [ + "2015-11-01" + ], + "locations": [ + "2015-11-01" + ], + "offers": [ + "2015-11-01" + ], + "offers/offerDelegations": [ + "2015-11-01" + ], + "plans": [ + "2015-11-01" + ], + "subscriptions": [ + "2015-11-01" + ], + "subscriptions/acquiredPlans": [ + "2015-11-01" + ] + }, + "Microsoft.Support": { + "supportTickets": [ + "2019-05-01-preview", + "2020-04-01" + ], + "supportTickets/communications": [ + "2019-05-01-preview", + "2020-04-01" + ] + }, + "Microsoft.Synapse": { + "privateLinkHubs": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/administrators": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/auditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/azureADOnlyAuthentications": [ + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/bigDataPools": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/dedicatedSQLminimalTlsSettings": [ + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/encryptionProtector": [ + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/extendedAuditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/firewallRules": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/integrationRuntimes": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/keys": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/kustoPools": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/attachedDatabaseConfigurations": [ + "2021-06-01-preview" + ], + "workspaces/kustoPools/databases": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/databases/dataConnections": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/databases/principalAssignments": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/principalAssignments": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/managedIdentitySqlControlSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/privateEndpointConnections": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/securityAlertPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlAdministrators": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlDatabases": [ + "2020-04-01-preview" + ], + "workspaces/sqlPools": [ + "2019-06-01-preview", + "2020-04-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/auditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/dataMaskingPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/dataMaskingPolicies/rules": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/extendedAuditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/geoBackupPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/maintenancewindows": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/metadataSync": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/schemas/tables/columns/sensitivityLabels": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/securityAlertPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/transparentDataEncryption": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/vulnerabilityAssessments": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/vulnerabilityAssessments/rules/baselines": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/workloadGroups": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/workloadGroups/workloadClassifiers": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/trustedServiceByPassConfiguration": [ + "2021-06-01-preview" + ], + "workspaces/vulnerabilityAssessments": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ] + }, + "Microsoft.Syntex": { + "documentProcessors": [ + "2022-09-15-preview" + ] + }, + "Microsoft.TestBase": { + "testBaseAccounts": [ + "2020-12-16-preview", + "2022-04-01-preview" + ], + "testBaseAccounts/customerEvents": [ + "2020-12-16-preview", + "2022-04-01-preview" + ], + "testBaseAccounts/packages": [ + "2020-12-16-preview", + "2022-04-01-preview" + ], + "testBaseAccounts/packages/favoriteProcesses": [ + "2020-12-16-preview", + "2022-04-01-preview" + ] + }, + "Microsoft.TimeSeriesInsights": { + "environments": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ], + "environments/accessPolicies": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ], + "environments/eventSources": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ], + "environments/privateEndpointConnections": [ + "2021-03-31-preview" + ], + "environments/referenceDataSets": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ] + }, + "Microsoft.VideoIndexer": { + "accounts": [ + "2021-10-18-preview", + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01" + ] + }, + "Microsoft.VirtualMachineImages": { + "imageTemplates": [ + "2018-02-01-preview", + "2019-02-01-preview", + "2019-05-01-preview", + "2020-02-14", + "2021-10-01", + "2022-02-14" + ] + }, + "microsoft.visualstudio": { + "account": [ + "2014-04-01-preview", + "2017-11-01-preview" + ], + "account/extension": [ + "2014-04-01-preview", + "2017-11-01-preview" + ], + "account/project": [ + "2014-04-01-preview", + "2017-11-01-preview", + "2018-08-01-preview" + ] + }, + "Microsoft.VMwareCloudSimple": { + "dedicatedCloudNodes": [ + "2019-04-01" + ], + "dedicatedCloudServices": [ + "2019-04-01" + ], + "virtualMachines": [ + "2019-04-01" + ] + }, + "Microsoft.VoiceServices": { + "communicationsGateways": [ + "2022-12-01-preview" + ], + "communicationsGateways/contacts": [ + "2022-12-01-preview" + ], + "communicationsGateways/testLines": [ + "2022-12-01-preview" + ] + }, + "Microsoft.Web": { + "certificates": [ + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "connectionGateways": [ + "2016-06-01" + ], + "connections": [ + "2015-08-01-preview", + "2016-06-01" + ], + "containerApps": [ + "2021-03-01", + "2022-03-01" + ], + "csrs": [ + "2015-08-01" + ], + "customApis": [ + "2016-06-01" + ], + "hostingEnvironments": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "hostingEnvironments/configurations": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "hostingEnvironments/multiRolePools": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "hostingEnvironments/privateEndpointConnections": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "hostingEnvironments/workerPools": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "kubeEnvironments": [ + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "managedHostingEnvironments": [ + "2015-08-01" + ], + "publishingCredentials": [ + "2015-08-01" + ], + "publishingUsers": [ + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "serverfarms": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "serverfarms/virtualNetworkConnections/gateways": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "serverfarms/virtualNetworkConnections/routes": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/backups": [ + "2015-08-01", + "2016-08-01" + ], + "sites/basicPublishingCredentialsPolicies": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/config": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/deployments": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/domainOwnershipIdentifiers": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/functions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/functions/keys": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/host/{keyType}": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/hostNameBindings": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/hybridconnection": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/hybridConnectionNamespaces/relays": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/instances/deployments": [ + "2015-08-01" + ], + "sites/instances/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/migrate": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/networkConfig": [ + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/premieraddons": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/privateAccess": [ + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/privateEndpointConnections": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/publicCertificates": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/siteextensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/backups": [ + "2015-08-01", + "2016-08-01" + ], + "sites/slots/basicPublishingCredentialsPolicies": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/config": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/deployments": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/domainOwnershipIdentifiers": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/functions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/functions/keys": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/host/{keyType}": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/hostNameBindings": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/hybridconnection": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/hybridConnectionNamespaces/relays": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/instances/deployments": [ + "2015-08-01" + ], + "sites/slots/instances/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/networkConfig": [ + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/premieraddons": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/privateAccess": [ + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/privateEndpointConnections": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/publicCertificates": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/siteextensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/snapshots": [ + "2015-08-01" + ], + "sites/slots/sourcecontrols": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/virtualNetworkConnections": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/slots/virtualNetworkConnections/gateways": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/snapshots": [ + "2015-08-01" + ], + "sites/sourcecontrols": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/virtualNetworkConnections": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sites/virtualNetworkConnections/gateways": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "sourcecontrols": [ + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "staticSites": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "staticSites/builds/config": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "staticSites/builds/linkedBackends": [ + "2022-03-01" + ], + "staticSites/builds/userProvidedFunctionApps": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "staticSites/config": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "staticSites/customDomains": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "staticSites/linkedBackends": [ + "2022-03-01" + ], + "staticSites/privateEndpointConnections": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ], + "staticSites/userProvidedFunctionApps": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01" + ] + }, + "Microsoft.WindowsESU": { + "multipleActivationKeys": [ + "2019-09-16-preview" + ] + }, + "Microsoft.WindowsIoT": { + "deviceServices": [ + "2018-02-16-preview", + "2019-06-01" + ] + }, + "Microsoft.WorkloadMonitor": { + "notificationSettings": [ + "2018-08-31-preview" + ] + }, + "Microsoft.Workloads": { + "monitors": [ + "2021-12-01-preview" + ], + "monitors/providerInstances": [ + "2021-12-01-preview" + ], + "phpWorkloads": [ + "2021-12-01-preview" + ], + "phpWorkloads/wordpressInstances": [ + "2021-12-01-preview" + ], + "sapVirtualInstances": [ + "2021-12-01-preview" + ], + "sapVirtualInstances/applicationInstances": [ + "2021-12-01-preview" + ], + "sapVirtualInstances/centralInstances": [ + "2021-12-01-preview" + ], + "sapVirtualInstances/databaseInstances": [ + "2021-12-01-preview" + ] + } } From 7970d03406ad6aeda711bd403f95ec70b05751f8 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Tue, 29 Aug 2023 18:21:20 +0200 Subject: [PATCH 128/130] Set-ModuleReadme - updated to latest --- utilities/tools/Set-ModuleReadMe.ps1 | 297 ++------------------------- 1 file changed, 19 insertions(+), 278 deletions(-) diff --git a/utilities/tools/Set-ModuleReadMe.ps1 b/utilities/tools/Set-ModuleReadMe.ps1 index b76691539a..9f55b4cca6 100644 --- a/utilities/tools/Set-ModuleReadMe.ps1 +++ b/utilities/tools/Set-ModuleReadMe.ps1 @@ -1076,262 +1076,6 @@ function Set-DeploymentExamplesSection { ) } - # -------------------- # - # Add JSON example # - # -------------------- # - if ($addJson) { - - # [1/2] Get all parameters from the parameter object and order them recursively - $orderingInputObject = @{ - ParametersJSON = $paramsInJSONFormat | ConvertTo-Json -Depth 99 - RequiredParametersList = $RequiredParametersList - } - $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject - - # [2/2] Create the final content block - $SectionContent += @( - '', - '

' - '' - 'via JSON Parameter file' - '' - '```json', - $orderedJSONExample.Trim() - '```', - '', - '
', - '

' - ) - } - } else { - ## ----------------------------------- ## - ## Handle by type (Bicep vs. JSON) ## - ## ----------------------------------- ## - if ((Split-Path $testFilePath -Extension) -eq '.bicep') { - - # ------------------------- # - # Prepare Bicep to JSON # - # ------------------------- # - - # [1/6] Search for the relevant parameter start & end index - $bicepTestStartIndex = ($rawContentArray | Select-String ("^module testDeployment '..\/.*deploy.bicep' = {$") | ForEach-Object { $_.LineNumber - 1 })[0] - - $bicepTestEndIndex = $bicepTestStartIndex - do { - $bicepTestEndIndex++ - } while ($rawContentArray[$bicepTestEndIndex] -ne '}') - - # [3/4] Remove 'externalResourceReferences' that are generated for Bicep's 'existing' resource references. Removing them will make the file more readable - $jsonParameterContentArray = $jsonParameterContent -split '\n' - foreach ($row in ($jsonParameterContentArray | Where-Object { $_ -like '*reference(extensionResourceId*' })) { - if ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+)\..*\].*"') { - # e.g. "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-diagnosticDependencies', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.logAnalyticsWorkspaceResourceId.value]" - # e.g. "[format('{0}', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-paramNested', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.managedIdentityResourceId.value)]": {} - $expectedValue = $matches[1] - } elseif ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+).*\].*"') { - # e.g. "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" - $expectedValue = $matches[1] - } else { - throw "Unhandled case [$row] in file [$testFilePath]" - } - - # [2/6] Replace placeholders - $serviceShort = ([regex]::Match($rawContent, "(?m)^param serviceShort string = '(.+)'\s*$")).Captures.Groups[1].Value - - $rawBicepExampleString = ($rawBicepExample | Out-String) - $rawBicepExampleString = $rawBicepExampleString -replace '\$\{serviceShort\}', $serviceShort - $rawBicepExampleString = $rawBicepExampleString -replace '\$\{namePrefix\}', '' # Replacing with empty to not expose prefix and avoid potential deployment conflicts - $rawBicepExampleString = $rawBicepExampleString -replace '(?m):\s*location\s*$', ': ''''' - - # [3/6] Format header, remove scope property & any empty line - $rawBicepExample = $rawBicepExampleString -split '\n' - $rawBicepExample[0] = "module $resourceType './$FullModuleIdentifier/deploy.bicep' = {" - $rawBicepExample = $rawBicepExample | Where-Object { $_ -notmatch 'scope: *' } | Where-Object { -not [String]::IsNullOrEmpty($_) } - - # [4/6] Extract param block - $rawBicepExampleArray = $rawBicepExample -split '\n' - $moduleDeploymentPropertyIndent = ([regex]::Match($rawBicepExampleArray[1], '^(\s+).*')).Captures.Groups[1].Value.Length - $paramsStartIndex = ($rawBicepExampleArray | Select-String ("^[\s]{$moduleDeploymentPropertyIndent}params:[\s]*\{") | ForEach-Object { $_.LineNumber - 1 })[0] + 1 - if ($rawBicepExampleArray[$paramsStartIndex].Trim() -ne '}') { - # Handle case where param block is empty - $paramsEndIndex = ($rawBicepExampleArray[($paramsStartIndex + 1)..($rawBicepExampleArray.Count)] | Select-String "^[\s]{$moduleDeploymentPropertyIndent}\}" | ForEach-Object { $_.LineNumber - 1 })[0] + $paramsStartIndex - $paramBlock = ($rawBicepExampleArray[$paramsStartIndex..$paramsEndIndex] | Out-String).TrimEnd() - } else { - $paramBlock = '' - $paramsEndIndex = $paramsStartIndex - } - - # [4/4] Removing template specific functions - $jsonParameterContentArray = $jsonParameterContent -split '\n' - for ($index = 0; $index -lt $jsonParameterContentArray.Count; $index++) { - if ($jsonParameterContentArray[$index] -match '(\s*"value"): "\[.+\]"') { - # e.g. - # "policyAssignmentId": { - # "value": "[extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', format('dep-[[namePrefix]]-psa-{0}', parameters('serviceShort')))]" - $prefix = $matches[1] - - $headerIndex = $index - while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { - $headerIndex-- - } - - $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() - $jsonParameterContentArray[$index] = ('{0}: "<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) - } elseif ($jsonParameterContentArray[$index] -match '(\s*)"([\w]+)": "\[.+\]"') { - # e.g. "name": "[format('{0}01', parameters('serviceShort'))]" - $jsonParameterContentArray[$index] = ('{0}"{1}": "<{1}>"{2}' -f $matches[1], $matches[2], ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) - } elseif ($jsonParameterContentArray[$index] -match '(\s*)"\[.+\]"') { - # -and $jsonParameterContentArray[$index - 1] -like '*"value"*') { - # e.g. - # "policyDefinitionReferenceIds": { - # "value": [ - # "[reference(subscriptionResourceId('Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" - $prefix = $matches[1] - - $headerIndex = $index - while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { - $headerIndex-- - } - - $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() - - $jsonParameterContentArray[$index] = ('{0}"<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) - } - } - $jsonParameterContent = $jsonParameterContentArray | Out-String - } else { - # Case 2: Uses ARM-JSON parameter file - $jsonParameterContent = $rawContent.TrimEnd() - } - - # --------------------- # - # Add Bicep example # - # --------------------- # - if ($addBicep) { - - # [1/5] Get all parameters from the parameter object - $JSONParametersHashTable = (ConvertFrom-Json $jsonParameterContent -AsHashtable -Depth 99).parameters - - # [2/5] Handle the special case of Key Vault secret references (that have a 'reference' instead of a 'value' property) - # [2.1] Find all references and split them into managable objects - $keyVaultReferences = $JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' } - - if ($keyVaultReferences.Count -gt 0) { - $keyVaultReferenceData = @() - foreach ($reference in $keyVaultReferences) { - $resourceIdElem = $JSONParametersHashTable[$reference].reference.keyVault.id -split '/' - $keyVaultReferenceData += @{ - subscriptionId = $resourceIdElem[2] - resourceGroupName = $resourceIdElem[4] - vaultName = $resourceIdElem[-1] - secretName = $JSONParametersHashTable[$reference].reference.secretName - parameterName = $reference - } - } - } - - # [2.2] Remove any duplicates from the referenced key vaults and build 'existing' Key Vault references in Bicep format from them. - # Also, add a link to the corresponding Key Vault 'resource' to each identified Key Vault secret reference - $extendedKeyVaultReferences = @() - $counter = 0 - foreach ($reference in ($keyVaultReferenceData | Sort-Object -Property 'vaultName' -Unique)) { - $counter++ - $extendedKeyVaultReferences += @( - "resource kv$counter 'Microsoft.KeyVault/vaults@2019-09-01' existing = {", - (" name: '{0}'" -f $reference.vaultName), - (" scope: resourceGroup('{0}','{1}')" -f $reference.subscriptionId, $reference.resourceGroupName), - '}', - '' - ) - - # Add attribute for later correct reference - $keyVaultReferenceData | Where-Object { $_.vaultName -eq $reference.vaultName } | ForEach-Object { - $_['vaultResourceReference'] = "kv$counter" - } - } - - # [3/5] Replace all 'references' with the link to one of the 'existing' Key Vault resources - foreach ($parameterName in ($JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' })) { - $matchingTuple = $keyVaultReferenceData | Where-Object { $_.parameterName -eq $parameterName } - $JSONParametersHashTable[$parameterName] = "{0}.getSecret('{1}')" -f $matchingTuple.vaultResourceReference, $matchingTuple.secretName - } - - # [4/5] Convert the JSON parameters to a Bicep parameters block - $conversionInputObject = @{ - BicepParamBlock = $paramBlock - CurrentFilePath = $testFilePath - } - $paramsInJSONFormat = ConvertTo-FormattedJSONParameterObject @conversionInputObject - - # [6/6] Convert JSON parameters back to Bicep and order & format them - $conversionInputObject = @{ - JSONParameters = $paramsInJSONFormat - RequiredParametersList = $RequiredParametersList - } - $bicepExample = ConvertTo-FormattedBicep @conversionInputObject - - # [5/5] Create the final content block: That means - # - the 'existing' Key Vault resources - # - a 'module' header that mimics a module deployment - # - all parameters in Bicep format - $SectionContent += @( - '', - '

' - '' - 'via Bicep module' - '' - '```bicep', - $extendedKeyVaultReferences, - "module $moduleNameCamelCase 'ts/modules:$(($FullModuleIdentifier -replace '\\|\/', '.').ToLower()):1.0.0 = {" - " name: '`${uniqueString(deployment().name)}-$moduleNamePascalCase'" - ' params: {' - $bicepExample.TrimEnd(), - ' }' - '}' - '```', - '', - '
' - '

' - ) - } - - if ([String]::IsNullOrEmpty($paramBlock)) { - # Handle case where param block is empty - $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + $rawBicepExample[($paramsEndIndex)..($rawBicepExample.Count)] - } else { - $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + ($bicepExample -split '\n') + $rawBicepExample[($paramsEndIndex + 1)..($rawBicepExample.Count)] - } - - # Remove any dependsOn as it it test specific - if ($detected = ($formattedBicepExample | Select-String '^\s*dependsOn:\s*\[\s*$' | ForEach-Object { $_.LineNumber - 1 })) { - $dependsOnStartIndex = $detected[0] - - # Find out where the 'dependsOn' ends - $dependsOnEndIndex = $dependsOnStartIndex - do { - $dependsOnEndIndex++ - } while ($formattedBicepExample[$dependsOnEndIndex] -notmatch '^\s*\]\s*$') - - # Cut the 'dependsOn' block out - $formattedBicepExample = $formattedBicepExample[0..($dependsOnStartIndex - 1)] + $formattedBicepExample[($dependsOnEndIndex + 1)..($formattedBicepExample.Count)] - } - - # Build result - $SectionContent += @( - '', - '

' - '' - 'via Bicep module' - '' - '```bicep', - ($formattedBicepExample | ForEach-Object { "$_" }).TrimEnd(), - '```', - '', - '
', - '

' - ) - } - # -------------------- # # Add JSON example # # -------------------- # @@ -1389,7 +1133,7 @@ function Set-DeploymentExamplesSection { # e.g. "[format('{0}', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-paramNested', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.managedIdentityResourceId.value)]": {} $expectedValue = $matches[1] } elseif ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+).*\].*"') { - # e.g. "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policySetDefinitions', format('dep-<>-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" + # e.g. "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" $expectedValue = $matches[1] } else { throw "Unhandled case [$row] in file [$testFilePath]" @@ -1406,7 +1150,7 @@ function Set-DeploymentExamplesSection { if ($jsonParameterContentArray[$index] -match '(\s*"value"): "\[.+\]"') { # e.g. # "policyAssignmentId": { - # "value": "[extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', format('dep-<>-psa-{0}', parameters('serviceShort')))]" + # "value": "[extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', format('dep-[[namePrefix]]-psa-{0}', parameters('serviceShort')))]" $prefix = $matches[1] $headerIndex = $index @@ -1424,7 +1168,7 @@ function Set-DeploymentExamplesSection { # e.g. # "policyDefinitionReferenceIds": { # "value": [ - # "[reference(subscriptionResourceId('Microsoft.Authorization/policySetDefinitions', format('dep-<>-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" + # "[reference(subscriptionResourceId('Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" $prefix = $matches[1] $headerIndex = $index @@ -1514,8 +1258,8 @@ function Set-DeploymentExamplesSection { '' '```bicep', $extendedKeyVaultReferences, - "module $resourceType 'ts/modules:$(($FullModuleIdentifier -replace '\\|\/', '.').ToLower()):1.0.0 = {" - " name: '`${uniqueString(deployment().name)}-$resourceTypeUpper'" + "module $moduleNameCamelCase 'ts/modules:$(($FullModuleIdentifier -replace '\\|\/', '.').ToLower()):1.0.0 = {" + " name: '`${uniqueString(deployment().name)}-$moduleNamePascalCase'" ' params: {' $bicepExample.TrimEnd(), ' }' @@ -1555,27 +1299,24 @@ function Set-DeploymentExamplesSection { ) } } - } - + $SectionContent += @( + '' + ) - $SectionContent += @( - '' - ) - - $pathIndex++ -} + $pathIndex++ + } -###################### -## Built result ## -###################### -if ($SectionContent) { - if ($PSCmdlet.ShouldProcess('Original file with new template references content', 'Merge')) { - return Merge-FileWithNewContent -oldContent $ReadMeFileContent -newContent $SectionContent -SectionStartIdentifier $SectionStartIdentifier + ###################### + ## Built result ## + ###################### + if ($SectionContent) { + if ($PSCmdlet.ShouldProcess('Original file with new template references content', 'Merge')) { + return Merge-FileWithNewContent -oldContent $ReadMeFileContent -newContent $SectionContent -SectionStartIdentifier $SectionStartIdentifier + } + } else { + return $ReadMeFileContent } -} else { - return $ReadMeFileContent -} } <# From 7fb1122c1c6d36708b93307eab7f2f6ca80bd6d6 Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Tue, 29 Aug 2023 18:24:09 +0200 Subject: [PATCH 129/130] apiSpecList - updated to latest --- utilities/src/apiSpecsList.json | 87432 +++++++++++++++--------------- 1 file changed, 43716 insertions(+), 43716 deletions(-) diff --git a/utilities/src/apiSpecsList.json b/utilities/src/apiSpecsList.json index cad3cce083..e7b2f57f3a 100644 --- a/utilities/src/apiSpecsList.json +++ b/utilities/src/apiSpecsList.json @@ -1,43718 +1,43718 @@ { - "Dynatrace.Observability": { - "checkNameAvailability": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "getMarketplaceSaaSResourceDetails": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "locations": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "locations/operationStatuses": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "monitors": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "monitors/singleSignOnConfigurations": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "monitors/tagRules": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "operations": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ], - "registeredSubscriptions": [ - "2021-09-01", - "2021-09-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-04-20-preview", - "2023-04-27" - ] - }, - "GitHub.Network": { - "networkSettings": [ - "2023-03-15-beta" - ], - "Operations": [ - "2023-03-15-alpha", - "2023-03-15-beta" - ], - "registeredSubscriptions": [ - "2023-03-15-alpha", - "2023-03-15-beta" - ] - }, - "Microsoft.AAD": { - "domainServices": [ - "2017-01-01", - "2017-06-01", - "2020-01-01", - "2021-03-01", - "2021-05-01", - "2022-09-01", - "2022-12-01" - ], - "domainServices/ouContainer": [ - "2017-06-01", - "2020-01-01", - "2021-03-01", - "2021-05-01", - "2022-09-01", - "2022-12-01" - ], - "locations": [ - "2017-01-01", - "2017-06-01", - "2020-01-01", - "2021-03-01", - "2021-05-01", - "2022-09-01", - "2022-12-01" - ], - "locations/operationresults": [ - "2017-01-01", - "2017-06-01", - "2020-01-01", - "2021-03-01", - "2021-05-01", - "2022-09-01", - "2022-12-01" - ], - "operations": [ - "2017-01-01", - "2017-06-01", - "2020-01-01", - "2021-03-01", - "2021-05-01", - "2022-09-01", - "2022-12-01" - ] - }, - "Microsoft.AadCustomSecurityAttributesDiagnosticSettings": { - "diagnosticSettings": [ - "2017-04-01-preview" - ], - "diagnosticSettingsCategories": [ - "2017-04-01-preview" - ], - "operations": [ - "2017-04-01-preview" - ] - }, - "microsoft.aadiam": { - "azureADMetrics": [ - "2020-07-01", - "2020-07-01-preview" - ], - "diagnosticSettings": [ - "2017-04-01", - "2017-04-01-preview", - "2017-05-01-preview" - ], - "diagnosticSettingsCategories": [ - "2017-04-01", - "2017-04-01-preview", - "2017-05-01-preview" - ], - "operations": [ - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-03-01", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2017-03-01", - "2017-04-01" - ], - "privateLinkForAzureAd": [ - "2020-03-01", - "2020-03-01-preview" - ], - "privateLinkForAzureAd/privateEndpointConnections": [ - "2020-03-01" - ], - "tenants": [ - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-03-01", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2017-03-01", - "2017-04-01" - ] - }, - "Microsoft.Addons": { - "operationResults": [ - "2017-05-15", - "2018-03-01" - ], - "operations": [ - "2017-05-15", - "2018-03-01" - ], - "supportProviders": [ - "2017-05-15", - "2018-03-01" - ], - "supportProviders/supportPlanTypes": [ - "2017-05-15", - "2018-03-01" - ] - }, - "Microsoft.ADHybridHealthService": { - "aadsupportcases": [ - "2014-01-01" - ], - "addsservices": [ - "2014-01-01" - ], - "agents": [ - "2014-01-01" - ], - "anonymousapiusers": [ - "2014-01-01" - ], - "configuration": [ - "2014-01-01" - ], - "logs": [ - "2014-01-01" - ], - "operations": [ - "2014-01-01" - ], - "reports": [ - "2014-01-01" - ], - "servicehealthmetrics": [ - "2014-01-01" - ], - "services": [ - "2014-01-01" - ] - }, - "Microsoft.Advisor": { - "advisorScore": [ - "2020-07-01-preview", - "2022-09-01", - "2022-10-01", - "2023-01-01" - ], - "configurations": [ - "2017-03-31", - "2017-04-19", - "2020-01-01", - "2022-09-01", - "2022-10-01", - "2023-01-01" - ], - "generateRecommendations": [ - "2016-05-09-preview", - "2016-07-12-preview", - "2017-03-31", - "2017-04-19", - "2020-01-01", - "2022-09-01", - "2022-10-01", - "2023-01-01" - ], - "metadata": [ - "2016-07-12-rc", - "2017-03-31", - "2017-03-31-alpha", - "2017-04-19", - "2017-04-19-alpha", - "2017-04-19-rc", - "2020-01-01", - "2020-01-01-alpha", - "2022-09-01", - "2022-10-01", - "2023-01-01", - "2023-01-01-alpha" - ], - "operations": [ - "2016-05-09-preview", - "2016-07-12-preview", - "2017-03-31", - "2017-04-19", - "2020-01-01", - "2020-07-01-preview", - "2022-10-01", - "2023-01-01-alpha" - ], - "recommendations": [ - "2016-05-09-preview", - "2016-07-12-preview", - "2017-03-31", - "2017-04-19", - "2020-01-01", - "2022-09-01", - "2022-10-01", - "2023-01-01" - ], - "recommendations/suppressions": [ - "2016-07-12-preview", - "2017-03-31", - "2017-04-19", - "2020-01-01", - "2022-09-01", - "2022-10-01", - "2023-01-01" - ], - "suppressions": [ - "2016-05-09-preview", - "2016-07-12-preview", - "2017-03-31", - "2017-04-19", - "2020-01-01", - "2022-09-01", - "2022-10-01", - "2023-01-01" - ] - }, - "Microsoft.AgFoodPlatform": { - "checkNameAvailability": [ - "2020-05-12-preview", - "2021-09-01-preview", - "2023-06-01-preview" - ], - "farmBeats": [ - "2020-05-12-preview", - "2021-09-01-preview", - "2023-06-01-preview" - ], - "farmBeats/dataConnectors": [ - "2023-06-01-preview" - ], - "farmBeats/extensions": [ - "2020-05-12-preview", - "2021-09-01-preview", - "2023-06-01-preview" - ], - "farmBeats/privateEndpointConnections": [ - "2021-09-01-preview", - "2023-06-01-preview" - ], - "farmBeats/solutions": [ - "2021-09-01-preview", - "2023-06-01-preview" - ], - "farmBeatsExtensionDefinitions": [ - "2020-05-12-preview", - "2021-09-01-preview", - "2023-06-01-preview" - ], - "farmBeatsSolutionDefinitions": [ - "2020-05-12-preview", - "2021-09-01-preview", - "2023-06-01-preview" - ], - "locations": [ - "2020-05-12-preview", - "2021-09-01-preview", - "2023-06-01-preview" - ], - "operations": [ - "2020-05-12-preview", - "2021-09-01-preview", - "2023-06-01-preview" - ] - }, - "Microsoft.AlertsManagement": { - "actionRules": [ - "2018-11-02-privatepreview", - "2019-05-05-preview", - "2021-08-08", - "2021-08-08-preview", - "2023-05-01-preview" - ], - "alertRuleRecommendations": [ - "2023-01-01-preview", - "2023-08-01-preview" - ], - "alerts": [ - "2017-11-15-privatepreview", - "2018-05-05", - "2018-05-05-preview", - "2018-11-02-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-05-05-preview" - ], - "alertsMetaData": [ - "2019-03-01", - "2019-03-01-preview", - "2019-05-05-preview" - ], - "alertsSummary": [ - "2017-11-15-privatepreview", - "2018-05-05", - "2018-05-05-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-05-05-preview" - ], - "migrateFromSmartDetection": [ - "2021-01-01-preview" - ], - "operations": [ - "2017-11-15-privatepreview", - "2018-05-05", - "2018-05-05-preview", - "2019-05-05-preview" - ], - "prometheusRuleGroups": [ - "2021-07-22-preview", - "2023-03-01" - ], - "smartDetectorAlertRules": [ - "2018-02-01-privatepreview", - "2019-03-01", - "2019-06-01", - "2021-04-01" - ], - "smartGroups": [ - "2017-11-15-privatepreview", - "2018-05-05", - "2018-05-05-preview", - "2019-05-05-preview" - ], - "tenantActivityLogAlerts": [ - "2023-01-01-preview", - "2023-04-01-preview" - ] - }, - "Microsoft.AnalysisServices": { - "locations": [ - "2016-05-16", - "2017-07-14", - "2017-08-01", - "2017-08-01-beta" - ], - "locations/checkNameAvailability": [ - "2016-05-16", - "2017-07-14", - "2017-08-01", - "2017-08-01-beta" - ], - "locations/operationresults": [ - "2016-05-16", - "2017-07-14", - "2017-08-01", - "2017-08-01-beta" - ], - "locations/operationstatuses": [ - "2016-05-16", - "2017-07-14", - "2017-08-01", - "2017-08-01-beta" - ], - "operations": [ - "2016-05-16", - "2017-07-14", - "2017-08-01", - "2017-08-01-beta" - ], - "servers": [ - "2016-05-16", - "2017-07-14", - "2017-08-01", - "2017-08-01-beta" - ] - }, - "Microsoft.AnyBuild": { - "clusters": [ - "2020-08-26", - "2021-11-01" - ], - "Locations": [ - "2020-08-26", - "2021-11-01" - ], - "Locations/OperationStatuses": [ - "2020-08-26", - "2021-11-01" - ], - "Operations": [ - "2020-08-26", - "2021-11-01" - ] - }, - "Microsoft.ApiCenter": { - "operations": [ - "2023-07-01-preview" - ], - "services": [ - "2023-07-01-preview" - ] - }, - "Microsoft.ApiManagement": { - "checkFeedbackRequired": [ - "2014-02-14", - "2015-09-15", - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "checkNameAvailability": [ - "2014-02-14", - "2015-09-15", - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "checkServiceNameAvailability": [ - "2014-02-14", - "2015-09-15" - ], - "deletedServices": [ - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "getDomainOwnershipIdentifier": [ - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "locations": [ - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "locations/deletedServices": [ - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "operations": [ - "2014-02-14", - "2015-09-15", - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "reportFeedback": [ - "2014-02-14", - "2015-09-15", - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service": [ - "2014-02-14", - "2015-09-15", - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/api-version-sets": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview" - ], - "service/apis": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/diagnostics": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/diagnostics/loggers": [ - "2017-03-01", - "2018-01-01" - ], - "service/apis/issues": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/issues/attachments": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/issues/comments": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/operations": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/operations/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/operations/policy": [ - "2016-10-10" - ], - "service/apis/operations/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/policy": [ - "2016-10-10" - ], - "service/apis/releases": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/resolvers": [ - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/resolvers/policies": [ - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/schemas": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/tagDescriptions": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apis/wikis": [ - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/apiVersionSets": [ - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/authorizationProviders": [ - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/authorizationProviders/authorizations": [ - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/authorizationProviders/authorizations/accessPolicies": [ - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/authorizationServers": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/backends": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/caches": [ - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/certificates": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/contentTypes": [ - "2019-12-01", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/contentTypes/contentItems": [ - "2019-12-01", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/diagnostics": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/diagnostics/loggers": [ - "2017-03-01", - "2018-01-01" - ], - "service/documentations": [ - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/eventGridFilters": [ - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/gateways": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/gateways/apis": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/gateways/certificateAuthorities": [ - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/gateways/hostnameConfigurations": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/groups": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/groups/users": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/identityProviders": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/loggers": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/namedValues": [ - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/notifications": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/notifications/recipientEmails": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/notifications/recipientUsers": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/openidConnectProviders": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/policyFragments": [ - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/portalconfigs": [ - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/portalRevisions": [ - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/portalsettings": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products/apiLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products/apis": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products/groupLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products/groups": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products/policies": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products/policy": [ - "2016-10-10" - ], - "service/products/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/products/wikis": [ - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/properties": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01" - ], - "service/schemas": [ - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/subscriptions": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/tags": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/tags/apiLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/tags/operationLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/tags/productLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/templates": [ - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/tenant": [ - "2016-10-10", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/users": [ - "2016-07-07", - "2016-10-10", - "2017-03-01", - "2018-01-01", - "2018-06-01-preview", - "2019-01-01", - "2019-12-01", - "2019-12-01-preview", - "2020-06-01-preview", - "2020-12-01", - "2021-01-01-preview", - "2021-04-01-preview", - "2021-08-01", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/apis": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/apis/operations": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/apis/operations/policies": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/apis/policies": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/apis/releases": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/apis/schemas": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/apiVersionSets": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/groups": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/groups/users": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/namedValues": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/notifications": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/notifications/recipientEmails": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/notifications/recipientUsers": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/policies": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/policyFragments": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/products": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/products/apiLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/products/groupLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/products/policies": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/schemas": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/subscriptions": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/tags": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/tags/apiLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/tags/operationLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "service/workspaces/tags/productLinks": [ - "2022-09-01-preview", - "2023-03-01-preview" - ], - "validateServiceName": [ - "2014-02-14", - "2015-09-15" - ] - }, - "Microsoft.ApiSecurity": { - "apiCollections": [ - "2022-03-02-privatepreview", - "2022-09-12-privatepreview" - ], - "apiCollections/apiCollectionDetails": [ - "2022-03-02-privatepreview" - ], - "apiCollectionsMeta": [ - "2022-03-02-privatepreview" - ], - "apiCollectionsMeta/apiCollectionMetaDetails": [ - "2022-03-02-privatepreview" - ], - "Locations": [ - "2021-03-01-preview" - ], - "Locations/OperationStatuses": [ - "2021-03-01-preview" - ], - "Operations": [ - "2021-03-01-preview", - "2022-03-02-privatepreview", - "2022-09-12-privatepreview" - ] - }, - "Microsoft.App": { - "connectedEnvironments": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "connectedEnvironments/certificates": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "connectedEnvironments/daprComponents": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "connectedEnvironments/storages": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "containerApps": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "containerApps/authConfigs": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "containerApps/sourcecontrols": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "getCustomDomainVerificationId": [ - "2023-05-02-preview" - ], - "jobs": [ - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/availableManagedEnvironmentsWorkloadProfileTypes": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/billingMeters": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/connectedEnvironmentOperationResults": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/connectedEnvironmentOperationStatuses": [ - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/containerappOperationResults": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/containerappOperationStatuses": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/containerappsjobOperationResults": [ - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/containerappsjobOperationStatuses": [ - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/managedCertificateOperationStatuses": [ - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/managedEnvironmentOperationResults": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/managedEnvironmentOperationStatuses": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/sourceControlOperationResults": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/sourceControlOperationStatuses": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "locations/usages": [ - "2023-05-02-preview" - ], - "managedEnvironments": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "managedEnvironments/certificates": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "managedEnvironments/daprComponents": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "managedEnvironments/managedCertificates": [ - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "managedEnvironments/storages": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ], - "operations": [ - "2022-01-01-preview", - "2022-03-01", - "2022-06-01-preview", - "2022-10-01", - "2022-11-01-preview", - "2023-02-01", - "2023-04-01-preview", - "2023-05-01", - "2023-05-02-preview" - ] - }, - "Microsoft.AppAssessment": { - "Locations": [ - "2020-09-01-privatepreview" - ], - "Locations/OperationStatuses": [ - "2020-09-01-privatepreview" - ], - "Locations/osVersions": [ - "2020-09-01-privatepreview" - ], - "operations": [ - "2020-09-01-privatepreview" - ] - }, - "Microsoft.AppComplianceAutomation": { - "checkNameAvailability": [ - "2023-02-15-preview" - ], - "getCollectionCount": [ - "2023-02-15-preview" - ], - "getOverviewStatus": [ - "2023-02-15-preview" - ], - "listInUseStorageAccounts": [ - "2023-02-15-preview" - ], - "locations": [ - "2022-05-10-privatepreview", - "2022-11-16-preview", - "2023-02-15-preview" - ], - "locations/operationStatuses": [ - "2022-05-10-privatepreview", - "2022-11-16-preview", - "2023-02-15-preview" - ], - "onboard": [ - "2023-02-15-preview" - ], - "operations": [ - "2022-05-10-beta", - "2022-05-10-privatepreview", - "2022-11-16-preview", - "2023-02-15-preview" - ], - "reports": [ - "2022-05-10-beta", - "2022-05-10-privatepreview", - "2022-11-16-preview", - "2023-02-15-preview" - ], - "reports/evidences": [ - "2023-02-15-preview" - ], - "reports/snapshots": [ - "2022-05-10-beta", - "2022-05-10-privatepreview", - "2022-11-16-preview", - "2023-02-15-preview" - ], - "reports/webhooks": [ - "2023-02-15-preview" - ], - "triggerEvaluation": [ - "2023-02-15-preview" - ] - }, - "Microsoft.AppConfiguration": { - "checkNameAvailability": [ - "2019-02-01-preview", - "2019-10-01", - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "configurationStores": [ - "2019-02-01-preview", - "2019-10-01", - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "configurationStores/eventGridFilters": [ - "2019-02-01-preview", - "2019-10-01", - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "configurationStores/keyValues": [ - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "configurationStores/privateEndpointConnections": [ - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "configurationStores/replicas": [ - "2022-03-01-preview", - "2023-03-01" - ], - "deletedConfigurationStores": [ - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "locations": [ - "2019-02-01-preview", - "2019-10-01", - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "locations/checkNameAvailability": [ - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "locations/deletedConfigurationStores": [ - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "locations/operationsStatus": [ - "2019-02-01-preview", - "2019-10-01", - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ], - "operations": [ - "2019-02-01-preview", - "2019-10-01", - "2019-11-01-preview", - "2020-06-01", - "2020-07-01-preview", - "2021-03-01-preview", - "2021-10-01-preview", - "2022-03-01-preview", - "2022-05-01", - "2023-03-01" - ] - }, - "Microsoft.AppPlatform": { - "locations": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "locations/checkNameAvailability": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "locations/operationResults": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "locations/operationStatus": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "operations": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "runtimeVersions": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/apiPortals": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/apiPortals/domains": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/apms": [ - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/applicationAccelerators": [ - "2022-11-01-preview", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/applicationAccelerators/customizedAccelerators": [ - "2022-11-01-preview", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/applicationLiveViews": [ - "2022-11-01-preview", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/apps": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/apps/bindings": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/apps/deployments": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/apps/domains": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/buildServices": [ - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/buildServices/agentPools": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/buildServices/builders": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/buildServices/builders/buildpackBindings": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/buildServices/builds": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/certificates": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/configServers": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/configurationServices": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/containerRegistries": [ - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/DevToolPortals": [ - "2022-11-01-preview", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/eurekaServers": [ - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/gateways": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/gateways/domains": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/gateways/routeConfigs": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/monitoringSettings": [ - "2020-07-01", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/serviceRegistries": [ - "2022-01-01-preview", - "2022-03-01-preview", - "2022-04-01", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ], - "Spring/storages": [ - "2021-09-01-preview", - "2022-01-01-preview", - "2022-03-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-03-01-preview", - "2023-05-01-preview", - "2023-07-01-preview" - ] - }, - "Microsoft.Attestation": { - "attestationProviders": [ - "2018-09-01", - "2018-09-01-preview", - "2020-10-01", - "2021-06-01", - "2021-06-01-preview" - ], - "attestationProviders/privateEndpointConnections": [ - "2020-10-01", - "2021-06-01", - "2021-06-01-preview" - ], - "defaultProviders": [ - "2018-09-01", - "2018-09-01-preview", - "2020-10-01", - "2021-06-01", - "2021-06-01-preview" - ], - "locations": [ - "2018-09-01", - "2018-09-01-preview", - "2020-10-01", - "2021-06-01", - "2021-06-01-preview" - ], - "locations/defaultProvider": [ - "2018-09-01", - "2018-09-01-preview", - "2020-10-01", - "2021-06-01", - "2021-06-01-preview" - ], - "operations": [ - "2018-09-01", - "2018-09-01-preview", - "2020-10-01", - "2021-06-01", - "2021-06-01-preview", - "2023-03-01-preview" - ] - }, - "Microsoft.Authorization": { - "accessReviewHistoryDefinitions": [ - "2021-11-16-preview", - "2021-12-01-preview" - ], - "accessReviewScheduleDefinitions": [ - "2018-05-01-preview", - "2021-03-01-preview", - "2021-07-01-preview", - "2021-11-16-preview", - "2021-12-01-preview" - ], - "accessReviewScheduleDefinitions/instances": [ - "2021-07-01-preview", - "2021-11-16-preview", - "2021-12-01-preview" - ], - "accessReviewScheduleSettings": [ - "2018-05-01-preview", - "2021-03-01-preview", - "2021-07-01-preview", - "2021-11-16-preview", - "2021-12-01-preview" - ], - "batchResourceCheckAccess": [ - "2018-09-01-preview" - ], - "checkAccess": [ - "2018-09-01-preview" - ], - "classicAdministrators": [ - "2014-04-01-preview", - "2014-07-01-preview", - "2014-10-01-preview", - "2015-05-01-preview", - "2015-06-01", - "2015-07-01" - ], - "dataAliases": [ - "2018-06-01-preview", - "2020-03-01-preview", - "2020-09-01" - ], - "dataPolicyManifests": [ - "2020-09-01" - ], - "denyAssignments": [ - "2018-07-01", - "2018-07-01-preview", - "2019-03-01-preview", - "2022-04-01" - ], - "diagnosticSettings": [ - "2017-04-01-preview" - ], - "diagnosticSettingsCategories": [ - "2017-04-01-preview" - ], - "elevateAccess": [ - "2014-04-01-preview", - "2014-07-01-preview", - "2014-10-01-preview", - "2015-05-01-preview", - "2015-06-01", - "2015-07-01", - "2016-07-01", - "2017-05-01" - ], - "eligibleChildResources": [ - "2020-10-01", - "2020-10-01-preview" - ], - "EnablePrivateLinkNetworkAccess": [ - "2023-03-01-preview" - ], - "findOrphanRoleAssignments": [ - "2019-04-01-preview" - ], - "locks": [ - "2015-01-01", - "2015-05-01-preview", - "2015-06-01", - "2016-09-01", - "2017-04-01", - "2020-05-01" - ], - "operations": [ - "2014-06-01", - "2014-10-01-preview", - "2015-01-01", - "2015-07-01", - "2016-07-01", - "2017-05-01" - ], - "operationStatus": [ - "2020-05-01" - ], - "permissions": [ - "2014-04-01-preview", - "2014-07-01-preview", - "2014-10-01-preview", - "2015-05-01-preview", - "2015-06-01", - "2015-07-01", - "2016-07-01", - "2017-05-01", - "2018-01-01-preview", - "2018-07-01", - "2022-04-01" - ], - "policyAssignments": [ - "2015-10-01-preview", - "2015-11-01", - "2016-04-01", - "2016-12-01", - "2017-06-01-preview", - "2018-03-01", - "2018-05-01", - "2019-01-01", - "2019-06-01", - "2019-09-01", - "2020-03-01", - "2020-08-01", - "2020-09-01", - "2021-06-01", - "2022-06-01" - ], - "policyDefinitions": [ - "2015-10-01-preview", - "2015-11-01", - "2016-04-01", - "2016-12-01", - "2018-03-01", - "2018-05-01", - "2019-01-01", - "2019-06-01", - "2019-09-01", - "2020-03-01", - "2020-08-01", - "2020-09-01", - "2021-06-01" - ], - "policyExemptions": [ - "2020-07-01-preview", - "2022-07-01-preview" - ], - "policySetDefinitions": [ - "2017-06-01-preview", - "2018-03-01", - "2018-05-01", - "2019-01-01", - "2019-06-01", - "2019-09-01", - "2020-03-01", - "2020-08-01", - "2020-09-01", - "2021-06-01" - ], - "privateLinkAssociations": [ - "2020-05-01", - "2023-01-01", - "2023-02-01" - ], - "providerOperations": [ - "2015-07-01", - "2015-07-01-preview", - "2016-07-01", - "2017-05-01", - "2018-01-01-preview", - "2018-07-01", - "2022-04-01" - ], - "resourceManagementPrivateLinks": [ - "2020-05-01" - ], - "roleAssignmentApprovals": [ - "2021-01-01-preview" - ], - "roleAssignmentApprovals/stages": [ - "2021-01-01-preview" - ], - "roleAssignments": [ - "2014-04-01-preview", - "2014-07-01-preview", - "2014-10-01-preview", - "2015-05-01-preview", - "2015-06-01", - "2015-07-01", - "2016-07-01", - "2017-05-01", - "2017-09-01", - "2017-10-01-preview", - "2018-01-01-preview", - "2018-07-01", - "2018-09-01-preview", - "2018-12-01-preview", - "2019-04-01-preview", - "2020-03-01-preview", - "2020-04-01-preview", - "2020-08-01-preview", - "2020-10-01-preview", - "2021-04-01-preview", - "2022-01-01-preview", - "2022-04-01" - ], - "roleAssignmentScheduleInstances": [ - "2020-10-01", - "2020-10-01-preview" - ], - "roleAssignmentScheduleRequests": [ - "2020-10-01", - "2020-10-01-preview", - "2022-04-01-preview" - ], - "roleAssignmentSchedules": [ - "2020-10-01", - "2020-10-01-preview" - ], - "roleAssignmentsUsageMetrics": [ - "2019-08-01-preview" - ], - "roleDefinitions": [ - "2014-04-01-preview", - "2014-07-01-preview", - "2014-10-01-preview", - "2015-05-01-preview", - "2015-06-01", - "2015-07-01", - "2016-07-01", - "2017-05-01", - "2017-09-01", - "2018-01-01-preview", - "2018-07-01", - "2022-04-01", - "2022-05-01-preview" - ], - "roleEligibilityScheduleInstances": [ - "2020-10-01", - "2020-10-01-preview" - ], - "roleEligibilityScheduleRequests": [ - "2020-10-01", - "2020-10-01-preview", - "2022-04-01-preview" - ], - "roleEligibilitySchedules": [ - "2020-10-01", - "2020-10-01-preview" - ], - "roleManagementAlertConfigurations": [ - "2022-08-01-preview" - ], - "roleManagementAlertDefinitions": [ - "2022-08-01-preview" - ], - "roleManagementAlertOperations": [ - "2022-08-01-preview" - ], - "roleManagementAlerts": [ - "2022-08-01-preview" - ], - "roleManagementPolicies": [ - "2020-10-01", - "2020-10-01-preview" - ], - "roleManagementPolicyAssignments": [ - "2020-10-01", - "2020-10-01-preview" - ], - "variables": [ - "2022-08-01-preview" - ], - "variables/values": [ - "2022-08-01-preview" - ] - }, - "Microsoft.Automanage": { - "accounts": [ - "2020-06-30-preview" - ], - "bestPractices": [ - "2021-04-30-preview", - "2022-05-04" - ], - "bestPractices/versions": [ - "2021-04-30-preview", - "2022-05-04" - ], - "configurationProfileAssignments": [ - "2020-06-30-preview", - "2021-04-30-preview", - "2022-05-04" - ], - "configurationProfilePreferences": [ - "2020-06-30-preview" - ], - "configurationProfiles": [ - "2021-04-30-preview", - "2022-05-04" - ], - "configurationProfiles/versions": [ - "2021-04-30-preview", - "2022-05-04" - ], - "operations": [ - "2021-04-30-preview", - "2022-03-30-preview", - "2022-05-04", - "2022-06-01-preview", - "2023-03-31-preview", - "2023-04-01-preview" - ] - }, - "Microsoft.Automation": { - "automationAccounts": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2021-04-01", - "2021-06-22", - "2022-01-31", - "2022-02-22", - "2022-08-08" - ], - "automationAccounts/agentRegistrationInformation": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2021-04-01", - "2021-06-22" - ], - "automationAccounts/certificates": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/compilationjobs": [ - "2015-10-31", - "2018-01-15", - "2019-06-01", - "2020-01-13-preview" - ], - "automationAccounts/configurations": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/connections": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/connectionTypes": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/credentials": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/hybridRunbookWorkerGroups": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2021-04-01", - "2021-06-22", - "2022-02-22", - "2022-08-08" - ], - "automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers": [ - "2021-06-22", - "2022-08-08" - ], - "automationAccounts/jobs": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/jobSchedules": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/modules": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/nodeConfigurations": [ - "2015-10-31", - "2018-01-15", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/privateEndpointConnectionProxies": [ - "2020-01-13-preview", - "2021-06-22" - ], - "automationAccounts/privateEndpointConnections": [ - "2020-01-13-preview", - "2021-06-22" - ], - "automationAccounts/privateLinkResources": [ - "2020-01-13-preview", - "2021-06-22" - ], - "automationAccounts/python2Packages": [ - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/python3Packages": [ - "2022-08-08" - ], - "automationAccounts/runbooks": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/runbooks/draft": [ - "2015-10-31", - "2018-06-30", - "2019-06-01", - "2022-08-08" - ], - "automationAccounts/schedules": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/softwareUpdateConfigurationMachineRuns": [ - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/softwareUpdateConfigurationRuns": [ - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/softwareUpdateConfigurations": [ - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview" - ], - "automationAccounts/sourceControls": [ - "2017-05-15-preview", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/sourceControls/sourceControlSyncJobs": [ - "2017-05-15-preview", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/variables": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview", - "2022-08-08" - ], - "automationAccounts/watchers": [ - "2015-10-31", - "2019-06-01", - "2020-01-13-preview" - ], - "automationAccounts/webhooks": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30" - ], - "deletedAutomationAccounts": [ - "2022-01-31" - ], - "operations": [ - "2015-01-01-preview", - "2015-10-31", - "2017-05-15-preview", - "2018-01-15", - "2018-06-30", - "2019-06-01", - "2020-01-13-preview" - ] - }, - "Microsoft.AutonomousDevelopmentPlatform": { - "accounts": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview" - ], - "accounts/dataPools": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview" - ], - "checknameavailability": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview", - "2022-02-01-privatepreview", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "locations": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview", - "2022-02-01-privatepreview", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "locations/operationstatuses": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview", - "2022-02-01-privatepreview", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "operations": [ - "2020-07-01-preview", - "2021-02-01-preview", - "2021-11-01-preview", - "2022-02-01-privatepreview", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "workspaces/eventgridfilters": [ - "2022-02-01-privatepreview" - ] - }, - "Microsoft.AutonomousSystems": { - "operations": [ - "2020-05-01-preview" - ], - "workspaces": [ - "2020-05-01-preview" - ], - "workspaces/operationresults": [ - "2020-05-01-preview" - ], - "workspaces/validateCreateRequest": [ - "2020-05-01-preview" - ] - }, - "Microsoft.AVS": { - "locations": [ - "2020-03-20", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "locations/checkQuotaAvailability": [ - "2020-03-20", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "locations/checkTrialAvailability": [ - "2020-03-20", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "operations": [ - "2020-03-20", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/addons": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/authorizations": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/cloudLinks": [ - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/clusters": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/clusters/datastores": [ - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/clusters/placementPolicies": [ - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/clusters/virtualMachines": [ - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/eventGridFilters": [ - "2023-09-01" - ], - "privateClouds/globalReachConnections": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/hcxEnterpriseSites": [ - "2020-03-20", - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/scriptExecutions": [ - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/scriptPackages": [ - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/scriptPackages/scriptCmdlets": [ - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks": [ - "2020-07-17-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/dhcpConfigurations": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/dnsServices": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/dnsZones": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/gateways": [ - "2020-07-17-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/portMirroringProfiles": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/publicIPs": [ - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/segments": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/virtualMachines": [ - "2020-07-17-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ], - "privateClouds/workloadNetworks/vmGroups": [ - "2020-07-17-preview", - "2021-01-01-preview", - "2021-06-01", - "2021-12-01", - "2022-05-01", - "2023-03-01" - ] - }, - "Microsoft.AwsConnector": { - "Locations": [ - "2023-12-01-preview" - ], - "Operations": [ - "2023-12-01-preview" - ] - }, - "Microsoft.AzureActiveDirectory": { - "b2cDirectories": [ - "2016-02-10-privatepreview", - "2016-12-13-preview", - "2017-01-30", - "2019-01-01-preview", - "2019-01-01-privatepreview", - "2020-05-01-preview", - "2021-04-01", - "2021-04-01-preview", - "2022-03-01-preview", - "2023-01-18-preview" - ], - "b2ctenants": [ - "2016-02-10-privatepreview", - "2020-05-01-preview", - "2021-04-01", - "2021-04-01-preview", - "2022-03-01-preview", - "2023-01-18-preview" - ], - "checkNameAvailability": [ - "2019-01-01-preview", - "2019-01-01-privatepreview", - "2020-05-01-preview", - "2021-04-01", - "2021-04-01-preview", - "2022-03-01-preview", - "2023-01-18-preview" - ], - "ciamDirectories": [ - "2022-03-01-preview", - "2023-01-18-preview" - ], - "guestUsages": [ - "2020-05-01-preview", - "2021-04-01", - "2021-04-01-preview", - "2022-03-01-preview", - "2023-01-18-preview" - ], - "operations": [ - "2016-02-10-privatepreview", - "2016-12-13-preview", - "2017-01-30", - "2019-01-01-preview", - "2019-01-01-privatepreview", - "2020-05-01-preview", - "2021-04-01", - "2021-04-01-preview", - "2022-03-01-preview", - "2023-01-18-preview" - ] - }, - "Microsoft.AzureArcData": { - "dataControllers": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview" - ], - "dataControllers/activeDirectoryConnectors": [ - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview" - ], - "Locations": [ - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview", - "2023-05-16-preview" - ], - "Locations/OperationStatuses": [ - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview", - "2023-05-16-preview" - ], - "Operations": [ - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview", - "2023-05-16-preview" - ], - "postgresInstances": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview" - ], - "sqlManagedInstances": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview" - ], - "sqlManagedInstances/failoverGroups": [ - "2023-01-15-preview" - ], - "sqlServerInstances": [ - "2021-06-01-preview", - "2021-07-01-preview", - "2021-08-01", - "2021-11-01", - "2022-03-01-preview", - "2022-06-15-preview", - "2023-01-15-preview" - ], - "sqlServerInstances/databases": [ - "2022-06-15-preview", - "2023-01-15-preview" - ] - }, - "Microsoft.AzureBridge.Admin": { - "activations": [ - "2016-01-01" - ], - "activations/downloadedProducts": [ - "2016-01-01" - ] - }, - "Microsoft.AzureCIS": { - "autopilotEnvironments": [ - "2021-08-10-privatepreview" - ], - "dsmsAllowlists": [ - "2021-08-10-privatepreview" - ], - "dsmsRootFolders": [ - "2021-08-10-privatepreview" - ], - "dstsApplications": [ - "2021-08-10-privatepreview" - ], - "dstsServiceAccounts": [ - "2021-08-10-privatepreview" - ], - "dstsServiceClientIdentities": [ - "2021-08-10-privatepreview" - ], - "Locations": [ - "2021-08-10-privatepreview" - ], - "Locations/OperationStatuses": [ - "2021-08-10-privatepreview" - ], - "plannedQuotas": [ - "2022-08-22-privatepreview" - ] - }, - "Microsoft.AzureData": { - "sqlServerRegistrations": [ - "2017-03-01-preview", - "2019-07-24-preview" - ], - "sqlServerRegistrations/sqlServers": [ - "2017-03-01-preview", - "2019-07-24-preview" - ] - }, - "Microsoft.AzurePercept": { - "checkNameAvailability": [ - "2021-09-01-preview", - "2022-04-01-preview" - ], - "operations": [ - "2021-09-01-preview", - "2022-04-01-preview" - ] - }, - "Microsoft.AzurePlaywrightService": { - "checkNameAvailability": [ - "2022-04-05-preview", - "2023-06-01-preview" - ], - "Locations": [ - "2022-04-05-preview", - "2023-06-01-preview" - ], - "operations": [ - "2022-04-05-preview", - "2023-06-01-preview" - ], - "registeredSubscriptions": [ - "2022-04-05-preview", - "2023-06-01-preview" - ] - }, - "Microsoft.AzureScan": { - "checkNameAvailability": [ - "2022-05-17-preview" - ], - "locations": [ - "2022-05-17-preview" - ], - "locations/OperationStatuses": [ - "2022-05-17-preview" - ], - "Operations": [ - "2022-05-17-preview" - ], - "scanningAccounts": [ - "2022-05-17-preview" - ] - }, - "Microsoft.AzureSphere": { - "catalogs": [ - "2022-09-01-preview" - ], - "catalogs/certificates": [ - "2022-09-01-preview" - ], - "catalogs/images": [ - "2022-09-01-preview" - ], - "catalogs/products": [ - "2022-09-01-preview" - ], - "catalogs/products/deviceGroups": [ - "2022-09-01-preview" - ], - "catalogs/products/deviceGroups/deployments": [ - "2022-09-01-preview" - ], - "catalogs/products/deviceGroups/devices": [ - "2022-09-01-preview" - ], - "locations": [ - "2022-09-01-preview" - ], - "locations/operationStatuses": [ - "2022-09-01-preview" - ], - "operations": [ - "2022-09-01-preview" - ] - }, - "Microsoft.AzureStack": { - "cloudManifestFiles": [ - "2017-06-01", - "2022-06-01" - ], - "generateDeploymentLicense": [ - "2022-06-01" - ], - "linkedSubscriptions": [ - "2020-06-01-preview" - ], - "operations": [ - "2017-06-01", - "2022-06-01" - ], - "registrations": [ - "2016-01-01", - "2017-06-01", - "2020-06-01-preview", - "2022-06-01" - ], - "registrations/customerSubscriptions": [ - "2017-06-01", - "2020-06-01-preview", - "2022-06-01" - ], - "registrations/products": [ - "2016-01-01", - "2017-06-01", - "2022-06-01" - ] - }, - "Microsoft.AzureStackHCI": { - "clusters": [ - "2020-03-01-preview", - "2020-10-01", - "2021-01-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01" - ], - "clusters/arcSettings": [ - "2021-01-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01" - ], - "clusters/arcSettings/extensions": [ - "2021-01-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01" - ], - "clusters/offers": [ - "2022-04-01-preview" - ], - "clusters/publishers": [ - "2022-04-01-preview" - ], - "clusters/publishers/offers": [ - "2022-04-01-preview" - ], - "clusters/publishers/offers/skus": [ - "2022-04-01-preview" - ], - "clusters/updates": [ - "2022-08-01-preview", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01" - ], - "clusters/updates/updateRuns": [ - "2022-08-01-preview", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01" - ], - "clusters/updateSummaries": [ - "2022-08-01-preview", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01" - ], - "galleryImages": [ - "2021-07-01-preview", - "2021-09-01-preview", - "2022-12-15-preview", - "2023-07-01-preview" - ], - "locations": [ - "2020-10-01", - "2020-11-01-preview", - "2021-01-01-preview", - "2021-07-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-08-01-preview", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01", - "2023-06-01", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "locations/operationstatuses": [ - "2020-10-01", - "2021-01-01-preview", - "2021-07-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-08-01-preview", - "2022-09-01", - "2022-10-01", - "2022-11-01-preview", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01", - "2023-06-01", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "marketplaceGalleryImages": [ - "2021-09-01-preview", - "2022-12-15-preview", - "2023-07-01-preview" - ], - "networkInterfaces": [ - "2021-07-01-preview", - "2021-09-01-preview", - "2022-12-15-preview", - "2023-07-01-preview" - ], - "operations": [ - "2020-03-01-preview", - "2020-10-01", - "2020-11-01-preview", - "2021-01-01-preview", - "2021-07-01-preview", - "2021-09-01", - "2021-09-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-08-01-preview", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2022-12-15-preview", - "2023-02-01", - "2023-03-01", - "2023-06-01", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "registeredSubscriptions": [ - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-02-01", - "2023-03-01", - "2023-06-01" - ], - "storageContainers": [ - "2021-09-01-preview", - "2022-12-15-preview", - "2023-07-01-preview" - ], - "virtualHardDisks": [ - "2021-07-01-preview", - "2021-09-01-preview", - "2022-12-15-preview", - "2023-07-01-preview" - ], - "virtualMachineInstances": [ - "2023-07-01-preview" - ], - "virtualMachineInstances/guestAgents": [ - "2023-07-01-preview" - ], - "virtualMachines": [ - "2021-07-01-preview", - "2021-09-01-preview", - "2022-12-15-preview" - ], - "virtualMachines/extensions": [ - "2021-09-01-preview", - "2022-12-15-preview" - ], - "virtualMachines/guestAgents": [ - "2021-09-01-preview", - "2022-12-15-preview" - ], - "virtualMachines/hybridIdentityMetadata": [ - "2021-09-01-preview", - "2022-12-15-preview" - ], - "virtualNetworks": [ - "2021-07-01-preview", - "2021-09-01-preview", - "2022-12-15-preview", - "2023-07-01-preview" - ] - }, - "Microsoft.Backup.Admin": { - "backupLocations": [ - "2018-09-01" - ] - }, - "Microsoft.BackupSolutions": { - "locations": [ - "2016-09-01-preview", - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-07-01", - "2022-04-01-preview", - "2022-08-01-preview" - ], - "locations/operationstatuses": [ - "2022-08-01-preview" - ], - "operations": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview" - ], - "VMwareApplications": [ - "2022-08-01-preview" - ] - }, - "Microsoft.BareMetalInfrastructure": { - "bareMetalInstances": [ - "2020-08-06-preview", - "2021-08-09", - "2023-04-06" - ], - "bareMetalStorageInstances": [ - "2023-04-06" - ], - "locations": [ - "2020-08-06-preview", - "2021-08-09", - "2023-04-06" - ], - "locations/operationsStatus": [ - "2020-08-06-preview" - ], - "operations": [ - "2020-08-06-preview", - "2021-08-09", - "2023-04-06" - ] - }, - "Microsoft.Batch": { - "batchAccounts": [ - "2014-05-01-privatepreview", - "2015-07-01", - "2015-09-01", - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "batchAccounts/applications": [ - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "batchAccounts/applications/versions": [ - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "batchAccounts/certificates": [ - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "batchAccounts/detectors": [ - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "batchAccounts/pools": [ - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "locations": [ - "2015-09-01", - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "locations/accountOperationResults": [ - "2014-05-01-privatepreview", - "2015-07-01", - "2015-09-01", - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "locations/checkNameAvailability": [ - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "locations/cloudServiceSkus": [ - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "locations/quotas": [ - "2015-09-01", - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "locations/virtualMachineSkus": [ - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ], - "operations": [ - "2015-09-01", - "2015-12-01", - "2017-01-01", - "2017-05-01", - "2017-09-01", - "2018-12-01", - "2019-04-01", - "2019-08-01", - "2020-03-01", - "2020-03-01-preview", - "2020-05-01", - "2020-09-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01", - "2023-05-01" - ] - }, - "Microsoft.Billing": { - "billingAccounts": [ - "2018-05-31", - "2018-06-30", - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview", - "2020-12-15-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/agreements": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingAccounts/alerts": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/appliedReservationOrders": [ - "2020-12-15-beta", - "2020-12-15-privatepreview" - ], - "billingAccounts/associatedTenants": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/availableBalance": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/billingPermissions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview", - "2020-12-15-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/alerts": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/availableBalance": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingAccounts/billingProfiles/billingPermissions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/billingRoleAssignments": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/billingRoleDefinitions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingProfiles/billingSubscriptions": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/createBillingRoleAssignment": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingProfiles/customers": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/departments": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/departments/billingPermissions": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/departments/billingRoleAssignments": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/departments/billingRoleDefinitions": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/departments/billingSubscriptions": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/departments/enrollmentAccounts": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/enrollmentAccounts": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/enrollmentAccounts/billingPermissions": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/enrollmentAccounts/billingSubscriptions": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/instructions": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/invoices": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingAccounts/billingProfiles/invoices/pricesheet": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/invoices/transactions": [ - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/invoiceSections": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingProfiles/invoiceSections/billingPermissions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingProfiles/invoiceSections/billingSubscriptions": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/invoiceSections/createBillingRoleAssignment": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingProfiles/invoiceSections/initiateTransfer": [ - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/invoiceSections/products": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/invoiceSections/products/transfer": [ - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/invoiceSections/products/updateAutoRenew": [ - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/invoiceSections/transactions": [ - "2019-10-01-preview", - "2020-11-01-privatepreview" - ], - "billingAccounts/billingProfiles/invoiceSections/transfers": [ - "2019-10-01-preview", - "2020-11-01-privatepreview" - ], - "billingAccounts/billingProfiles/invoiceSections/validateDeleteInvoiceSectionEligibility": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/billingProfiles/notificationContacts": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/BillingProfiles/patchOperations": [ - "2018-11-01-preview" - ], - "billingAccounts/billingProfiles/paymentMethodLinks": [ - "2020-11-01-privatepreview", - "2021-10-01", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/paymentMethods": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/policies": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingProfiles/pricesheet": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/pricesheetDownloadOperations": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "billingAccounts/billingProfiles/products": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/reservations": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/billingProfiles/transactions": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-11-01-privatepreview" - ], - "billingAccounts/billingProfiles/validateDeleteBillingProfileEligibility": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/billingProfiles/validateDetachPaymentMethodEligibility": [ - "2019-10-01-preview" - ], - "billingAccounts/billingProfilesSummaries": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/billingRoleAssignments": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingRoleDefinitions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingSubscriptionAliases": [ - "2021-10-01" - ], - "billingAccounts/billingSubscriptions": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview", - "2020-12-15-privatepreview", - "2021-10-01", - "2022-10-01-privatepreview" - ], - "billingAccounts/billingSubscriptions/elevateRole": [ - "2020-12-15-beta", - "2020-12-15-privatepreview" - ], - "billingAccounts/billingSubscriptions/invoices": [ - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingAccounts/billingSubscriptions/policies": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/createBillingRoleAssignment": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/createInvoiceSectionOperations": [ - "2018-11-01-preview" - ], - "billingAccounts/customers": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/customers/billingPermissions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/customers/billingRoleAssignments": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/customers/billingRoleDefinitions": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/customers/billingSubscriptions": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/customers/createBillingRoleAssignment": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/customers/initiateTransfer": [ - "2019-10-01-preview" - ], - "billingAccounts/customers/policies": [ - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingAccounts/customers/products": [ - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/customers/transactions": [ - "2019-10-01-preview", - "2020-11-01-privatepreview" - ], - "billingAccounts/customers/transfers": [ - "2019-10-01-preview", - "2020-11-01-privatepreview" - ], - "billingAccounts/customers/transferSupportedAccounts": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/departments": [ - "2018-06-30", - "2019-10-01-preview", - "2020-12-15-privatepreview" - ], - "billingAccounts/departments/billingPermissions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/departments/billingRoleAssignments": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/departments/billingRoleDefinitions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/departments/billingSubscriptions": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/departments/enrollmentAccounts": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/enrollmentAccounts": [ - "2018-06-30", - "2019-10-01-preview", - "2020-12-15-privatepreview" - ], - "billingAccounts/enrollmentAccounts/billingPermissions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/enrollmentAccounts/billingRoleAssignments": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/enrollmentAccounts/billingRoleDefinitions": [ - "2019-10-01-preview", - "2020-05-01", - "2020-12-15-privatepreview" - ], - "billingAccounts/enrollmentAccounts/billingSubscriptions": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/incentiveSchedules": [ - "2022-10-01-beta" - ], - "billingAccounts/incentiveSchedules/milestones": [ - "2022-10-01-beta" - ], - "billingAccounts/invoices": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingAccounts/invoices/summary": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/invoices/transactions": [ - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingAccounts/invoices/transactionSummary": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/invoiceSections": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/billingSubscriptionMoveOperations": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/billingSubscriptions": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/billingSubscriptions/transfer": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/elevate": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/initiateTransfer": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/patchOperations": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/productMoveOperations": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/products": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/products/transfer": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/products/updateAutoRenew": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/productTransfersResults": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/transactions": [ - "2018-11-01-preview" - ], - "billingAccounts/invoiceSections/transfers": [ - "2018-11-01-preview" - ], - "billingAccounts/lineOfCredit": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "billingAccounts/listInvoiceSectionsWithCreateSubscriptionPermission": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/listProductRecommendations": [ - "2022-10-01-privatepreview" - ], - "billingAccounts/notificationContacts": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/operationResults": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview", - "2020-12-15-privatepreview", - "2021-10-01", - "2022-10-01-privatepreview" - ], - "billingAccounts/patchOperations": [ - "2018-11-01-preview" - ], - "billingAccounts/payableOverage": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/paymentMethods": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-11-01-privatepreview", - "2021-10-01" - ], - "billingAccounts/payNow": [ - "2020-12-15-privatepreview" - ], - "billingAccounts/permissionRequests": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/policies": [ - "2020-11-01-privatepreview", - "2022-10-01-privatepreview" - ], - "billingAccounts/products": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "billingAccounts/promotionalCredits": [ - "2020-11-01-privatepreview" - ], - "billingAccounts/reservationOrders": [ - "2020-11-01-beta", - "2020-11-01-privatepreview", - "2022-10-01-beta", - "2022-10-01-privatepreview", - "2023-04-01-beta" - ], - "billingAccounts/reservationOrders/reservations": [ - "2020-11-01-beta", - "2020-11-01-privatepreview", - "2022-10-01-beta", - "2022-10-01-privatepreview", - "2023-04-01-beta" - ], - "billingAccounts/reservations": [ - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-beta", - "2020-11-01-privatepreview", - "2022-10-01-beta", - "2022-10-01-privatepreview", - "2023-04-01-beta" - ], - "billingAccounts/savingsPlanOrders": [ - "2020-11-01-beta", - "2020-11-01-privatepreview", - "2020-12-15-beta", - "2020-12-15-privatepreview", - "2022-10-01-beta", - "2022-10-01-privatepreview", - "2023-04-01-beta" - ], - "billingAccounts/savingsPlanOrders/savingsPlans": [ - "2020-11-01-beta", - "2020-11-01-privatepreview", - "2020-12-15-beta", - "2020-12-15-privatepreview", - "2022-10-01-beta", - "2022-10-01-privatepreview", - "2023-04-01-beta" - ], - "billingAccounts/savingsPlans": [ - "2020-11-01-beta", - "2020-11-01-privatepreview", - "2020-12-15-beta", - "2020-12-15-privatepreview", - "2022-10-01-beta", - "2022-10-01-privatepreview", - "2023-04-01-beta" - ], - "billingAccounts/transactions": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "billingPeriods": [ - "2017-04-24-preview", - "2018-03-01-preview" - ], - "billingPermissions": [ - "2018-11-01-preview" - ], - "billingProperty": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-11-01-privatepreview" - ], - "billingRoleAssignments": [ - "2018-11-01-preview" - ], - "billingRoleDefinitions": [ - "2018-11-01-preview" - ], - "createBillingRoleAssignment": [ - "2018-11-01-preview" - ], - "departments": [ - "2018-05-31", - "2018-06-30" - ], - "enrollmentAccounts": [ - "2018-03-01-preview" - ], - "invoices": [ - "2017-02-27-preview", - "2017-04-24-preview", - "2018-03-01-preview", - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "operationResults": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "operations": [ - "2017-02-27-preview", - "2017-04-24-preview", - "2018-03-01-preview", - "2018-06-30", - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01", - "2020-09-01-preview", - "2020-11-01-privatepreview" - ], - "operationStatus": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ], - "paymentMethods": [ - "2020-11-01-privatepreview", - "2021-10-01" - ], - "permissionRequests": [ - "2020-11-01-privatepreview" - ], - "promotionalCredits": [ - "2020-11-01-privatepreview" - ], - "promotions": [ - "2020-09-01-preview", - "2020-11-01-preview" - ], - "promotions/checkeligibility": [ - "2020-09-01-preview", - "2020-11-01-preview" - ], - "transfers": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-11-01-privatepreview" - ], - "transfers/acceptTransfer": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "transfers/declineTransfer": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "transfers/operationStatus": [ - "2018-11-01-preview" - ], - "transfers/validateTransfer": [ - "2018-11-01-preview", - "2019-10-01-preview" - ], - "validateAddress": [ - "2018-11-01-preview", - "2019-10-01-preview", - "2020-05-01" - ] - }, - "Microsoft.BillingBenefits": { - "calculateMigrationCost": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "incentiveSchedules": [ - "2023-07-01-beta" - ], - "incentiveSchedules/milestones": [ - "2023-07-01-beta" - ], - "maccs": [ - "2023-11-01-beta", - "2023-11-01-preview" - ], - "maccs/contributors": [ - "2023-07-01-beta", - "2023-07-01-preview" - ], - "operationResults": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta", - "2023-07-01-beta", - "2023-07-01-preview" - ], - "operations": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrderAliases": [ - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta", - "2023-07-01-beta", - "2023-07-01-preview" - ], - "savingsPlanOrderAliases": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta", - "2023-07-01-beta", - "2023-07-01-preview" - ], - "savingsPlanOrders": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta", - "2023-07-01-beta", - "2023-07-01-preview" - ], - "savingsPlanOrders/savingsPlans": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta", - "2023-07-01-beta", - "2023-07-01-preview" - ], - "savingsPlans": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta", - "2023-07-01-beta", - "2023-07-01-preview" - ], - "validate": [ - "2021-07-01-beta", - "2021-07-01-privatepreview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ] - }, - "Microsoft.Bing": { - "accounts": [ - "2020-06-10" - ], - "accounts/skus": [ - "2020-06-10" - ], - "accounts/usages": [ - "2020-06-10" - ], - "locations": [ - "2020-06-10" - ], - "locations/operationStatuses": [ - "2020-06-10" - ], - "operations": [ - "2020-06-10" - ], - "registeredSubscriptions": [ - "2020-06-10" - ] - }, - "Microsoft.Blockchain": { - "blockchainMembers": [ - "2018-06-01-preview" - ], - "blockchainMembers/transactionNodes": [ - "2018-06-01-preview" - ] - }, - "Microsoft.BlockchainTokens": { - "Operations": [ - "2019-07-19-preview" - ] - }, - "Microsoft.Blueprint": { - "blueprintAssignments": [ - "2017-11-11-alpha", - "2017-11-11-preview", - "2018-11-01-alpha", - "2018-11-01-preview" - ], - "blueprintAssignments/assignmentOperations": [ - "2018-11-01-alpha", - "2018-11-01-preview" - ], - "blueprintAssignments/operations": [ - "2017-11-11-alpha", - "2017-11-11-preview" - ], - "blueprints": [ - "2017-11-11-alpha", - "2017-11-11-preview", - "2018-11-01-alpha", - "2018-11-01-preview" - ], - "blueprints/artifacts": [ - "2017-11-11-alpha", - "2017-11-11-preview", - "2018-11-01-alpha", - "2018-11-01-preview" - ], - "blueprints/versions": [ - "2017-11-11-alpha", - "2017-11-11-preview", - "2018-11-01-alpha", - "2018-11-01-preview" - ], - "blueprints/versions/artifacts": [ - "2017-11-11-alpha", - "2017-11-11-preview", - "2018-11-01-alpha", - "2018-11-01-preview" - ], - "operations": [ - "2017-11-11-alpha", - "2017-11-11-preview", - "2018-11-01-alpha", - "2018-11-01-preview" - ] - }, - "Microsoft.BotService": { - "botServices": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "botServices/channels": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "botServices/connections": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "botServices/privateEndpointConnectionProxies": [ - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "botServices/privateEndpointConnections": [ - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "botServices/privateLinkResources": [ - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "checkNameAvailability": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "enterpriseChannels": [ - "2018-07-12" - ], - "hostSettings": [ - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "listAuthServiceProviders": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "listQnAMakerEndpointKeys": [ - "2022-06-15-preview", - "2022-09-15" - ], - "locations": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "operationResults": [ - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ], - "operations": [ - "2017-12-01", - "2018-07-12", - "2020-06-02", - "2021-03-01", - "2021-05-01-preview", - "2022-06-15-preview", - "2022-09-15" - ] - }, - "Microsoft.Cache": { - "checkNameAvailability": [ - "2014-04-01", - "2014-04-01-alpha", - "2014-04-01-preview", - "2015-03-01", - "2015-08-01", - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "locations": [ - "2014-04-01", - "2014-04-01-preview", - "2015-03-01", - "2015-08-01", - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-04-01-preview", - "2020-06-01", - "2020-12-01", - "2021-02-01-preview", - "2021-03-01", - "2021-06-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-06-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01-preview", - "2023-07-01" - ], - "locations/asyncOperations": [ - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "locations/checkNameAvailability": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "locations/operationResults": [ - "2014-04-01", - "2014-04-01-preview", - "2015-03-01", - "2015-08-01", - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "locations/operationsStatus": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "operations": [ - "2014-04-01", - "2014-04-01-alpha", - "2014-04-01-preview", - "2015-03-01", - "2015-08-01", - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-10-01-preview", - "2020-12-01", - "2021-02-01-preview", - "2021-03-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01-preview", - "2023-07-01" - ], - "Redis": [ - "2014-04-01", - "2014-04-01-preview", - "2015-03-01", - "2015-08-01", - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "redis/accessPolicies": [ - "2023-05-01-preview" - ], - "redis/accessPolicyAssignments": [ - "2023-05-01-preview" - ], - "Redis/EventGridFilters": [ - "2014-04-01", - "2014-04-01-preview", - "2015-03-01", - "2015-08-01", - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "Redis/firewallRules": [ - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "Redis/linkedServers": [ - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "Redis/patchSchedules": [ - "2016-04-01", - "2017-02-01", - "2017-10-01", - "2018-03-01", - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "Redis/privateEndpointConnectionProxies": [ - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "Redis/privateEndpointConnectionProxies/validate": [ - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "redis/privateEndpointConnections": [ - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "Redis/privateLinkResources": [ - "2019-07-01", - "2020-06-01", - "2020-12-01", - "2021-06-01", - "2022-05-01", - "2022-06-01", - "2023-04-01", - "2023-05-01-preview" - ], - "redisEnterprise": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "redisEnterprise/databases": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "RedisEnterprise/privateEndpointConnectionProxies": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "RedisEnterprise/privateEndpointConnectionProxies/operationresults": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "RedisEnterprise/privateEndpointConnectionProxies/validate": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "redisEnterprise/privateEndpointConnections": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "RedisEnterprise/privateEndpointConnections/operationresults": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ], - "RedisEnterprise/privateLinkResources": [ - "2020-04-01-preview", - "2020-10-01-preview", - "2021-02-01-preview", - "2021-03-01", - "2021-08-01", - "2022-01-01", - "2022-11-01-preview", - "2023-03-01-preview", - "2023-07-01" - ] - }, - "Microsoft.Capacity": { - "appliedReservations": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "autoQuotaIncrease": [ - "2019-07-19" - ], - "calculateExchange": [ - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-02-16-beta", - "2022-02-16-privatepreview", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "calculatePrice": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "calculatePurchasePrice": [ - "2019-06-01-beta", - "2019-06-01-privatepreview" - ], - "catalogs": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-03-01-beta", - "2021-03-01-privatepreview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "checkBenefitScopes": [ - "2021-03-01-beta", - "2021-03-01-privatepreview" - ], - "checkOffers": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview" - ], - "checkPurchaseStatus": [ - "2019-06-01-beta", - "2019-06-01-privatepreview" - ], - "checkScopes": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview" - ], - "commercialReservationOrders": [ - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta" - ], - "exchange": [ - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-02-16-beta", - "2022-02-16-privatepreview", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "listbenefits": [ - "2019-04-01", - "2019-04-01-beta" - ], - "listSkus": [ - "2021-01-01-beta", - "2021-01-01-privatepreview" - ], - "operationResults": [ - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-02-16-beta", - "2022-02-16-privatepreview", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "operations": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "ownReservations": [ - "2020-06-01", - "2020-06-01-beta" - ], - "placePurchaseOrder": [ - "2019-06-01-beta", - "2019-06-01-privatepreview" - ], - "reservationOrders": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2020-11-15-beta", - "2020-11-15-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/availableScopes": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview" - ], - "reservationOrders/calculateRefund": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/changeDirectory": [ - "2020-11-15", - "2020-11-15-beta", - "2020-11-15-preview", - "2021-07-01", - "2022-02-16-beta", - "2022-02-16-privatepreview", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/merge": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/reservations": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-03-01-beta", - "2021-03-01-privatepreview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/reservations/availableScopes": [ - "2019-04-01", - "2019-04-01-beta", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/reservations/revisions": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/return": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/split": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "reservationOrders/swap": [ - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-10-01-beta", - "2020-10-01-preview" - ], - "reservations": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2021-07-01", - "2021-07-01-beta", - "2022-03-01", - "2022-03-01-beta", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ], - "resourceProviders": [ - "2019-07-19-preview", - "2020-10-25" - ], - "resourceProviders/locations": [ - "2019-07-19-preview", - "2020-10-25" - ], - "resourceProviders/locations/serviceLimits": [ - "2019-07-19", - "2019-07-19-preview", - "2020-10-25" - ], - "resourceProviders/locations/serviceLimitsRequests": [ - "2019-07-19-preview", - "2020-10-25" - ], - "resources": [ - "2017-11-01", - "2018-06-01", - "2019-04-01" - ], - "validateReservationOrder": [ - "2017-11-01", - "2017-11-01-beta", - "2018-06-01", - "2018-06-01-beta", - "2019-04-01", - "2019-04-01-beta", - "2020-06-01-beta", - "2020-10-01-beta", - "2020-10-01-preview", - "2022-06-02-beta", - "2022-06-02-privatepreview", - "2022-11-01", - "2022-11-01-beta" - ] - }, - "Microsoft.Carbon": { - "carbonEmissionReports": [ - "2023-04-01-preview" - ], - "queryCarbonEmissionDataAvailableDateRange": [ - "2023-04-01-preview" - ] - }, - "Microsoft.Cdn": { - "canMigrate": [ - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "CdnWebApplicationFirewallManagedRuleSets": [ - "2019-06-15-preview", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "cdnWebApplicationFirewallPolicies": [ - "2019-06-15", - "2019-06-15-preview", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "checkEndpointNameAvailability": [ - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "checkNameAvailability": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "checkResourceUsage": [ - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "edgenodes": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "migrate": [ - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/afdendpointresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/afdendpointresults/routeresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/customdomainresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/endpointresults": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/endpointresults/customdomainresults": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/endpointresults/origingroupresults": [ - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/endpointresults/originresults": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/origingroupresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/origingroupresults/originresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/policyresults": [ - "2022-01-01-preview", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/rulesetresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/rulesetresults/ruleresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/secretresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operationresults/profileresults/securitypoliciesresults": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "operations": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/afdEndpoints": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/afdEndpoints/routes": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/customDomains": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/endpoints": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/endpoints/customDomains": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/endpoints/originGroups": [ - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/endpoints/origins": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/keygroups": [ - "2023-07-01-preview" - ], - "profiles/networkpolicies": [ - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/originGroups": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/originGroups/origins": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/policies": [ - "2022-01-01-preview" - ], - "profiles/ruleSets": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/ruleSets/rules": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/secrets": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "profiles/securityPolicies": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "validateProbe": [ - "2017-04-02", - "2017-10-12", - "2018-04-02", - "2019-04-15", - "2019-06-15-preview", - "2019-12-31", - "2020-03-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ], - "validateSecret": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-07-01-preview" - ] - }, - "Microsoft.CertificateRegistration": { - "certificateOrders": [ - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "certificateOrders/certificates": [ - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "operations": [ - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "validateCertificateRegistrationInformation": [ - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ] - }, - "Microsoft.ChangeAnalysis": { - "changes": [ - "2020-10-01-preview", - "2021-04-01", - "2021-04-01-preview" - ], - "changeSnapshots": [ - "2021-04-01-preview" - ], - "computeChanges": [ - "2021-04-01-preview" - ], - "operations": [ - "2019-04-01-preview", - "2020-04-01-preview" - ], - "profile": [ - "2020-04-01-preview" - ], - "resourceChanges": [ - "2020-04-01-preview", - "2021-04-01", - "2021-04-01-preview" - ] - }, - "Microsoft.Chaos": { - "experiments": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-04-01-preview", - "2023-04-15-preview" - ], - "locations": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-04-01-preview", - "2023-04-15-preview" - ], - "locations/targetTypes": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-04-01-preview", - "2023-04-15-preview" - ], - "operations": [ - "2021-07-01-preview", - "2021-07-05-preview", - "2021-08-11-preview", - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-04-01-preview", - "2023-04-15-preview" - ], - "targets": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-04-01-preview", - "2023-04-15-preview" - ], - "targets/capabilities": [ - "2021-09-15-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-04-01-preview", - "2023-04-15-preview" - ] - }, - "Microsoft.ClassicCompute": { - "capabilities": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "checkDomainNameAvailability": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "domainNames": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01", - "2017-11-01", - "2017-11-15", - "2018-06-01", - "2020-02-01", - "2021-02-01" - ], - "domainNames/capabilities": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "domainNames/internalLoadBalancers": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01", - "2017-11-01" - ], - "domainNames/serviceCertificates": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "domainNames/slots": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01", - "2017-11-15", - "2018-06-01", - "2020-02-01" - ], - "domainNames/slots/roles": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "domainNames/slots/roles/metricDefinitions": [ - "2014-04-01" - ], - "domainNames/slots/roles/metrics": [ - "2014-04-01" - ], - "moveSubscriptionResources": [ - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "operatingSystemFamilies": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "operatingSystems": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "operations": [ - "2014-01-01", - "2014-04-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01", - "2017-04-01" - ], - "operationStatuses": [ - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "quotas": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "resourceTypes": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "validateSubscriptionMoveAvailability": [ - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "virtualMachines": [ - "2014-01-01", - "2014-04-01", - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01", - "2017-04-01" - ], - "virtualMachines/diagnosticSettings": [ - "2014-04-01" - ], - "virtualMachines/metricDefinitions": [ - "2014-04-01" - ], - "virtualMachines/metrics": [ - "2014-04-01" - ] - }, - "Microsoft.ClassicInfrastructureMigrate": { - "classicInfrastructureResources": [ - "2015-06-15" - ] - }, - "Microsoft.ClassicNetwork": { - "capabilities": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "expressRouteCrossConnections": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "expressRouteCrossConnections/peerings": [ - "2014-06-01", - "2015-06-01", - "2015-10-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "gatewaySupportedDevices": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "networkSecurityGroups": [ - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "operations": [ - "2014-01-01", - "2014-04-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-04-01-beta", - "2016-11-01" - ], - "quotas": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "reservedIps": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "virtualNetworks": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01", - "2017-11-15" - ], - "virtualNetworks/remoteVirtualNetworkPeeringProxies": [ - "2016-11-01" - ], - "virtualNetworks/virtualNetworkPeerings": [ - "2016-11-01" - ] - }, - "Microsoft.ClassicStorage": { - "capabilities": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "checkStorageAccountAvailability": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "disks": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "images": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "operations": [ - "2014-01-01", - "2014-04-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-04-01-beta", - "2016-11-01" - ], - "osImages": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "osPlatformImages": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "publicImages": [ - "2016-04-01", - "2016-11-01" - ], - "quotas": [ - "2014-01-01", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "storageAccounts": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-beta", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "storageAccounts/blobServices": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "storageAccounts/fileServices": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "storageAccounts/metricDefinitions": [ - "2014-04-01" - ], - "storageAccounts/metrics": [ - "2014-04-01" - ], - "storageAccounts/queueServices": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "storageAccounts/services": [ - "2014-04-01" - ], - "storageAccounts/services/diagnosticSettings": [ - "2014-04-01" - ], - "storageAccounts/services/metricDefinitions": [ - "2014-04-01" - ], - "storageAccounts/services/metrics": [ - "2014-04-01" - ], - "storageAccounts/tableServices": [ - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "storageAccounts/vmImages": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-beta", - "2014-06-01", - "2015-06-01", - "2015-12-01", - "2016-04-01", - "2016-11-01" - ], - "vmImages": [ - "2016-11-01" - ] - }, - "Microsoft.ClassicSubscription": { - "operations": [ - "2017-06-01", - "2017-09-01" - ] - }, - "Microsoft.CleanRoom": { - "Locations": [ - "2022-12-31-preview" - ], - "Locations/OperationStatuses": [ - "2022-12-31-preview" - ], - "Operations": [ - "2022-12-31-preview" - ] - }, - "Microsoft.CloudShell": { - "operations": [ - "2017-01-01-preview", - "2017-08-01-preview", - "2017-12-01-preview", - "2018-10-01", - "2020-04-01-preview", - "2023-02-01-preview" - ] - }, - "Microsoft.CloudTest": { - "accounts": [ - "2020-05-07" - ], - "hostedpools": [ - "2020-05-07" - ], - "images": [ - "2020-05-07" - ], - "locations": [ - "2020-05-07" - ], - "locations/operations": [ - "2020-05-07" - ], - "operations": [ - "2020-05-07" - ], - "pools": [ - "2020-05-07" - ] - }, - "Microsoft.CodeSigning": { - "checkNameAvailability": [ - "2020-12-14-preview", - "2023-04-30-preview" - ], - "Locations": [ - "2020-12-14-preview", - "2023-04-30-preview" - ], - "Locations/OperationStatuses": [ - "2020-12-14-preview", - "2023-04-30-preview" - ], - "Operations": [ - "2020-12-14-preview", - "2023-04-30-preview" - ] - }, - "Microsoft.CognitiveSearch": { - "locations": [ - "2023-05-01-preview" - ], - "locations/operationStatuses": [ - "2023-05-01-preview" - ], - "Operations": [ - "2023-05-01-preview" - ] - }, - "Microsoft.CognitiveServices": { - "accounts": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "accounts/commitmentPlans": [ - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01" - ], - "accounts/deployments": [ - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01" - ], - "accounts/networkSecurityPerimeterAssociationProxies": [ - "2021-10-01" - ], - "accounts/privateEndpointConnectionProxies": [ - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "accounts/privateEndpointConnections": [ - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "accounts/privateLinkResources": [ - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "checkDomainAvailability": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "commitmentPlans": [ - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "commitmentPlans/accountAssociations": [ - "2022-12-01", - "2023-05-01" - ], - "deletedAccounts": [ - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations/checkSkuAvailability": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations/commitmentTiers": [ - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations/models": [ - "2023-05-01", - "2023-06-01-preview" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2021-10-01" - ], - "locations/operationResults": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations/raiContentFilters": [ - "2023-06-01-preview" - ], - "locations/resourceGroups": [ - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations/resourceGroups/deletedAccounts": [ - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ], - "locations/usages": [ - "2023-05-01", - "2023-06-01-preview" - ], - "operations": [ - "2016-02-01-preview", - "2017-04-18", - "2021-04-30", - "2021-10-01", - "2022-03-01", - "2022-10-01", - "2022-12-01", - "2023-05-01", - "2023-06-01-preview" - ] - }, - "Microsoft.Commerce": { - "operations": [ - "2015-03-31", - "2015-06-01-preview" - ], - "RateCard": [ - "2015-05-15", - "2015-06-01-preview", - "2016-08-31-preview" - ], - "UsageAggregates": [ - "2015-03-31", - "2015-06-01-preview" - ] - }, - "Microsoft.Communication": { - "CheckNameAvailability": [ - "2020-08-20", - "2021-10-01-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "communicationServices": [ - "2020-08-20", - "2020-08-20-preview", - "2021-10-01-preview", - "2022-03-29-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "CommunicationServices/eventGridFilters": [ - "2020-08-20", - "2021-09-09-privatepreview" - ], - "emailServices": [ - "2021-10-01-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "emailServices/domains": [ - "2021-10-01-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "emailServices/domains/senderUsernames": [ - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "Locations": [ - "2020-08-20", - "2021-10-01-preview", - "2022-03-29-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "locations/operationStatuses": [ - "2020-08-20", - "2021-10-01-preview", - "2022-03-29-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "operations": [ - "2020-08-20", - "2021-10-01-preview", - "2022-03-29-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ], - "registeredSubscriptions": [ - "2020-08-20", - "2021-10-01-preview", - "2022-07-01-preview", - "2022-10-01-preview", - "2023-03-01-preview", - "2023-03-31", - "2023-04-01-preview" - ] - }, - "Microsoft.Compute": { - "availabilitySets": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "capacityReservationGroups": [ - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "capacityReservationGroups/capacityReservations": [ - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "cloudServices": [ - "2020-10-01-preview", - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "cloudServices/networkInterfaces": [ - "2020-10-01-preview", - "2021-03-01" - ], - "cloudServices/publicIPAddresses": [ - "2020-10-01-preview", - "2021-03-01" - ], - "cloudServices/roleInstances": [ - "2020-10-01-preview", - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "cloudServices/roleInstances/networkInterfaces": [ - "2020-10-01-preview", - "2021-03-01" - ], - "cloudServices/roles": [ - "2020-10-01-preview", - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "cloudServices/updateDomains": [ - "2020-10-01-preview", - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "diskAccesses": [ - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "diskAccesses/privateEndpointConnections": [ - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "diskEncryptionSets": [ - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "disks": [ - "2016-04-30-preview", - "2017-03-30", - "2018-04-01", - "2018-06-01", - "2018-09-30", - "2019-03-01", - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "galleries": [ - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-03-01", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03", - "2022-08-03", - "2023-07-03" - ], - "galleries/applications": [ - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-03-01", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03", - "2022-08-03", - "2023-07-03" - ], - "galleries/applications/versions": [ - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-03-01", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03", - "2022-08-03", - "2023-07-03" - ], - "galleries/images": [ - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-03-01", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03", - "2022-08-03", - "2023-07-03" - ], - "galleries/images/versions": [ - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-03-01", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03", - "2022-08-03", - "2023-07-03" - ], - "hostGroups": [ - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "hostGroups/hosts": [ - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "images": [ - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/artifactPublishers": [ - "2017-10-15-preview" - ], - "locations/capsoperations": [ - "2017-10-15-preview", - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-03-01", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03", - "2022-08-03", - "2023-07-03" - ], - "locations/cloudServiceOsFamilies": [ - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "locations/cloudServiceOsVersions": [ - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "locations/communityGalleries": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-09-30", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-01-03", - "2022-03-01", - "2022-03-03", - "2022-08-01", - "2022-08-03", - "2022-11-01", - "2023-03-01", - "2023-07-01", - "2023-07-03" - ], - "locations/csoperations": [ - "2020-10-01-preview", - "2021-03-01", - "2022-04-04", - "2022-09-04" - ], - "locations/diagnosticOperations": [ - "2021-06-01-preview" - ], - "locations/diagnostics": [ - "2021-06-01-preview" - ], - "locations/diskoperations": [ - "2016-04-30-preview", - "2017-03-30", - "2018-04-01", - "2018-06-01", - "2018-09-30", - "2019-03-01", - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "locations/edgeZones": [ - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/edgeZones/publishers": [ - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/edgeZones/vmimages": [ - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/galleries": [ - "2018-06-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-09-30", - "2021-03-01", - "2021-07-01", - "2021-10-01", - "2022-01-03", - "2022-03-03", - "2022-08-03", - "2023-07-03" - ], - "locations/logAnalytics": [ - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/operations": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-10-30-preview", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/publishers": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-09-30", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-01-03", - "2022-03-01", - "2022-03-03", - "2022-08-01", - "2022-08-03", - "2022-11-01", - "2023-03-01", - "2023-07-01", - "2023-07-03" - ], - "locations/recommendations": [ - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/runCommands": [ - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/sharedGalleries": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-09-30", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-01-03", - "2022-03-01", - "2022-03-03", - "2022-08-01", - "2022-08-03", - "2022-11-01", - "2023-03-01", - "2023-07-01", - "2023-07-03" - ], - "locations/spotEvictionRates": [ - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/spotPriceHistory": [ - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/usages": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/virtualMachines": [ - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/virtualMachineScaleSets": [ - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "locations/vmSizes": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "operations": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "proximityPlacementGroups": [ - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "restorePointCollections": [ - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "restorePointCollections/restorePoints": [ - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "restorePointCollections/restorePoints/diskRestorePoints": [ - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "sharedVMImages": [ - "2017-10-15-preview" - ], - "sharedVMImages/versions": [ - "2017-10-15-preview" - ], - "snapshots": [ - "2016-04-30-preview", - "2017-03-30", - "2018-04-01", - "2018-06-01", - "2018-09-30", - "2019-03-01", - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "sshPublicKeys": [ - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachines": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachines/extensions": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachines/metricDefinitions": [ - "2014-04-01" - ], - "virtualMachines/runCommands": [ - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachines/VMApplications": [ - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-10-30-preview", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/applications": [ - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/disks": [ - "2016-04-30-preview", - "2017-03-30", - "2018-04-01", - "2018-06-01", - "2018-09-30", - "2019-03-01", - "2019-07-01", - "2019-11-01", - "2020-05-01", - "2020-06-30", - "2020-09-30", - "2020-12-01", - "2021-04-01", - "2021-08-01", - "2021-12-01", - "2022-03-02", - "2022-07-02", - "2023-01-02", - "2023-04-02" - ], - "virtualMachineScaleSets/extensions": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-10-30-preview", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/networkInterfaces": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/publicIPAddresses": [ - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/virtualmachines": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-10-30-preview", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/virtualMachines/extensions": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-08-30", - "2017-03-30", - "2017-10-30-preview", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/virtualMachines/networkInterfaces": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-04-30-preview", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2017-03-30", - "2017-12-01", - "2018-04-01", - "2018-06-01", - "2018-10-01", - "2019-03-01", - "2019-07-01", - "2019-12-01", - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ], - "virtualMachineScaleSets/virtualMachines/runCommands": [ - "2020-06-01", - "2020-12-01", - "2021-03-01", - "2021-04-01", - "2021-07-01", - "2021-11-01", - "2022-03-01", - "2022-08-01", - "2022-11-01", - "2023-03-01", - "2023-07-01" - ] - }, - "Microsoft.Compute.Admin": { - "locations/artifactTypes/publishers/offers/skus/versions": [ - "2015-12-01-preview" - ], - "locations/artifactTypes/publishers/types/versions": [ - "2015-12-01-preview" - ], - "locations/diskmigrationjobs": [ - "2018-07-30-preview", - "2021-04-01", - "2021-09-01" - ], - "locations/quotas": [ - "2015-12-01-preview", - "2018-02-09", - "2021-01-01" - ] - }, - "Microsoft.ConfidentialLedger": { - "checkNameAvailability": [ - "2020-12-01-preview", - "2021-05-13-preview", - "2022-05-13", - "2022-09-08-preview", - "2023-01-26-preview" - ], - "ledgers": [ - "2020-12-01-preview", - "2021-05-13-preview", - "2022-05-13", - "2022-09-08-preview", - "2023-01-26-preview" - ], - "Locations": [ - "2020-12-01-preview", - "2021-05-13-preview", - "2022-05-13", - "2022-09-08-preview", - "2023-01-26-preview" - ], - "Locations/operations": [ - "2020-12-01-preview", - "2021-05-13-preview", - "2022-05-13" - ], - "Locations/operationstatuses": [ - "2020-12-01-preview", - "2021-05-13-preview", - "2022-05-13", - "2022-09-08-preview", - "2023-01-26-preview" - ], - "managedCCFs": [ - "2022-09-08-preview", - "2023-01-26-preview" - ], - "operations": [ - "2020-12-01-preview", - "2021-05-13-preview", - "2022-05-13", - "2022-09-08-preview", - "2023-01-26-preview" - ] - }, - "Microsoft.Confluent": { - "agreements": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01", - "2022-04-10-preview", - "2022-07-21-preview", - "2022-10-07-preview", - "2023-02-09-preview", - "2023-07-11-preview" - ], - "checkNameAvailability": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01", - "2022-04-10-preview", - "2022-07-21-preview", - "2022-10-07-preview", - "2023-02-09-preview", - "2023-07-11-preview" - ], - "locations": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01", - "2022-04-10-preview", - "2022-07-21-preview", - "2022-10-07-preview", - "2023-02-09-preview", - "2023-07-11-preview" - ], - "locations/OperationStatuses": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01", - "2022-04-10-preview", - "2022-07-21-preview", - "2022-10-07-preview", - "2023-02-09-preview", - "2023-07-11-preview" - ], - "operations": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01", - "2022-04-10-preview", - "2022-07-21-preview", - "2022-10-07-preview", - "2023-02-09-preview", - "2023-07-11-preview" - ], - "organizations": [ - "2020-03-01", - "2020-03-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01", - "2022-04-10-preview", - "2022-07-21-preview", - "2022-10-07-preview", - "2023-02-09-preview", - "2023-07-11-preview" - ], - "organizations/access": [ - "2023-02-09-preview" - ], - "validations": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-12-01", - "2022-04-10-preview", - "2022-07-21-preview", - "2022-10-07-preview", - "2023-02-09-preview", - "2023-07-11-preview" - ] - }, - "Microsoft.ConnectedCache": { - "cacheNodes": [ - "2019-12-04-preview", - "2021-09-15-preview" - ], - "enterpriseCustomers": [ - "2021-09-15-preview" - ], - "enterpriseMccCustomers": [ - "2023-04-01-preview" - ], - "enterpriseMccCustomers/enterpriseMccCacheNodes": [ - "2023-04-01-preview" - ], - "ispCustomers": [ - "2022-03-21-preview", - "2023-04-01-preview" - ], - "ispCustomers/ispcachenodes": [ - "2022-03-21-preview", - "2023-04-01-preview" - ], - "locations": [ - "2022-03-21-preview", - "2023-04-01-preview" - ], - "locations/operationstatuses": [ - "2022-03-21-preview", - "2023-04-01-preview" - ], - "Operations": [ - "2022-03-21-preview", - "2023-04-01-preview" - ], - "registeredSubscriptions": [ - "2022-03-21-preview", - "2023-04-01-preview", - "2023-05-01-preview" - ] - }, - "Microsoft.ConnectedCredentials": { - "locations": [ - "2023-06-12-preview" - ] - }, - "microsoft.connectedopenstack": { - "locations": [ - "2021-05-31-privatepreview" - ], - "locations/operationStatuses": [ - "2021-05-31-privatepreview" - ], - "operations": [ - "2021-05-31-privatepreview" - ] - }, - "Microsoft.ConnectedVehicle": { - "checkNameAvailability": [ - "2020-12-01-preview" - ], - "locations": [ - "2020-12-01-preview" - ], - "Locations/OperationStatuses": [ - "2020-12-01-preview" - ], - "operations": [ - "2020-12-01-preview" - ], - "registeredSubscriptions": [ - "2020-12-01-preview" - ] - }, - "Microsoft.ConnectedVMwarevSphere": { - "clusters": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "datastores": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "hosts": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "locations": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "locations/operationstatuses": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "operations": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "resourcePools": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "vcenters": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "vcenters/inventoryItems": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "virtualMachineInstances": [ - "2023-03-01-preview" - ], - "virtualMachineInstances/guestAgents": [ - "2023-03-01-preview" - ], - "virtualMachines": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "virtualMachines/extensions": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "virtualMachines/guestAgents": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "virtualMachines/hybridIdentityMetadata": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "virtualMachineTemplates": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ], - "virtualNetworks": [ - "2020-10-01-preview", - "2022-01-10-preview", - "2022-07-15-preview", - "2023-03-01-preview" - ] - }, - "Microsoft.Consumption": { - "AggregatedCost": [ - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "Balances": [ - "2017-06-30-preview", - "2017-11-30", - "2018-01-31", - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2022-09-01", - "2023-03-01", - "2023-05-01" - ], - "budgets": [ - "2017-12-30-preview", - "2018-01-31", - "2018-03-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2018-12-01-preview", - "2019-01-01", - "2019-01-01-preview", - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01", - "2019-05-01-preview", - "2019-06-01", - "2019-10-01", - "2019-11-01", - "2021-05-01", - "2021-10-01", - "2022-09-01", - "2023-03-01", - "2023-05-01", - "2023-11-01" - ], - "Charges": [ - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2019-01-01", - "2019-05-01", - "2019-05-01-preview", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "costTags": [ - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-05-01", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "credits": [ - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2019-10-01", - "2021-05-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "events": [ - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2019-10-01", - "2021-05-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "Forecasts": [ - "2018-05-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2023-03-01", - "2023-05-01" - ], - "lots": [ - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2019-10-01", - "2021-05-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "Marketplaces": [ - "2018-01-31", - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "OperationResults": [ - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2019-01-01", - "2019-04-01-preview", - "2019-05-01", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-01-01", - "2021-10-01", - "2022-06-01", - "2023-03-01", - "2023-05-01" - ], - "Operations": [ - "2017-06-30-preview", - "2017-11-30", - "2018-01-31", - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-01-preview", - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2022-06-01", - "2023-03-01", - "2023-05-01" - ], - "OperationStatus": [ - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2019-01-01", - "2019-04-01-preview", - "2019-05-01", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-01-01", - "2021-10-01", - "2022-06-01", - "2022-09-01", - "2023-03-01", - "2023-05-01" - ], - "Pricesheets": [ - "2017-06-30-preview", - "2017-11-30", - "2018-01-31", - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2020-01-01-preview", - "2021-10-01", - "2022-06-01", - "2023-03-01", - "2023-05-01" - ], - "products": [ - "2018-08-31", - "2018-10-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "ReservationDetails": [ - "2017-06-30-preview", - "2017-11-30", - "2018-01-31", - "2018-03-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-01-01-preview", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "ReservationRecommendationDetails": [ - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "ReservationRecommendations": [ - "2018-03-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-01-01-preview", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "ReservationSummaries": [ - "2017-06-30-preview", - "2017-11-30", - "2018-01-31", - "2018-03-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-01-01-preview", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "ReservationTransactions": [ - "2017-06-30-preview", - "2017-11-30", - "2018-01-31", - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "Tags": [ - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-01-preview", - "2018-08-31", - "2018-10-01", - "2018-12-01-preview", - "2019-01-01", - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "tenants": [ - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "Terms": [ - "2017-12-30-preview", - "2018-01-31", - "2018-03-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-05-01", - "2019-10-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ], - "UsageDetails": [ - "2017-06-30-preview", - "2017-11-30", - "2018-01-31", - "2018-03-31", - "2018-05-31", - "2018-06-30", - "2018-08-31", - "2018-10-01", - "2018-11-01-preview", - "2018-12-01-preview", - "2019-01-01", - "2019-04-01-preview", - "2019-05-01", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-01-01", - "2021-10-01", - "2023-03-01", - "2023-05-01" - ] - }, - "Microsoft.ContainerInstance": { - "containerGroups": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations/cachedImages": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations/capabilities": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2018-12-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations/operationresults": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations/operations": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations/usages": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "locations/validateDeleteVirtualNetworkOrSubnets": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2018-12-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "operations": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ], - "serviceAssociationLinks": [ - "2017-08-01-preview", - "2017-10-01-preview", - "2017-12-01-preview", - "2018-02-01-preview", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-09-01", - "2018-10-01", - "2019-12-01", - "2020-11-01", - "2021-03-01", - "2021-07-01", - "2021-09-01", - "2021-10-01", - "2022-04-01-preview", - "2022-09-01", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-05-01", - "2023-05-15-preview" - ] - }, - "Microsoft.ContainerRegistry": { - "checkNameAvailability": [ - "2016-06-27-preview", - "2017-03-01", - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "locations": [ - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-05-01-preview", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "locations/authorize": [ - "2018-02-01-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2017-10-01", - "2019-05-01" - ], - "locations/operationResults": [ - "2017-10-01", - "2019-05-01", - "2019-05-01-preview", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "locations/setupAuth": [ - "2018-02-01-preview" - ], - "operations": [ - "2017-03-01", - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries": [ - "2016-06-27-preview", - "2017-03-01", - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/agentPools": [ - "2019-06-01-preview" - ], - "registries/agentPools/listQueueStatus": [ - "2019-06-01-preview" - ], - "registries/agentPoolsOperationResults": [ - "2019-06-01-preview" - ], - "registries/builds": [ - "2018-02-01-preview" - ], - "registries/builds/cancel": [ - "2018-02-01-preview" - ], - "registries/builds/getLogLink": [ - "2018-02-01-preview" - ], - "registries/buildTasks": [ - "2018-02-01-preview" - ], - "registries/buildTasks/listSourceRepositoryProperties": [ - "2018-02-01-preview" - ], - "registries/buildTasks/steps": [ - "2018-02-01-preview" - ], - "registries/buildTasks/steps/listBuildArguments": [ - "2018-02-01-preview" - ], - "registries/cacheRules": [ - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/connectedRegistries": [ - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/connectedRegistries/deactivate": [ - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/credentialSets": [ - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/eventGridFilters": [ - "2017-10-01", - "2019-05-01", - "2022-12-01" - ], - "registries/exportPipelines": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/generateCredentials": [ - "2019-05-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/getBuildSourceUploadUrl": [ - "2018-02-01-preview" - ], - "registries/GetCredentials": [ - "2016-06-27-preview" - ], - "registries/importImage": [ - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/importPipelines": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/listBuildSourceUploadUrl": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/listCredentials": [ - "2017-03-01", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/listPolicies": [ - "2017-10-01" - ], - "registries/listUsages": [ - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/packages/archives": [ - "2023-06-01-preview" - ], - "registries/packages/archives/versions": [ - "2023-06-01-preview" - ], - "registries/pipelineRuns": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/privateEndpointConnectionProxies": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/privateEndpointConnectionProxies/validate": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/privateEndpointConnections": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/privateLinkResources": [ - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/queueBuild": [ - "2018-02-01-preview" - ], - "registries/regenerateCredential": [ - "2017-03-01", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/regenerateCredentials": [ - "2016-06-27-preview" - ], - "registries/replications": [ - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/runs": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/runs/cancel": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/runs/listLogSasUrl": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/scheduleRun": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/scopeMaps": [ - "2019-05-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/taskRuns": [ - "2019-06-01-preview" - ], - "registries/taskRuns/listDetails": [ - "2019-06-01-preview" - ], - "registries/tasks": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/tasks/listDetails": [ - "2018-09-01", - "2019-04-01", - "2019-06-01-preview" - ], - "registries/tokens": [ - "2019-05-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/updatePolicies": [ - "2017-10-01" - ], - "registries/webhooks": [ - "2017-06-01-preview", - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview", - "2023-07-01" - ], - "registries/webhooks/getCallbackConfig": [ - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/webhooks/listEvents": [ - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "registries/webhooks/ping": [ - "2017-10-01", - "2019-05-01", - "2019-12-01-preview", - "2020-11-01-preview", - "2021-06-01-preview", - "2021-08-01-preview", - "2021-09-01", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-12-01", - "2023-01-01-preview", - "2023-06-01-preview" - ] - }, - "Microsoft.ContainerRegistry.Admin": { - "locations/configurations": [ - "2019-11-01-preview" - ], - "locations/quotas": [ - "2019-11-01-preview" - ] - }, - "Microsoft.ContainerService": { - "containerServices": [ - "2015-11-01-preview", - "2016-03-30", - "2016-09-30", - "2017-01-31", - "2017-07-01" - ], - "fleetMemberships": [ - "2022-06-02-preview", - "2022-07-02-preview", - "2022-09-02-preview", - "2023-03-15-preview", - "2023-06-15-preview" - ], - "fleets": [ - "2022-06-02-preview", - "2022-07-02-preview", - "2022-09-02-preview", - "2023-03-15-preview", - "2023-06-15-preview" - ], - "fleets/members": [ - "2022-06-02-preview", - "2022-07-02-preview", - "2022-09-02-preview", - "2023-03-15-preview", - "2023-06-15-preview" - ], - "fleets/updateRuns": [ - "2023-03-15-preview", - "2023-06-15-preview" - ], - "locations": [ - "2015-11-01-preview", - "2016-03-30", - "2016-09-30", - "2017-01-31", - "2017-08-31" - ], - "locations/guardrailsVersions": [ - "2023-07-02-preview" - ], - "locations/kubernetesVersions": [ - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2022-03-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-02-preview", - "2023-01-02-preview", - "2023-02-02-preview", - "2023-03-02-preview", - "2023-04-02-preview", - "2023-05-02-preview", - "2023-06-02-preview", - "2023-07-02-preview" - ], - "locations/operationresults": [ - "2016-03-30", - "2017-08-31", - "2018-03-31", - "2018-08-01-preview", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "locations/operations": [ - "2016-03-30", - "2017-08-31", - "2018-03-31", - "2018-08-01-preview", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "locations/orchestrators": [ - "2017-09-30", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "locations/osOptions": [ - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "managedClusters": [ - "2017-08-31", - "2018-03-31", - "2018-08-01-preview", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "managedClusters/agentPools": [ - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "ManagedClusters/eventGridFilters": [ - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "managedClusters/maintenanceConfigurations": [ - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "managedClusters/privateEndpointConnections": [ - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "managedClusters/trustedAccessRoleBindings": [ - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-02-preview", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-02-preview", - "2023-01-02-preview", - "2023-02-02-preview", - "2023-03-02-preview", - "2023-04-02-preview", - "2023-05-02-preview", - "2023-06-02-preview", - "2023-07-02-preview" - ], - "managedclustersnapshots": [ - "2022-02-02-preview", - "2022-03-02-preview", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-02-preview", - "2022-07-02-preview", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-02-preview", - "2023-01-02-preview", - "2023-02-02-preview", - "2023-03-02-preview", - "2023-04-02-preview", - "2023-05-02-preview", - "2023-06-02-preview", - "2023-07-02-preview" - ], - "openShiftManagedClusters": [ - "2018-09-30-preview", - "2019-04-30", - "2019-09-30", - "2019-10-27-preview" - ], - "operations": [ - "2015-11-01-preview", - "2016-03-30", - "2016-09-30", - "2017-01-31", - "2017-07-01", - "2017-08-31", - "2018-03-31", - "2018-10-31", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-06-01", - "2020-07-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-07-01", - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ], - "snapshots": [ - "2021-08-01", - "2021-09-01", - "2021-10-01", - "2021-11-01-preview", - "2022-01-01", - "2022-01-02-preview", - "2022-02-01", - "2022-02-02-preview", - "2022-03-01", - "2022-03-02-preview", - "2022-04-01", - "2022-04-02-preview", - "2022-05-02-preview", - "2022-06-01", - "2022-06-02-preview", - "2022-07-01", - "2022-07-02-preview", - "2022-08-01", - "2022-08-02-preview", - "2022-08-03-preview", - "2022-09-01", - "2022-09-02-preview", - "2022-10-02-preview", - "2022-11-01", - "2022-11-02-preview", - "2023-01-01", - "2023-01-02-preview", - "2023-02-01", - "2023-02-02-preview", - "2023-03-01", - "2023-03-02-preview", - "2023-04-01", - "2023-04-02-preview", - "2023-05-01", - "2023-05-02-preview", - "2023-06-01", - "2023-06-02-preview", - "2023-07-01", - "2023-07-02-preview" - ] - }, - "Microsoft.ContainerStorage": { - "pools": [ - "2023-07-01-preview" - ], - "pools/snapshots": [ - "2023-07-01-preview" - ], - "pools/volumes": [ - "2023-07-01-preview" - ] - }, - "Microsoft.CostManagement": { - "Alerts": [ - "2018-08-01-preview", - "2019-10-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview" - ], - "BenefitRecommendations": [ - "2021-11-15-preview", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "BenefitUtilizationSummaries": [ - "2021-11-15-preview", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "BenefitUtilizationSummariesOperationResults": [ - "2023-03-01", - "2023-08-01" - ], - "BillingAccounts": [ - "2018-03-31", - "2023-03-01", - "2023-08-01" - ], - "budgets": [ - "2019-04-01-preview", - "2019-10-01", - "2021-10-01", - "2022-10-01", - "2022-10-01-preview", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "CalculateCost": [ - "2023-04-01-preview" - ], - "calculatePrice": [ - "2021-11-15-preview", - "2022-03-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "CheckConnectorEligibility": [ - "2019-03-01-preview" - ], - "CheckNameAvailability": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-06-01-preview", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "cloudConnectors": [ - "2019-03-01-preview" - ], - "connectors": [ - "2018-08-01-preview" - ], - "costAllocationRules": [ - "2020-03-01-preview", - "2023-08-01" - ], - "CostDetailsOperationResults": [ - "2022-05-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "Departments": [ - "2018-03-31", - "2023-03-01", - "2023-08-01" - ], - "Dimensions": [ - "2018-05-31", - "2018-08-01-preview", - "2018-08-31", - "2018-10-01-preview", - "2018-12-01-preview", - "2019-01-01", - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview" - ], - "EnrollmentAccounts": [ - "2018-03-31", - "2023-03-01", - "2023-08-01" - ], - "exports": [ - "2019-01-01", - "2019-01-01-preview", - "2019-09-01", - "2019-10-01", - "2019-11-01", - "2020-05-01-preview", - "2020-06-01", - "2020-12-01-preview", - "2021-01-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "ExternalBillingAccounts": [ - "2019-03-01-preview" - ], - "ExternalBillingAccounts/Alerts": [ - "2018-08-01-preview", - "2019-10-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview" - ], - "ExternalBillingAccounts/Dimensions": [ - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "ExternalBillingAccounts/Forecast": [ - "2018-12-01-preview", - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "ExternalBillingAccounts/Query": [ - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "externalSubscriptions": [ - "2019-03-01-preview", - "2023-03-01", - "2023-08-01" - ], - "ExternalSubscriptions/Alerts": [ - "2018-08-01-preview", - "2019-10-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview" - ], - "ExternalSubscriptions/Dimensions": [ - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "ExternalSubscriptions/Forecast": [ - "2018-12-01-preview", - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "ExternalSubscriptions/Query": [ - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "fetchMarketplacePrices": [ - "2022-03-01", - "2022-09-30", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "fetchMicrosoftPrices": [ - "2022-03-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "fetchPrices": [ - "2020-01-01-preview", - "2021-11-15-preview", - "2023-04-01-preview" - ], - "Forecast": [ - "2018-12-01-preview", - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "GenerateBenefitUtilizationSummariesReport": [ - "2023-03-01", - "2023-08-01" - ], - "GenerateCostDetailsReport": [ - "2022-05-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "GenerateDetailedCostReport": [ - "2020-12-01-preview", - "2021-01-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "GenerateReservationDetailsReport": [ - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "Insights": [ - "2020-08-01-preview" - ], - "markupRules": [ - "2022-10-05-preview" - ], - "OperationResults": [ - "2020-12-01-preview", - "2021-01-01", - "2021-10-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-06-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "operations": [ - "2018-08-01-preview", - "2018-08-31", - "2018-10-01", - "2019-01-01", - "2019-10-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "OperationStatus": [ - "2020-12-01-preview", - "2021-01-01", - "2021-10-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-06-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "Pricesheets": [ - "2022-02-01-preview", - "2022-04-01-preview", - "2022-06-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "Publish": [ - "2021-04-01-preview" - ], - "Query": [ - "2018-05-31", - "2018-08-01-preview", - "2018-08-31", - "2018-10-01-preview", - "2018-12-01-preview", - "2019-01-01", - "2019-03-01-preview", - "2019-04-01-preview", - "2019-05-01-preview", - "2019-10-01", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview" - ], - "register": [ - "2019-03-01-preview" - ], - "reportconfigs": [ - "2018-05-31", - "2023-08-01" - ], - "reports": [ - "2018-08-01-preview", - "2018-12-01-preview" - ], - "ReservationDetailsOperationResults": [ - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "scheduledActions": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-06-01-preview", - "2022-10-01", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "SendMessage": [ - "2023-04-01-preview" - ], - "settings": [ - "2019-01-01-preview", - "2019-11-01", - "2021-10-01", - "2022-10-01", - "2022-10-01-preview", - "2022-10-05-preview", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ], - "showbackRules": [ - "2019-02-01-alpha", - "2019-02-02-alpha", - "2019-02-03-alpha", - "2019-03-01-preview", - "2023-08-01" - ], - "StartConversation": [ - "2023-04-01-preview" - ], - "views": [ - "2019-04-01-preview", - "2019-10-01", - "2019-11-01", - "2020-06-01", - "2021-10-01", - "2022-08-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-10-05-preview", - "2023-03-01", - "2023-04-01-preview", - "2023-08-01" - ] - }, - "Microsoft.CostManagementExports": { - "Operations": [ - "2019-04-01" - ] - }, - "Microsoft.CustomerInsights": { - "hubs": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/authorizationPolicies": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/connectors": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/connectors/mappings": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/interactions": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/kpi": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/links": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/predictions": [ - "2017-04-26" - ], - "hubs/profiles": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/relationshipLinks": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/relationships": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/roleAssignments": [ - "2017-01-01", - "2017-04-26" - ], - "hubs/views": [ - "2017-01-01", - "2017-04-26" - ] - }, - "Microsoft.CustomerLockbox": { - "DisableLockbox": [ - "2018-02-28-preview" - ], - "EnableLockbox": [ - "2018-02-28-preview" - ], - "operations": [ - "2018-02-28-preview" - ], - "requests": [ - "2018-02-28-preview" - ], - "TenantOptedIn": [ - "2018-02-28-preview" - ] - }, - "Microsoft.CustomProviders": { - "associations": [ - "2018-09-01-preview" - ], - "locations": [ - "2018-09-01-preview" - ], - "locations/operationStatuses": [ - "2018-09-01-preview" - ], - "operations": [ - "2018-09-01-preview" - ], - "resourceProviders": [ - "2018-09-01-preview" - ] - }, - "Microsoft.D365CustomerInsights": { - "instances": [ - "2020-06-10-preview" - ], - "operations": [ - "2020-06-10-beta", - "2020-06-10-preview", - "2020-06-10-privatepreview" - ] - }, - "Microsoft.Dashboard": { - "checkNameAvailability": [ - "2021-09-01-preview", - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ], - "grafana": [ - "2021-09-01-preview", - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ], - "grafana/managedPrivateEndpoints": [ - "2022-10-01-preview" - ], - "grafana/privateEndpointConnections": [ - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ], - "grafana/privateLinkResources": [ - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ], - "locations": [ - "2021-09-01-preview", - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ], - "locations/checkNameAvailability": [ - "2021-09-01-preview", - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ], - "locations/operationStatuses": [ - "2021-09-01-preview", - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ], - "operations": [ - "2021-09-01-preview", - "2022-05-01-preview", - "2022-08-01", - "2022-10-01-preview" - ] - }, - "Microsoft.DatabaseWatcher": { - "locations": [ - "2023-03-01-preview" - ], - "operations": [ - "2023-03-01-preview" - ] - }, - "Microsoft.DataBox": { - "jobs": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "jobs/eventGridFilters": [ - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "locations": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "locations/availableSkus": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "locations/checkNameAvailability": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "locations/operationresults": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "locations/regionConfiguration": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "locations/validateAddress": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "locations/validateInputs": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ], - "operations": [ - "2018-01-01", - "2019-09-01", - "2020-04-01", - "2020-11-01", - "2021-03-01", - "2021-05-01", - "2021-08-01-preview", - "2021-12-01", - "2022-02-01", - "2022-09-01", - "2022-10-01", - "2022-12-01", - "2023-03-01" - ] - }, - "Microsoft.DataBoxEdge": { - "availableSkus": [ - "2020-05-01-preview", - "2020-07-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2021-02-01-preview" - ], - "dataBoxEdgeDevices": [ - "2017-09-01", - "2018-07-01", - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-01-01", - "2020-05-01-preview", - "2020-06-01", - "2020-07-01", - "2020-07-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-02-01", - "2023-07-01" - ], - "dataBoxEdgeDevices/bandwidthSchedules": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "DataBoxEdgeDevices/checkNameAvailability": [ - "2017-09-01", - "2018-07-01", - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-01-01", - "2020-05-01-preview", - "2020-06-01", - "2020-07-01", - "2020-07-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-02-01", - "2023-07-01" - ], - "dataBoxEdgeDevices/diagnosticProactiveLogCollectionSettings": [ - "2021-02-01", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/diagnosticRemoteSupportSettings": [ - "2021-02-01", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/orders": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/roles": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/roles/addons": [ - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/roles/monitoringConfig": [ - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/shares": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/storageAccountCredentials": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/storageAccounts": [ - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/storageAccounts/containers": [ - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/triggers": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "dataBoxEdgeDevices/users": [ - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-05-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-07-01" - ], - "operations": [ - "2017-09-01", - "2018-07-01", - "2019-03-01", - "2019-07-01", - "2019-08-01", - "2020-01-01", - "2020-05-01-preview", - "2020-06-01", - "2020-07-01", - "2020-07-01-preview", - "2020-09-01", - "2020-09-01-preview", - "2020-12-01", - "2021-02-01", - "2021-02-01-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-01", - "2022-04-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-02-01", - "2023-07-01" - ] - }, - "Microsoft.Databricks": { - "accessConnectors": [ - "2022-04-01-preview", - "2022-10-01-preview", - "2023-05-01" - ], - "locations": [ - "2018-03-01", - "2018-03-15", - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview", - "2023-02-01" - ], - "locations/getNetworkPolicies": [ - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview", - "2023-02-01" - ], - "locations/operationstatuses": [ - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview", - "2023-02-01" - ], - "operations": [ - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview", - "2023-02-01" - ], - "workspaces": [ - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview", - "2023-02-01" - ], - "workspaces/dbWorkspaces": [ - "2018-04-01" - ], - "workspaces/privateEndpointConnections": [ - "2021-04-01-preview", - "2022-04-01-preview", - "2023-02-01" - ], - "workspaces/virtualNetworkPeerings": [ - "2018-04-01", - "2021-04-01-preview", - "2022-04-01-preview", - "2023-02-01" - ] - }, - "Microsoft.DataCatalog": { - "catalogs": [ - "2015-07-01-preview", - "2016-03-30" - ], - "checkNameAvailability": [ - "2015-07-01-preview", - "2016-03-30" - ], - "locations": [ - "2015-07-01-preview", - "2016-03-30" - ], - "locations/jobs": [ - "2015-07-01-preview", - "2016-03-30" - ], - "operations": [ - "2015-07-01-preview", - "2016-03-30" - ] - }, - "Microsoft.DataCollaboration": { - "listinvitations": [ - "2020-05-04-preview", - "2022-05-04-preview" - ], - "locations": [ - "2020-05-04-preview", - "2022-05-04-preview" - ], - "locations/consumerInvitations": [ - "2020-05-04-preview", - "2022-05-04-preview" - ], - "locations/consumerInvitations/reject": [ - "2020-05-04-preview", - "2022-05-04-preview" - ], - "locations/operationResults": [ - "2020-05-04-preview", - "2022-05-04-preview" - ], - "operations": [ - "2020-05-04-preview", - "2022-05-04-preview" - ] - }, - "Microsoft.Datadog": { - "agreements": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "locations": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "locations/operationStatuses": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/getDefaultKey": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/listApiKeys": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/listHosts": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/listLinkedResources": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/listMonitoredResources": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/monitoredSubscriptions": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/refreshSetPasswordLink": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/setDefaultKey": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/singleSignOnConfigurations": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "monitors/tagRules": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "operations": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "registeredSubscriptions": [ - "2020-02-01-preview", - "2021-03-01", - "2022-06-01", - "2022-08-01", - "2023-01-01", - "2023-07-07" - ], - "subscriptionStatuses": [ - "2023-01-01", - "2023-07-07" - ] - }, - "Microsoft.DataFactory": { - "checkAzureDataFactoryNameAvailability": [ - "2015-01-01-preview", - "2015-05-01-preview", - "2015-07-01-preview", - "2015-08-01", - "2015-09-01", - "2015-10-01" - ], - "checkDataFactoryNameAvailability": [ - "2015-01-01-preview", - "2015-05-01-preview" - ], - "CheckNameAvailability": [ - "2018-06-01" - ], - "dataFactories": [ - "2014-04-01", - "2015-01-01-preview", - "2015-05-01-preview", - "2015-07-01-preview", - "2015-08-01", - "2015-09-01", - "2015-10-01" - ], - "dataFactories/diagnosticSettings": [ - "2014-04-01" - ], - "dataFactories/metricDefinitions": [ - "2014-04-01" - ], - "dataFactorySchema": [ - "2015-01-01-preview", - "2015-05-01-preview", - "2015-07-01-preview", - "2015-08-01", - "2015-09-01", - "2015-10-01" - ], - "factories": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/adfcdcs": [ - "2018-06-01" - ], - "factories/credentials": [ - "2018-06-01" - ], - "factories/dataflows": [ - "2018-06-01" - ], - "factories/datasets": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/globalParameters": [ - "2018-06-01" - ], - "factories/integrationRuntimes": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/linkedservices": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/managedVirtualNetworks": [ - "2018-06-01" - ], - "factories/managedVirtualNetworks/managedPrivateEndpoints": [ - "2018-06-01" - ], - "factories/pipelines": [ - "2017-09-01-preview", - "2018-06-01" - ], - "factories/privateEndpointConnections": [ - "2018-06-01" - ], - "factories/triggers": [ - "2017-09-01-preview", - "2018-06-01" - ], - "locations": [ - "2017-09-01-preview", - "2018-06-01" - ], - "locations/configureFactoryRepo": [ - "2017-09-01-preview", - "2018-06-01" - ], - "locations/getFeatureValue": [ - "2018-06-01" - ], - "operations": [ - "2015-01-01-preview", - "2015-05-01-preview", - "2015-07-01-preview", - "2015-08-01", - "2015-09-01", - "2015-10-01", - "2017-03-01-preview", - "2017-09-01-preview", - "2018-06-01" - ] - }, - "Microsoft.DataLakeAnalytics": { - "accounts": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/computePolicies": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/dataLakeStoreAccounts": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/firewallRules": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/storageAccounts": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/storageAccounts/containers": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "accounts/storageAccounts/containers/listSasTokens": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "locations": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "locations/capability": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "locations/checkNameAvailability": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "locations/operationresults": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "locations/usages": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ], - "operations": [ - "2015-10-01-preview", - "2016-11-01", - "2019-11-01-preview" - ] - }, - "Microsoft.DataLakeStore": { - "accounts": [ - "2015-10-01-preview", - "2016-11-01" - ], - "accounts/eventGridFilters": [ - "2015-10-01-preview", - "2016-11-01" - ], - "accounts/firewallRules": [ - "2015-10-01-preview", - "2016-11-01" - ], - "accounts/trustedIdProviders": [ - "2016-11-01" - ], - "accounts/virtualNetworkRules": [ - "2016-11-01" - ], - "locations": [ - "2015-10-01-preview", - "2016-11-01" - ], - "locations/capability": [ - "2015-10-01-preview", - "2016-11-01" - ], - "locations/checkNameAvailability": [ - "2015-10-01-preview", - "2016-11-01" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2015-10-01-preview", - "2016-11-01" - ], - "locations/operationresults": [ - "2015-10-01-preview", - "2016-11-01" - ], - "locations/usages": [ - "2015-10-01-preview", - "2016-11-01" - ], - "operations": [ - "2015-10-01-preview", - "2016-11-01" - ] - }, - "Microsoft.DataMigration": { - "databaseMigrations": [ - "2020-09-01-preview", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "locations": [ - "2017-04-15-privatepreview", - "2017-11-15-preview", - "2017-11-15-privatepreview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "locations/checkNameAvailability": [ - "2017-04-15-privatepreview", - "2017-11-15-preview", - "2017-11-15-privatepreview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "locations/operationResults": [ - "2017-04-15-privatepreview", - "2017-11-15-preview", - "2017-11-15-privatepreview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "locations/operationStatuses": [ - "2017-04-15-privatepreview", - "2017-11-15-preview", - "2017-11-15-privatepreview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "Locations/OperationTypes": [ - "2020-09-01-preview", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "Locations/sqlMigrationServiceOperationResults": [ - "2020-09-01-preview", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "operations": [ - "2020-09-01-preview", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services": [ - "2017-04-15-privatepreview", - "2017-11-15-preview", - "2017-11-15-privatepreview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/projects": [ - "2017-04-15-privatepreview", - "2017-11-15-preview", - "2017-11-15-privatepreview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/projects/files": [ - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/projects/tasks": [ - "2017-11-15-preview", - "2018-03-15-preview", - "2018-03-31-preview", - "2018-04-19", - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "services/serviceTasks": [ - "2018-07-15-preview", - "2021-06-30", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ], - "sqlMigrationServices": [ - "2020-09-01-preview", - "2021-10-30-preview", - "2022-01-30-preview", - "2022-03-30-preview" - ] - }, - "Microsoft.DataProtection": { - "backupInstances": [ - "2022-03-31-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2023-04-01-preview" - ], - "backupVaults": [ - "2020-01-01-alpha", - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "backupVaults/backupInstances": [ - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "backupVaults/backupPolicies": [ - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "backupVaults/backupResourceGuardProxies": [ - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "locations": [ - "2020-01-01-alpha", - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "locations/checkFeatureSupport": [ - "2020-01-01-alpha", - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "locations/checkNameAvailability": [ - "2020-01-01-alpha", - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "locations/crossRegionRestore": [ - "2023-04-01-preview" - ], - "locations/fetchCrossRegionRestoreJob": [ - "2023-04-01-preview" - ], - "locations/fetchCrossRegionRestoreJobs": [ - "2023-04-01-preview" - ], - "locations/fetchSecondaryRecoveryPoints": [ - "2023-04-01-preview" - ], - "locations/operationResults": [ - "2020-01-01-alpha", - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "locations/operationStatus": [ - "2020-01-01-alpha", - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "locations/validateCrossRegionRestore": [ - "2023-04-01-preview" - ], - "operations": [ - "2020-01-01-alpha", - "2021-01-01", - "2021-02-01-preview", - "2021-06-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ], - "resourceGuards": [ - "2021-02-01-preview", - "2021-07-01", - "2021-10-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-03-01", - "2022-03-31-preview", - "2022-04-01", - "2022-05-01", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01", - "2023-04-01-preview", - "2023-05-01" - ] - }, - "Microsoft.DataReplication": { - "operations": [ - "2021-02-16-preview" - ], - "replicationFabrics": [ - "2021-02-16-preview" - ], - "replicationVaults": [ - "2021-02-16-preview" - ] - }, - "Microsoft.DataShare": { - "accounts": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares/dataSets": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares/invitations": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shares/providersharesubscriptions": [ - "2019-11-01", - "2020-09-01", - "2021-08-01" - ], - "accounts/shares/synchronizationSettings": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shareSubscriptions": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/sharesubscriptions/consumerSourceDataSets": [ - "2019-11-01", - "2020-09-01", - "2021-08-01" - ], - "accounts/shareSubscriptions/dataSetMappings": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "accounts/shareSubscriptions/triggers": [ - "2018-11-01-preview", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "listinvitations": [ - "2018-11-01-alpha" - ], - "locations": [ - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "locations/activateEmail": [ - "2018-11-01-alpha", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "locations/consumerInvitations": [ - "2018-11-01-alpha", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "locations/operationResults": [ - "2019-11-01", - "2020-09-01", - "2021-08-01" - ], - "locations/registerEmail": [ - "2018-11-01-alpha", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "locations/rejectInvitation": [ - "2018-11-01-alpha", - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ], - "operations": [ - "2019-11-01", - "2020-09-01", - "2020-10-01-preview", - "2021-08-01" - ] - }, - "Microsoft.DBforMariaDB": { - "checkNameAvailability": [ - "2018-06-01", - "2018-06-01-preview" - ], - "locations": [ - "2018-06-01", - "2018-06-01-preview" - ], - "locations/azureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview" - ], - "locations/operationResults": [ - "2018-06-01", - "2018-06-01-preview" - ], - "locations/performanceTiers": [ - "2018-06-01", - "2018-06-01-preview" - ], - "locations/privateEndpointConnectionAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionProxyOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/recommendedActionSessionsAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/recommendedActionSessionsOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/securityAlertPoliciesAzureAsyncOperation": [ - "2018-06-01" - ], - "locations/securityAlertPoliciesOperationResults": [ - "2018-06-01" - ], - "locations/serverKeyAzureAsyncOperation": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "locations/serverKeyOperationResults": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "operations": [ - "2018-06-01", - "2018-06-01-preview" - ], - "servers": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/advisors": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/configurations": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/databases": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/firewallRules": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/keys": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/privateEndpointConnectionProxies": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/privateLinkResources": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/queryTexts": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/recoverableServers": [ - "2018-06-01", - "2018-06-01-preview" - ], - "servers/resetQueryPerformanceInsightData": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/securityAlertPolicies": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/start": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/stop": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/topQueryStatistics": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/virtualNetworkRules": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/waitStatistics": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ] - }, - "Microsoft.DBforMySQL": { - "assessForMigration": [ - "2022-06-01-privatepreview" - ], - "checkNameAvailability": [ - "2017-12-01", - "2017-12-01-preview" - ], - "flexibleServers": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-06-01-preview", - "2022-06-01-privatepreview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "flexibleServers/administrators": [ - "2021-12-01-preview", - "2022-01-01" - ], - "flexibleServers/backups": [ - "2021-12-01-preview", - "2022-01-01", - "2022-09-30-preview" - ], - "flexibleServers/configurations": [ - "2021-12-01-preview", - "2022-01-01" - ], - "flexibleServers/databases": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01" - ], - "flexibleServers/firewallRules": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01" - ], - "flexibleServers/keys": [ - "2020-07-01-preview", - "2020-07-01-privatepreview" - ], - "flexibleServers/privateEndpointConnections": [ - "2022-09-30-preview", - "2023-06-30" - ], - "getPrivateDnsZoneSuffix": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-06-01-preview", - "2022-06-01-privatepreview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "locations": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/administratorAzureAsyncOperation": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/administratorOperationResults": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/azureAsyncOperation": [], - "locations/capabilities": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-06-01-preview", - "2022-06-01-privatepreview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "locations/checkNameAvailability": [ - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-06-01-preview", - "2022-06-01-privatepreview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "locations/checkVirtualNetworkSubnetUsage": [ - "2020-07-01-preview", - "2020-07-01-privatepreview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-06-01-preview", - "2022-06-01-privatepreview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "locations/listMigrations": [ - "2022-01-01", - "2022-06-01-preview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "locations/operationResults": [], - "locations/performanceTiers": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/privateEndpointConnectionAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionProxyOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/recommendedActionSessionsAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/recommendedActionSessionsOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/securityAlertPoliciesAzureAsyncOperation": [ - "2017-12-01" - ], - "locations/securityAlertPoliciesOperationResults": [ - "2017-12-01" - ], - "locations/serverKeyAzureAsyncOperation": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "locations/serverKeyOperationResults": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "locations/updateMigration": [ - "2022-01-01", - "2022-06-01-preview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "operations": [ - "2017-12-01", - "2017-12-01-preview", - "2021-05-01", - "2021-05-01-preview", - "2021-12-01-preview", - "2022-01-01", - "2022-06-01-preview", - "2022-06-01-privatepreview", - "2022-09-30-preview", - "2022-09-30-privatepreview" - ], - "servers": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/administrators": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/advisors": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/configurations": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/databases": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/firewallRules": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/keys": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/privateEndpointConnectionProxies": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/privateLinkResources": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/queryTexts": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/recoverableServers": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/resetQueryPerformanceInsightData": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/securityAlertPolicies": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/start": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/stop": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/topQueryStatistics": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/upgrade": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/virtualNetworkRules": [ - "2017-12-01", - "2017-12-01-preview", - "2018-06-01-privatepreview" - ], - "servers/waitStatistics": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ] - }, - "Microsoft.DBforPostgreSQL": { - "availableEngineVersions": [ - "2020-10-05-privatepreview", - "2022-11-08", - "2023-03-02-preview" - ], - "checkNameAvailability": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2020-11-05-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-03-08-privatepreview", - "2022-05-01-preview", - "2022-05-01-privatepreview", - "2022-11-01-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "flexibleServers": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2021-04-10-privatepreview", - "2021-06-01", - "2021-06-01-preview", - "2021-06-15-privatepreview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-03-08-privatepreview", - "2022-05-01-preview", - "2022-05-01-privatepreview", - "2022-11-01-preview", - "2022-12-01", - "2023-01-01-privatepreview", - "2023-03-01-preview" - ], - "flexibleServers/administrators": [ - "2022-03-08-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "flexibleServers/configurations": [ - "2021-06-01", - "2021-06-01-preview", - "2021-06-15-privatepreview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "flexibleServers/databases": [ - "2020-11-05-preview", - "2021-06-01", - "2021-06-01-preview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "flexibleServers/firewallRules": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2021-04-10-privatepreview", - "2021-06-01", - "2021-06-01-preview", - "2021-06-15-privatepreview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "flexibleServers/keys": [ - "2020-02-14-privatepreview" - ], - "flexibleServers/migrations": [ - "2021-06-15-privatepreview", - "2022-05-01-preview", - "2023-03-01-preview" - ], - "flexibleServers/privateEndpointConnectionProxies": [ - "2022-06-01-privatepreview", - "2023-01-01-privatepreview" - ], - "flexibleServers/privateEndpointConnections": [ - "2023-01-01-privatepreview" - ], - "flexibleServers/privateLinkResources": [ - "2023-01-01-privatepreview" - ], - "getPrivateDnsZoneSuffix": [], - "locations": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/administratorAzureAsyncOperation": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/administratorOperationResults": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/azureAsyncOperation": [], - "locations/capabilities": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2021-06-01", - "2021-06-01-preview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-03-08-privatepreview", - "2022-05-01-preview", - "2022-05-01-privatepreview", - "2022-11-01-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "locations/checkNameAvailability": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2021-06-01", - "2021-06-01-preview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-03-08-privatepreview", - "2022-05-01-preview", - "2022-05-01-privatepreview", - "2022-11-01-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "locations/checkVirtualNetworkSubnetUsage": [ - "2020-02-14-preview", - "2020-02-14-privatepreview", - "2021-06-01", - "2021-06-01-preview", - "2022-03-08-preview", - "2022-05-01-preview", - "2022-05-01-privatepreview", - "2022-11-01-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "locations/getCachedServerName": [ - "2022-03-08-privatepreview" - ], - "locations/operationResults": [], - "locations/performanceTiers": [ - "2017-12-01", - "2017-12-01-preview" - ], - "locations/privateEndpointConnectionAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/privateEndpointConnectionProxyOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/recommendedActionSessionsAzureAsyncOperation": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/recommendedActionSessionsOperationResults": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "locations/securityAlertPoliciesAzureAsyncOperation": [ - "2017-12-01" - ], - "locations/securityAlertPoliciesOperationResults": [ - "2017-12-01" - ], - "locations/serverKeyAzureAsyncOperation": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "locations/serverKeyOperationResults": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "operations": [ - "2021-06-01", - "2021-06-01-preview", - "2022-01-20-preview", - "2022-03-08-preview", - "2022-05-01-preview", - "2022-05-01-privatepreview", - "2022-11-01-preview", - "2022-12-01", - "2023-03-01-preview" - ], - "serverGroupsv2": [ - "2020-10-05-privatepreview", - "2022-11-08", - "2023-03-02-preview" - ], - "serverGroupsv2/coordinatorConfigurations": [ - "2022-11-08" - ], - "serverGroupsv2/firewallRules": [ - "2020-10-05-privatepreview", - "2022-11-08" - ], - "serverGroupsv2/nodeConfigurations": [ - "2022-11-08" - ], - "serverGroupsv2/privateEndpointConnections": [ - "2022-11-08" - ], - "serverGroupsv2/roles": [ - "2020-10-05-privatepreview", - "2022-11-08" - ], - "servers": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/administrators": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/advisors": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/configurations": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/databases": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/firewallRules": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/keys": [ - "2020-01-01", - "2020-01-01-preview", - "2020-01-01-privatepreview" - ], - "servers/privateEndpointConnectionProxies": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/privateLinkResources": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/queryTexts": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/recoverableServers": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/resetQueryPerformanceInsightData": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/securityAlertPolicies": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/topQueryStatistics": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ], - "servers/virtualNetworkRules": [ - "2017-12-01", - "2017-12-01-preview" - ], - "servers/waitStatistics": [ - "2018-06-01", - "2018-06-01-preview", - "2018-06-01-privatepreview" - ] - }, - "Microsoft.DelegatedNetwork": { - "controller": [ - "2020-08-08-preview", - "2021-03-15", - "2023-05-18-preview", - "2023-06-27-preview" - ], - "delegatedSubnets": [ - "2020-08-08-preview", - "2021-03-15", - "2023-05-18-preview", - "2023-06-27-preview" - ], - "operations": [ - "2020-08-08-preview", - "2021-03-15", - "2023-05-18-preview", - "2023-06-27-preview" - ], - "orchestrators": [ - "2020-08-08-preview", - "2021-03-15", - "2023-05-18-preview", - "2023-06-27-preview" - ] - }, - "Microsoft.Deployment.Admin": { - "locations/fileContainers": [ - "2018-07-01", - "2019-01-01" - ], - "locations/productPackages": [ - "2018-07-01", - "2019-01-01" - ] - }, - "Microsoft.DeploymentManager": { - "artifactSources": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "operationResults": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "operations": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "rollouts": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "serviceTopologies": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "serviceTopologies/services": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "serviceTopologies/services/serviceUnits": [ - "2018-09-01-preview", - "2019-11-01-preview" - ], - "steps": [ - "2018-09-01-preview", - "2019-11-01-preview" - ] - }, - "Microsoft.DesktopVirtualization": { - "appattachpackages": [ - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview" - ], - "applicationGroups": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview", - "2023-07-07-preview" - ], - "applicationGroups/applications": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview", - "2023-07-07-preview" - ], - "applicationgroups/desktops": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview" - ], - "applicationgroups/startmenuitems": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview" - ], - "hostPools": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview", - "2023-07-07-preview" - ], - "hostPools/msixPackages": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview", - "2023-07-07-preview" - ], - "hostPools/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-10-14-preview", - "2023-07-07-preview" - ], - "hostpools/sessionhosts": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview" - ], - "hostpools/sessionhosts/usersessions": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview" - ], - "hostpools/usersessions": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview" - ], - "operations": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-08-04-preview", - "2021-09-03-preview", - "2021-09-17-privatepreview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-07-05-preview", - "2022-08-09-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2022-12-09-privatepreview", - "2023-01-28-privatepreview", - "2023-01-30-preview", - "2023-03-03-privatepreview", - "2023-03-21-privatepreview", - "2023-03-30-privatepreview", - "2023-04-06-preview", - "2023-05-15-privatepreview", - "2023-05-18-privatepreview", - "2023-07-07-preview" - ], - "scalingPlans": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview", - "2023-07-07-preview" - ], - "scalingPlans/personalSchedules": [ - "2023-07-07-preview" - ], - "scalingPlans/pooledSchedules": [ - "2022-04-01-preview", - "2022-09-09", - "2022-10-14-preview", - "2023-07-07-preview" - ], - "workspaces": [ - "2019-01-23-preview", - "2019-09-24-preview", - "2019-12-10-preview", - "2020-09-21-preview", - "2020-10-19-preview", - "2020-11-02-preview", - "2020-11-10-preview", - "2021-01-14-preview", - "2021-02-01-preview", - "2021-03-09-preview", - "2021-04-01-preview", - "2021-05-13-preview", - "2021-07-12", - "2021-09-03-preview", - "2022-01-12-privatepreview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-06-03-privatepreview", - "2022-09-01-privatepreview", - "2022-09-09", - "2022-10-14-preview", - "2023-03-21-privatepreview", - "2023-07-07-preview" - ], - "workspaces/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-09-03-preview", - "2022-02-10-preview", - "2022-04-01-preview", - "2022-10-14-preview", - "2023-07-07-preview" - ] - }, - "Microsoft.DevAI": { - "instances": [ - "2022-02-17-preview" - ], - "instances/experiments": [ - "2022-02-17-preview" - ], - "instances/sandboxes": [ - "2022-02-17-preview" - ], - "instances/sandboxes/experiments": [ - "2022-02-17-preview" - ], - "Locations": [ - "2019-01-01" - ], - "Locations/operationstatuses": [ - "2019-10-01" - ], - "Operations": [ - "2021-02-04-preview", - "2022-02-17-preview" - ], - "registeredSubscriptions": [ - "2019-01-01" - ] - }, - "Microsoft.DevCenter": { - "checkNameAvailability": [ - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/attachednetworks": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/catalogs": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/catalogs/devboxdefinitions": [ - "2023-06-01-preview" - ], - "devcenters/devboxdefinitions": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/environmentTypes": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/galleries": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/galleries/images": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/galleries/images/versions": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "devcenters/images": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "Locations": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "Locations/OperationStatuses": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "Locations/usages": [ - "2023-04-01", - "2023-06-01-preview" - ], - "networkConnections": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "networkconnections/healthchecks": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "networkconnections/outboundNetworkDependenciesEndpoints": [ - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "operations": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "projects": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "projects/allowedEnvironmentTypes": [ - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "projects/attachednetworks": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "projects/devboxdefinitions": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "projects/environmentTypes": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "projects/pools": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ], - "projects/pools/schedules": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-12-preview", - "2022-11-11-preview", - "2023-01-01-preview", - "2023-04-01", - "2023-06-01-preview" - ] - }, - "Microsoft.DevHub": { - "locations": [ - "2022-04-01-preview", - "2022-10-11-preview" - ], - "locations/generatePreviewArtifacts": [ - "2022-10-11-preview" - ], - "locations/githuboauth": [ - "2022-04-01-preview", - "2022-10-11-preview" - ], - "operations": [ - "2022-04-01-preview", - "2022-10-11-preview" - ], - "workflows": [ - "2022-04-01-preview", - "2022-10-11-preview" - ] - }, - "Microsoft.Devices": { - "checkNameAvailability": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2021-07-15-preview", - "2022-04-30-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "checkProvisioningServiceNameAvailability": [ - "2017-08-21-preview", - "2017-11-15", - "2018-01-22", - "2020-01-01", - "2020-03-01", - "2021-10-15", - "2022-02-05", - "2022-12-12", - "2023-03-01-preview" - ], - "IotHubs": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-04-01-preview", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2022-11-15-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "IotHubs/certificates": [ - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2022-11-15-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "IotHubs/eventGridFilters": [ - "2018-01-15-preview", - "2018-07-31", - "2021-02-01-preview" - ], - "IotHubs/eventHubEndpoints/ConsumerGroups": [ - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2022-11-15-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "IotHubs/failover": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-04-01-preview", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "iotHubs/privateEndpointConnections": [ - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2022-11-15-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "IotHubs/securitySettings": [ - "2019-09-01" - ], - "locations": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2017-08-21-preview", - "2017-09-25-preview", - "2017-11-15", - "2018-01-22", - "2018-01-22-preview", - "2018-04-01", - "2018-04-01-preview", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-09-01", - "2019-11-04", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "locations/operationResults": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-04-01-preview", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "locations/provisioningServiceOperationResults": [ - "2017-08-21-preview", - "2017-11-15", - "2018-01-22", - "2020-01-01", - "2020-03-01", - "2021-10-15", - "2022-02-05", - "2022-12-12", - "2023-03-01-preview" - ], - "operationResults": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2017-08-21-preview", - "2017-09-25-preview", - "2017-11-15", - "2018-01-22", - "2018-01-22-preview", - "2018-04-01", - "2018-04-01-preview", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-09-01", - "2019-11-04", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "operations": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2023-06-30", - "2023-06-30-preview" - ], - "provisioningServiceOperationResults": [ - "2017-08-21-preview", - "2017-11-15", - "2018-01-22", - "2020-01-01", - "2020-03-01", - "2020-09-01-preview", - "2021-10-15", - "2022-02-05", - "2022-12-12", - "2023-03-01-preview" - ], - "provisioningServices": [ - "2017-08-21-preview", - "2017-11-15", - "2018-01-22", - "2020-01-01", - "2020-03-01", - "2020-09-01-preview", - "2021-10-15", - "2022-02-05", - "2022-12-12", - "2023-03-01-preview" - ], - "provisioningServices/certificates": [ - "2017-08-21-preview", - "2017-11-15", - "2018-01-22", - "2020-01-01", - "2020-03-01", - "2020-09-01-preview", - "2021-10-15", - "2022-02-05", - "2022-12-12", - "2023-03-01-preview" - ], - "provisioningServices/privateEndpointConnections": [ - "2020-03-01", - "2020-09-01-preview", - "2021-10-15", - "2022-02-05", - "2022-12-12", - "2023-03-01-preview" - ], - "usages": [ - "2015-08-15-preview", - "2016-02-03", - "2017-01-19", - "2017-07-01", - "2018-01-22", - "2018-04-01", - "2018-12-01-preview", - "2019-03-22", - "2019-03-22-preview", - "2019-07-01-preview", - "2019-11-04", - "2020-03-01", - "2020-04-01", - "2020-06-15", - "2020-07-10-preview", - "2020-08-01", - "2020-08-31", - "2020-08-31-preview", - "2021-02-01-preview", - "2021-03-03-preview", - "2021-03-31", - "2021-07-01", - "2021-07-01-preview", - "2021-07-02", - "2021-07-02-preview", - "2022-04-30-preview", - "2023-06-30", - "2023-06-30-preview" - ] - }, - "Microsoft.DeviceUpdate": { - "accounts": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "accounts/instances": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "accounts/privateEndpointConnectionProxies": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "accounts/privateEndpointConnections": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "accounts/privateLinkResources": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "checkNameAvailability": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "locations": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "locations/operationStatuses": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "operations": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ], - "registeredSubscriptions": [ - "2020-03-01-preview", - "2022-04-01-preview", - "2022-10-01", - "2022-12-01-preview", - "2023-07-01" - ] - }, - "Microsoft.DevOps": { - "pipelines": [ - "2019-07-01-preview", - "2020-07-13-preview" - ] - }, - "Microsoft.DevSpaces": { - "controllers": [ - "2019-04-01" - ] - }, - "Microsoft.DevTestLab": { - "labs": [ - "2015-05-21-preview", - "2016-05-15", - "2017-04-26-preview", - "2018-09-15", - "2018-10-15-preview" - ], - "labs/artifactsources": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/costs": [ - "2016-05-15", - "2018-09-15" - ], - "labs/customimages": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/environments": [ - "2015-05-21-preview" - ], - "labs/formulas": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/notificationchannels": [ - "2016-05-15", - "2018-09-15" - ], - "labs/policysets/policies": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/schedules": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "labs/servicerunners": [ - "2016-05-15", - "2017-04-26-preview", - "2018-09-15", - "2018-10-15-preview" - ], - "labs/users": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/disks": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/environments": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/secrets": [ - "2016-05-15", - "2018-09-15" - ], - "labs/users/servicefabrics": [ - "2018-09-15" - ], - "labs/users/servicefabrics/schedules": [ - "2018-09-15" - ], - "labs/virtualmachines": [ - "2015-05-21-preview", - "2016-05-15", - "2017-04-26-preview", - "2018-09-15", - "2018-10-15-preview" - ], - "labs/virtualmachines/schedules": [ - "2016-05-15", - "2018-09-15" - ], - "labs/virtualnetworks": [ - "2015-05-21-preview", - "2016-05-15", - "2018-09-15" - ], - "locations": [ - "2015-05-21-preview", - "2016-05-15", - "2017-04-26-preview", - "2018-09-15", - "2018-10-15-preview" - ], - "locations/operations": [ - "2015-05-21-preview", - "2016-05-15", - "2017-04-26-preview", - "2018-09-15", - "2018-10-15-preview" - ], - "operations": [ - "2015-05-21-preview", - "2016-05-15", - "2017-04-26-preview", - "2018-09-15", - "2018-10-15-preview" - ], - "schedules": [ - "2015-05-21-preview", - "2016-05-15", - "2017-04-26-preview", - "2018-09-15", - "2018-10-15-preview" - ] - }, - "Microsoft.Diagnostics": { - "apollo": [ - "2020-07-01-preview" - ], - "azureKB": [ - "2020-07-01-preview" - ], - "checkNameAvailability": [ - "2020-07-01-preview" - ], - "insights": [ - "2020-07-01-preview" - ], - "operationResults": [ - "2020-07-01-preview" - ], - "operations": [ - "2020-07-01-preview" - ], - "solutions": [ - "2020-07-01-preview" - ] - }, - "Microsoft.DigitalTwins": { - "digitalTwinsInstances": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "digitalTwinsInstances/endpoints": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "digitalTwinsInstances/operationResults": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "digitalTwinsInstances/privateEndpointConnections": [ - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "digitalTwinsInstances/timeSeriesDatabaseConnections": [ - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "locations": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "locations/checkNameAvailability": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "locations/operationResults": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "locations/operationsStatuses": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ], - "operations": [ - "2020-03-01-preview", - "2020-10-31", - "2020-12-01", - "2021-06-30-preview", - "2022-05-31", - "2022-10-31", - "2023-01-31" - ] - }, - "Microsoft.DocumentDB": { - "cassandraClusters": [ - "2021-03-01-preview", - "2021-04-01-preview", - "2021-05-01-preview", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "cassandraClusters/dataCenters": [ - "2021-03-01-preview", - "2021-04-01-preview", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccountNames": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/apis/databases": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/collections": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/collections/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/containers": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/containers/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/graphs": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/graphs/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/databases/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces/tables": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/keyspaces/tables/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/tables": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/apis/tables/settings": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31" - ], - "databaseAccounts/cassandraKeyspaces": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/cassandraKeyspaces/tables": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/cassandraKeyspaces/tables/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/cassandraKeyspaces/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/cassandraKeyspaces/views": [ - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "databaseAccounts/cassandraKeyspaces/views/throughputSettings": [ - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "databaseAccounts/dataTransferJobs": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "databaseAccounts/encryptionScopes": [ - "2021-03-01-preview", - "2021-04-01-preview", - "2021-05-01-preview", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/graphs": [ - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "databaseAccounts/gremlinDatabases": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/gremlinDatabases/graphs": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/gremlinDatabases/graphs/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/gremlinDatabases/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/mongodbDatabases": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/mongodbDatabases/collections": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/mongodbDatabases/collections/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/mongodbDatabases/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/mongodbRoleDefinitions": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/mongodbUserDefinitions": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/notebookWorkspaces": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/privateEndpointConnections": [ - "2019-08-01-preview", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/services": [ - "2021-04-01-preview", - "2021-07-01-preview", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases/clientEncryptionKeys": [ - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15-preview", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases/containers": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases/containers/storedProcedures": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases/containers/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases/containers/triggers": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases/containers/userDefinedFunctions": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlDatabases/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlRoleAssignments": [ - "2020-06-01-preview", - "2021-03-01-preview", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/sqlRoleDefinitions": [ - "2020-06-01-preview", - "2021-03-01-preview", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/tables": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "databaseAccounts/tables/throughputSettings": [ - "2019-08-01", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "locations": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "locations/checkMongoClusterNameAvailability": [ - "2022-10-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "locations/mongoClusterAzureAsyncOperation": [ - "2022-10-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "locations/mongoClusterOperationResults": [ - "2022-10-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "locations/operationResults": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "locations/operationsStatus": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "locations/restorableDatabaseAccounts": [ - "2020-06-01-preview", - "2021-03-01-preview", - "2021-04-01-preview", - "2021-05-01-preview", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "mongoClusters": [ - "2022-10-15-preview", - "2023-03-01-preview", - "2023-03-15-preview" - ], - "mongoClusters/firewallRules": [ - "2023-03-01-preview", - "2023-03-15-preview" - ], - "operationResults": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "operations": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "operationsStatus": [ - "2014-04-01", - "2015-04-08", - "2015-11-06", - "2016-03-19", - "2016-03-31", - "2019-08-01", - "2019-08-01-preview", - "2019-12-12", - "2020-03-01", - "2020-04-01", - "2020-06-01-preview", - "2020-09-01", - "2021-01-15", - "2021-03-01-preview", - "2021-03-15", - "2021-04-01-preview", - "2021-04-15", - "2021-05-01-preview", - "2021-05-15", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ], - "restorableDatabaseAccounts": [ - "2020-06-01-preview", - "2021-03-01-preview", - "2021-04-01-preview", - "2021-05-01-preview", - "2021-06-15", - "2021-07-01-preview", - "2021-10-15", - "2021-10-15-preview", - "2021-11-15-preview", - "2022-02-15-preview", - "2022-05-15", - "2022-05-15-preview", - "2022-08-15", - "2022-08-15-preview", - "2022-11-15", - "2022-11-15-preview", - "2023-03-01-preview", - "2023-03-15", - "2023-03-15-preview", - "2023-04-15" - ] - }, - "Microsoft.DomainRegistration": { - "checkDomainAvailability": [ - "2015-02-01", - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "domains": [ - "2015-02-01", - "2015-04-01", - "2015-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "domains/domainOwnershipIdentifiers": [ - "2015-02-01", - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "domains/transferOut": [ - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "generateSsoRequest": [ - "2015-02-01", - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "listDomainRecommendations": [ - "2015-02-01", - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "operations": [ - "2015-02-01", - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "topLevelDomains": [ - "2015-02-01", - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "validateDomainRegistrationInformation": [ - "2015-02-01", - "2015-04-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ] - }, - "Microsoft.Dynamics365FraudProtection": { - "instances": [ - "2021-02-01-preview" - ] - }, - "Microsoft.Easm": { - "operations": [ - "2022-04-01-preview", - "2023-04-01-preview" - ], - "workspaces": [ - "2022-04-01-preview", - "2023-04-01-preview" - ], - "workspaces/labels": [ - "2022-04-01-preview", - "2023-04-01-preview" - ], - "workspaces/tasks": [ - "2023-04-01-preview" - ] - }, - "Microsoft.EdgeOrder": { - "addresses": [ - "2020-12-01-preview", - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "listConfigurations": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "listProductFamilies": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "locations": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "locations/hciCatalog": [ - "2023-05-01-preview" - ], - "locations/hciCatalog/platforms": [ - "2023-05-01-preview" - ], - "locations/hciCatalog/projects": [ - "2023-05-01-preview" - ], - "locations/hciCatalog/vendors": [ - "2023-05-01-preview" - ], - "locations/hciFlightCatalog": [ - "2023-05-01-preview" - ], - "locations/hciFlightCatalog/platforms": [ - "2023-05-01-preview" - ], - "locations/hciFlightCatalog/projects": [ - "2023-05-01-preview" - ], - "locations/hciFlightCatalog/vendors": [ - "2023-05-01-preview" - ], - "locations/operationresults": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "locations/orders": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "operations": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "orderItems": [ - "2020-12-01-preview", - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "orders": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ], - "productFamiliesMetadata": [ - "2021-12-01", - "2022-05-01-preview", - "2023-05-01-preview" - ] - }, - "Microsoft.EdgeOrderPartner": { - "operations": [ - "2020-12-01-preview", - "2021-12-01", - "2022-07-01-preview" - ] - }, - "Microsoft.Education": { - "labs": [ - "2021-12-01-preview" - ], - "labs/students": [ - "2021-12-01-preview" - ] - }, - "Microsoft.Elastic": { - "checkNameAvailability": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview", - "2022-09-01-preview", - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ], - "elasticVersions": [ - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ], - "getElasticOrganizationToAzureSubscriptionMapping": [ - "2023-06-15-preview" - ], - "getOrganizationApiKey": [ - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ], - "locations": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview", - "2022-09-01-preview", - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ], - "locations/operationStatuses": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview", - "2022-09-01-preview", - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ], - "monitors": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview", - "2022-09-01-preview", - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ], - "monitors/tagRules": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview", - "2022-09-01-preview", - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ], - "operations": [ - "2020-07-01", - "2020-07-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-05-05-preview", - "2022-07-01-preview", - "2022-09-01-preview", - "2023-02-01-preview", - "2023-05-01-preview", - "2023-06-01", - "2023-06-15-preview", - "2023-07-01-preview" - ] - }, - "Microsoft.ElasticSan": { - "elasticSans": [ - "2021-11-20-preview", - "2022-12-01-preview", - "2023-01-01" - ], - "elasticSans/privateEndpointConnections": [ - "2022-12-01-preview" - ], - "elasticSans/volumegroups": [ - "2021-11-20-preview", - "2022-12-01-preview", - "2023-01-01" - ], - "elasticSans/volumegroups/volumes": [ - "2021-11-20-preview", - "2022-12-01-preview" - ], - "locations": [ - "2021-11-20-preview" - ], - "locations/asyncoperations": [ - "2021-11-20-preview", - "2022-12-01-preview", - "2023-01-01" - ], - "operations": [ - "2021-11-20-preview", - "2022-12-01-preview", - "2023-01-01" - ] - }, - "Microsoft.EngagementFabric": { - "Accounts": [ - "2018-09-01" - ], - "Accounts/Channels": [ - "2018-09-01" - ] - }, - "Microsoft.EnterpriseKnowledgeGraph": { - "services": [ - "2018-12-03" - ] - }, - "Microsoft.EnterpriseSupport": { - "EnterpriseSupports": [ - "2023-05-01-preview" - ], - "operationStatuses": [ - "2023-05-01-preview" - ] - }, - "Microsoft.EntitlementManagement": { - "Operations": [ - "2023-03-01-preview" - ] - }, - "Microsoft.EventGrid": { - "{parentType}/privateEndpointConnections": [ - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "domains": [ - "2018-09-15-preview", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "domains/eventSubscriptions": [ - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "domains/topics": [ - "2018-09-15-preview", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "domains/topics/eventSubscriptions": [ - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "eventSubscriptions": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "extensionTopics": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "locations": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "locations/eventSubscriptions": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "locations/operationResults": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "locations/operationsStatus": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "locations/topicTypes": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "namespaces": [ - "2023-06-01-preview" - ], - "namespaces/caCertificates": [ - "2023-06-01-preview" - ], - "namespaces/clientGroups": [ - "2023-06-01-preview" - ], - "namespaces/clients": [ - "2023-06-01-preview" - ], - "namespaces/permissionBindings": [ - "2023-06-01-preview" - ], - "namespaces/topics": [ - "2023-06-01-preview" - ], - "namespaces/topics/eventSubscriptions": [ - "2023-06-01-preview" - ], - "namespaces/topicSpaces": [ - "2023-06-01-preview" - ], - "operationResults": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "operations": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "operationsStatus": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "partnerConfigurations": [ - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "partnerDestinations": [ - "2021-10-15-preview", - "2023-06-01-preview" - ], - "partnerNamespaces": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "partnerNamespaces/channels": [ - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "partnerNamespaces/eventChannels": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2023-06-01-preview" - ], - "partnerRegistrations": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "partnerTopics": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "partnerTopics/eventSubscriptions": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "systemTopics": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "systemTopics/eventSubscriptions": [ - "2020-04-01-preview", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "topics": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "topics/eventSubscriptions": [ - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ], - "topicTypes": [ - "2017-06-15-preview", - "2017-09-15-preview", - "2018-01-01", - "2018-05-01-preview", - "2018-09-15-preview", - "2019-01-01", - "2019-02-01-preview", - "2019-06-01", - "2020-01-01-preview", - "2020-04-01-preview", - "2020-06-01", - "2020-10-15-preview", - "2021-06-01-preview", - "2021-10-15-preview", - "2021-12-01", - "2022-06-15", - "2023-06-01-preview" - ], - "verifiedPartners": [ - "2021-10-15-preview", - "2022-06-15", - "2023-06-01-preview" - ] - }, - "Microsoft.EventHub": { - "availableClusterRegions": [ - "2018-01-01-preview" - ], - "checkNameAvailability": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "checkNamespaceAvailability": [ - "2014-09-01", - "2015-08-01" - ], - "clusters": [ - "2018-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "locations": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "locations/clusterOperationResults": [ - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "locations/namespaceOperationResults": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "locations/operationStatus": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/applicationGroups": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/disasterRecoveryConfigs": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/disasterrecoveryconfigs/checkNameAvailability": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/eventhubs": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/eventhubs/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/eventhubs/consumergroups": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/ipfilterrules": [ - "2018-01-01-preview" - ], - "namespaces/networkRuleSets": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/networkSecurityPerimeterAssociationProxies": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/networkSecurityPerimeterConfigurations": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/privateEndpointConnectionProxies": [ - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/privateEndpointConnections": [ - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/schemagroups": [ - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "namespaces/virtualnetworkrules": [ - "2018-01-01-preview" - ], - "operations": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview", - "2023-01-01-preview" - ], - "sku": [ - "2014-09-01", - "2015-08-01", - "2017-04-01" - ] - }, - "Microsoft.ExtendedLocation": { - "customLocations": [ - "2021-03-15-preview", - "2021-08-15", - "2021-08-31-preview" - ], - "customLocations/enabledResourceTypes": [ - "2021-03-15-preview", - "2021-08-15", - "2021-08-31-preview" - ], - "customLocations/resourceSyncRules": [ - "2021-08-31-preview" - ], - "locations": [ - "2020-07-15-privatepreview", - "2021-03-15-preview" - ], - "locations/operationresults": [ - "2021-03-15-preview" - ], - "locations/operationsstatus": [ - "2021-03-15-preview" - ], - "operations": [ - "2020-07-15-privatepreview", - "2021-03-15-preview", - "2021-08-15", - "2021-08-31-preview" - ] - }, - "Microsoft.Fabric": { - "capacities": [ - "2022-07-01-preview" - ], - "locations": [ - "2022-07-01-preview" - ], - "locations/checkNameAvailability": [ - "2022-07-01-preview" - ], - "locations/operationresults": [ - "2022-07-01-preview" - ], - "locations/operationstatuses": [ - "2022-07-01-preview" - ], - "operations": [ - "2022-07-01-preview" - ] - }, - "Microsoft.Fabric.Admin": { - "fabricLocations/ipPools": [ - "2016-05-01" - ] - }, - "Microsoft.Falcon": { - "namespaces": [ - "2020-01-20-preview" - ] - }, - "Microsoft.Features": { - "featureConfigurations": [ - "2020-09-01", - "2021-07-01" - ], - "featureProviderNamespaces": [ - "2020-09-01", - "2021-07-01" - ], - "featureProviders": [ - "2020-01-01", - "2020-09-01", - "2021-07-01" - ], - "featureProviders/subscriptionFeatureRegistrations": [ - "2021-07-01" - ], - "features": [ - "2014-08-01-preview", - "2015-12-01", - "2021-07-01" - ], - "operations": [ - "2014-08-01-preview", - "2015-12-01", - "2021-07-01" - ], - "providers": [ - "2014-08-01-preview", - "2015-12-01", - "2021-07-01" - ], - "subscriptionFeatureRegistrations": [ - "2020-01-01", - "2020-09-01", - "2021-07-01" - ] - }, - "Microsoft.FluidRelay": { - "fluidRelayServers": [ - "2021-03-12-preview", - "2021-06-15-preview", - "2021-08-30-preview", - "2021-09-10-preview", - "2022-02-15", - "2022-02-16-preview", - "2022-02-23-preview", - "2022-04-03", - "2022-04-21", - "2022-05-11", - "2022-05-26", - "2022-06-01" - ], - "fluidRelayServers/fluidRelayContainers": [ - "2021-08-30-preview", - "2021-09-10-preview", - "2022-02-15", - "2022-04-21", - "2022-05-11", - "2022-05-26", - "2022-06-01" - ], - "Locations": [ - "2021-08-30-preview" - ], - "Locations/OperationStatuses": [ - "2021-08-30-preview" - ], - "Operations": [ - "2021-03-01-preview", - "2021-03-12-preview", - "2022-02-15", - "2022-04-21", - "2022-05-11", - "2022-05-26", - "2022-06-01" - ] - }, - "Microsoft.GraphServices": { - "accounts": [ - "2022-09-22-preview", - "2023-04-13" - ], - "Locations": [ - "2022-09-22-preview", - "2023-04-13" - ], - "Locations/OperationStatuses": [ - "2022-09-22-preview", - "2023-04-13" - ], - "Operations": [ - "2022-09-22-preview", - "2023-04-13" - ], - "RegisteredSubscriptions": [ - "2022-09-22-preview", - "2023-04-13" - ] - }, - "Microsoft.GuestConfiguration": { - "guestConfigurationAssignments": [ - "2018-01-20-preview", - "2018-06-30-preview", - "2018-11-20", - "2020-06-25", - "2021-01-25", - "2022-01-25" - ], - "operations": [ - "2018-01-20-preview", - "2018-06-30-preview", - "2018-11-20", - "2020-06-25", - "2021-01-25", - "2022-01-25" - ] - }, - "Microsoft.HanaOnAzure": { - "hanaInstances": [ - "2017-11-03-preview" - ], - "locations": [ - "2017-11-03-preview" - ], - "locations/operations": [ - "2017-11-03-preview" - ], - "locations/operationsStatus": [ - "2017-11-03-preview" - ], - "operations": [ - "2017-11-03-preview" - ], - "sapMonitors": [ - "2017-11-03-preview", - "2020-02-07-preview" - ], - "sapMonitors/providerInstances": [ - "2020-02-07-preview" - ] - }, - "Microsoft.HardwareSecurityModules": { - "cloudHsmClusters": [ - "2022-08-31-preview" - ], - "cloudHsmClusters/privateEndpointConnections": [ - "2022-08-31-preview" - ], - "dedicatedHSMs": [ - "2018-10-31-preview", - "2021-11-30" - ], - "locations": [ - "2018-10-31", - "2018-10-31-preview", - "2021-11-30" - ], - "operations": [ - "2018-10-31", - "2018-10-31-preview", - "2021-11-30", - "2022-08-31-preview" - ] - }, - "Microsoft.HDInsight": { - "clusterpools": [ - "2023-06-01-preview" - ], - "clusterpools/clusters": [ - "2023-06-01-preview" - ], - "clusters": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview", - "2023-08-15-preview" - ], - "clusters/applications": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview", - "2023-08-15-preview" - ], - "clusters/extensions": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview", - "2023-08-15-preview" - ], - "clusters/operationresults": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "clusters/privateEndpointConnections": [ - "2021-06-01", - "2023-04-15-preview", - "2023-08-15-preview" - ], - "locations": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "locations/azureasyncoperations": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "locations/billingSpecs": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "locations/capabilities": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "locations/checkNameAvailability": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "locations/operationresults": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "locations/operationStatuses": [ - "2021-09-15-preview", - "2023-06-01-preview" - ], - "locations/usages": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "locations/validateCreateRequest": [ - "2015-03-01-preview", - "2018-06-01-preview", - "2021-06-01", - "2023-04-15-preview" - ], - "operations": [ - "2021-09-15-preview", - "2023-06-01-preview" - ] - }, - "Microsoft.HealthBot": { - "healthBots": [ - "2020-10-20", - "2020-10-20-preview", - "2020-12-08", - "2020-12-08-preview", - "2021-06-10", - "2021-08-24", - "2022-08-08", - "2023-05-01" - ], - "Locations": [ - "2020-12-08", - "2021-06-10", - "2021-08-24", - "2022-08-08", - "2023-05-01" - ], - "Locations/OperationStatuses": [ - "2020-12-08", - "2021-06-10", - "2021-08-24", - "2022-08-08", - "2023-05-01" - ], - "Operations": [ - "2020-12-08", - "2021-06-10", - "2021-08-24", - "2022-08-08", - "2023-05-01" - ] - }, - "Microsoft.HealthcareApis": { - "checkNameAvailability": [ - "2018-08-20-preview", - "2019-09-16", - "2020-03-15", - "2020-03-30", - "2021-01-11", - "2021-03-31-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "locations": [ - "2018-08-20-preview", - "2019-09-16", - "2020-03-15", - "2020-03-30", - "2021-01-11", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "locations/operationresults": [ - "2018-08-20-preview", - "2019-09-16", - "2020-03-15", - "2020-03-30", - "2020-05-01-preview", - "2021-01-11", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "operations": [ - "2018-08-20-preview", - "2019-09-16", - "2020-03-15", - "2020-03-30", - "2021-01-11", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "services": [ - "2018-08-20-preview", - "2019-09-16", - "2020-03-15", - "2020-03-30", - "2021-01-11", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "services/iomtconnectors": [ - "2020-05-01-preview" - ], - "services/iomtconnectors/connections": [ - "2020-05-01-preview" - ], - "services/iomtconnectors/mappings": [ - "2020-05-01-preview" - ], - "services/privateEndpointConnectionProxies": [ - "2020-03-30", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "services/privateEndpointConnections": [ - "2020-03-30", - "2021-01-11", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "services/privateLinkResources": [ - "2020-03-30", - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "validateMedtechMappings": [ - "2022-01-31-preview" - ], - "workspaces": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "workspaces/analyticsconnectors": [ - "2022-10-01-preview" - ], - "workspaces/dicomservices": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "workspaces/eventGridFilters": [ - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "workspaces/fhirservices": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "workspaces/iotconnectors": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "workspaces/iotconnectors/fhirdestinations": [ - "2021-06-01-preview", - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "workspaces/privateEndpointConnectionProxies": [ - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ], - "workspaces/privateEndpointConnections": [ - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-10-01-preview", - "2022-12-01", - "2023-02-28" - ], - "workspaces/privateLinkResources": [ - "2021-11-01", - "2022-01-31-preview", - "2022-05-15", - "2022-06-01", - "2022-12-01", - "2023-02-28" - ] - }, - "Microsoft.HealthModel": { - "Operations": [ - "2022-11-01-preview" - ] - }, - "Microsoft.Help": { - "checkNameAvailability": [ - "2023-01-01-preview", - "2023-03-03-preview", - "2023-03-23-preview", - "2023-06-01" - ], - "diagnostics": [ - "2023-01-01-preview", - "2023-06-01" - ], - "discoverySolutions": [ - "2023-01-01-preview", - "2023-04-01-preview", - "2023-06-01" - ], - "operationResults": [ - "2023-01-01-preview", - "2023-03-03-preview", - "2023-06-01" - ], - "operations": [ - "2023-01-01-preview", - "2023-03-03-preview", - "2023-03-23-preview", - "2023-06-01" - ], - "solutions": [ - "2023-03-03-preview" - ], - "troubleshooters": [ - "2023-03-23-preview" - ] - }, - "Microsoft.HybridCloud": { - "cloudConnections": [ - "2023-01-01-preview" - ], - "cloudConnectors": [ - "2023-01-01-preview" - ] - }, - "Microsoft.HybridCompute": { - "locations": [ - "2019-08-02-preview", - "2019-12-12", - "2020-03-11-preview", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "locations/operationResults": [ - "2019-08-02-preview", - "2019-12-12", - "2020-03-11-preview", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "locations/operationStatus": [ - "2019-08-02-preview", - "2019-12-12", - "2020-03-11-preview", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "locations/privateLinkScopes": [ - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "locations/publishers": [ - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "locations/publishers/extensionTypes": [ - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "locations/publishers/extensionTypes/versions": [ - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "locations/updateCenterOperationResults": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "machines": [ - "2019-03-18", - "2019-03-18-preview", - "2019-08-02", - "2019-08-02-preview", - "2019-12-12", - "2020-03-11-preview", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "machines/assessPatches": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "machines/extensions": [ - "2019-08-02", - "2019-08-02-preview", - "2019-12-12", - "2020-03-11-preview", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "machines/hybridIdentityMetadata": [ - "2022-12-27", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "machines/installPatches": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "machines/privateLinkScopes": [ - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "operations": [ - "2019-03-18-preview", - "2019-08-02-preview", - "2019-12-12", - "2020-03-11-preview", - "2020-07-30-preview", - "2020-08-02", - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "osType": [ - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "osType/agentVersions": [ - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "osType/agentVersions/latest": [ - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "privateLinkScopes": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "privateLinkScopes/privateEndpointConnectionProxies": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "privateLinkScopes/privateEndpointConnections": [ - "2020-08-15-preview", - "2021-01-28-preview", - "2021-03-25-preview", - "2021-04-22-preview", - "2021-05-17-preview", - "2021-05-20", - "2021-06-10-preview", - "2021-12-10-preview", - "2022-03-10", - "2022-05-10-preview", - "2022-08-11-preview", - "2022-11-10", - "2022-12-27", - "2022-12-27-preview", - "2023-03-15-preview", - "2023-04-25-preview", - "2023-06-20-preview" - ], - "privateLinkScopes/scopedResources": [ - "2020-08-15-preview" - ] - }, - "Microsoft.HybridConnectivity": { - "endpoints": [ - "2021-10-06-preview", - "2022-05-01-preview", - "2023-03-15" - ], - "endpoints/serviceConfigurations": [ - "2023-03-15" - ], - "Locations": [ - "2021-07-08-privatepreview", - "2021-10-01-privatepreview", - "2021-10-06-preview", - "2022-05-01-preview", - "2023-03-15", - "2023-04-01-preview" - ], - "Locations/OperationStatuses": [ - "2021-10-06-preview", - "2022-05-01-preview", - "2023-03-15" - ], - "Operations": [ - "2021-07-08-privatepreview", - "2021-10-01-privatepreview", - "2021-10-06-preview", - "2022-05-01-preview", - "2023-03-15", - "2023-04-01-preview" - ] - }, - "Microsoft.HybridContainerService": { - "Locations": [ - "2021-08-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2023-11-01" - ], - "Locations/operationStatuses": [ - "2021-08-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2023-11-01" - ], - "Operations": [ - "2021-08-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-05-01-preview", - "2022-09-01-preview", - "2023-11-01" - ], - "provisionedClusters": [ - "2021-08-01-preview", - "2021-09-01-preview", - "2022-01-01-preview", - "2022-05-01-preview", - "2022-09-01-preview" - ], - "provisionedClusters/agentPools": [ - "2022-01-01-preview", - "2022-05-01-preview", - "2022-09-01-preview" - ], - "provisionedClusters/hybridIdentityMetadata": [ - "2021-09-01-preview", - "2022-01-01-preview", - "2022-05-01-preview", - "2022-09-01-preview" - ], - "provisionedClusters/upgradeProfiles": [ - "2022-09-01-preview" - ], - "storageSpaces": [ - "2022-05-01-preview", - "2022-09-01-preview" - ], - "virtualNetworks": [ - "2022-05-01-preview", - "2022-09-01-preview" - ] - }, - "Microsoft.HybridData": { - "dataManagers": [ - "2016-06-01", - "2019-06-01" - ], - "dataManagers/dataServices/jobDefinitions": [ - "2016-06-01", - "2019-06-01" - ], - "dataManagers/dataStores": [ - "2016-06-01", - "2019-06-01" - ] - }, - "Microsoft.HybridNetwork": { - "devices": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "Locations": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "Locations/OperationStatuses": [ - "2020-01-01-preview", - "2021-05-01" - ], - "locations/vendors/networkFunctions": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "networkFunctions": [ - "2020-01-01-preview", - "2021-05-01", - "2021-06-01-privatepreview", - "2022-01-01-preview", - "2022-09-01-preview", - "2023-01-01" - ], - "networkFunctions/components": [ - "2022-09-01-preview", - "2023-01-01" - ], - "networkFunctionVendors": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "Operations": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview", - "2022-09-01-preview", - "2023-01-01", - "2023-04-01-preview" - ], - "publishers": [ - "2023-01-01" - ], - "publishers/artifactStores": [ - "2023-01-01" - ], - "publishers/artifactStores/artifactManifests": [ - "2023-01-01" - ], - "publishers/networkFunctionDefinitionGroups": [ - "2023-01-01" - ], - "publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions": [ - "2023-01-01" - ], - "vendors": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "vendors/vendorSkus": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ], - "vendors/vendorSkus/previewSubscriptions": [ - "2020-01-01-preview", - "2021-05-01", - "2022-01-01-preview" - ] - }, - "Microsoft.Impact": { - "Operations": [ - "2022-11-01-preview", - "2023-02-01-preview", - "2023-07-01-preview" - ] - }, - "Microsoft.ImportExport": { - "jobs": [ - "2016-11-01", - "2020-08-01", - "2021-01-01" - ] - }, - "Microsoft.InfrastructureInsights.Admin": { - "regionHealths/alerts": [ - "2016-05-01" - ] - }, - "Microsoft.Insights": { - "actionGroups": [ - "2017-03-01-preview", - "2017-04-01", - "2018-03-01", - "2018-09-01", - "2019-03-01", - "2019-06-01", - "2021-09-01", - "2022-04-01", - "2022-06-01", - "2023-01-01", - "2023-05-01" - ], - "activityLogAlerts": [ - "2017-03-01-preview", - "2017-04-01", - "2020-10-01", - "2023-01-01-preview" - ], - "alertrules": [ - "2014-04-01", - "2015-04-01", - "2016-03-01" - ], - "autoscalesettings": [ - "2014-04-01", - "2015-04-01", - "2021-05-01-preview", - "2022-10-01", - "2023-01-01-preview" - ], - "components": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/{scopePath}": [ - "2015-05-01" - ], - "components/aggregate": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/analyticsItems": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/Annotations": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/api": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/apiKeys": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/currentbillingfeatures": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/defaultWorkItemConfig": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/events": [ - "2018-04-20" - ], - "components/exportconfiguration": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/extendQueries": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/favorites": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/featureCapabilities": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/getAvailableBillingFeatures": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/linkedStorageAccounts": [ - "2020-03-01-preview" - ], - "components/metadata": [ - "2018-04-20" - ], - "components/metricDefinitions": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/metrics": [ - "2014-04-01", - "2018-04-20" - ], - "components/move": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/myAnalyticsItems": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/myFavorites": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/operations": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/pricingPlans": [ - "2017-10-01" - ], - "components/ProactiveDetectionConfigs": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/purge": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/query": [ - "2018-04-20" - ], - "components/quotaStatus": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/syntheticmonitorlocations": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "components/webtests": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview", - "2022-06-15" - ], - "components/workItemConfigs": [ - "2014-04-01", - "2014-08-01", - "2014-12-01-preview", - "2015-05-01", - "2018-05-01-preview", - "2020-02-02", - "2020-02-02-preview" - ], - "createnotifications": [ - "2021-09-01", - "2022-04-01", - "2022-06-01", - "2023-01-01", - "2023-05-01", - "2023-05-01-preview" - ], - "dataCollectionEndpoints": [ - "2021-04-01", - "2021-09-01-preview", - "2022-06-01" - ], - "dataCollectionEndpoints/scopedPrivateLinkProxies": [ - "2021-04-01", - "2021-09-01-preview" - ], - "dataCollectionRuleAssociations": [ - "2019-11-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2022-06-01" - ], - "dataCollectionRules": [ - "2019-11-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2022-06-01" - ], - "diagnosticSettings": [ - "2015-07-01", - "2016-09-01", - "2017-05-01-preview", - "2020-01-01-preview", - "2021-05-01-preview" - ], - "diagnosticSettingsCategories": [ - "2017-05-01-preview", - "2021-05-01-preview" - ], - "eventCategories": [ - "2015-04-01" - ], - "eventtypes": [ - "2014-04-01", - "2014-11-01", - "2015-04-01", - "2016-09-01-preview", - "2017-03-01-preview" - ], - "extendedDiagnosticSettings": [ - "2017-02-01" - ], - "generateLiveToken": [ - "2020-06-02-preview", - "2021-10-14" - ], - "guestDiagnosticSettings": [ - "2018-06-01-preview" - ], - "guestDiagnosticSettingsAssociation": [ - "2018-06-01-preview" - ], - "listMigrationdate": [ - "2017-10-01" - ], - "locations": [ - "2014-04-01", - "2015-04-01" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2021-10-01" - ], - "locations/operationResults": [ - "2014-04-01", - "2015-04-01" - ], - "logDefinitions": [ - "2015-07-01" - ], - "logprofiles": [ - "2016-03-01" - ], - "logs": [ - "2018-03-01-preview", - "2018-08-01-preview" - ], - "metricAlerts": [ - "2017-09-01-preview", - "2018-03-01" - ], - "metricbaselines": [ - "2018-09-01", - "2019-03-01" - ], - "metricbatch": [ - "2019-01-01-preview" - ], - "metricDefinitions": [ - "2017-05-01-preview", - "2017-09-01-preview", - "2017-12-01-preview", - "2018-01-01", - "2021-05-01", - "2022-04-01-preview" - ], - "metricNamespaces": [ - "2017-12-01-preview" - ], - "metrics": [ - "2016-06-01", - "2016-09-01", - "2017-05-01-preview", - "2017-09-01-preview", - "2017-12-01-preview", - "2018-01-01", - "2019-07-01", - "2021-05-01" - ], - "migratealertrules": [ - "2018-03-01" - ], - "migrateToNewPricingModel": [ - "2017-10-01" - ], - "monitoredObjects": [ - "2021-09-01-preview" - ], - "myWorkbooks": [ - "2015-05-01", - "2016-06-15-preview", - "2018-06-01-preview", - "2018-06-15-preview", - "2018-06-17-preview", - "2020-02-12", - "2020-10-20", - "2021-03-08" - ], - "notificationstatus": [ - "2021-09-01", - "2022-04-01", - "2022-06-01", - "2023-01-01", - "2023-05-01", - "2023-05-01-preview" - ], - "operations": [ - "2014-04-01", - "2014-06-01", - "2015-04-01" - ], - "privateLinkScopeOperationStatuses": [ - "2019-10-17-preview", - "2021-07-01-preview", - "2021-09-01" - ], - "privateLinkScopes": [ - "2019-10-17-preview", - "2021-07-01-preview", - "2021-09-01" - ], - "privateLinkScopes/privateEndpointConnectionProxies": [ - "2019-10-17-preview", - "2021-07-01-preview", - "2021-09-01" - ], - "privateLinkScopes/privateEndpointConnections": [ - "2019-10-17-preview", - "2021-07-01-preview", - "2021-09-01" - ], - "privateLinkScopes/scopedResources": [ - "2019-10-17-preview", - "2021-07-01-preview", - "2021-09-01" - ], - "rollbackToLegacyPricingModel": [ - "2017-10-01" - ], - "scheduledQueryRules": [ - "2017-09-01-preview", - "2018-04-16", - "2020-05-01-preview", - "2021-02-01-preview", - "2021-08-01", - "2022-06-15", - "2022-08-01-preview", - "2023-03-15-preview" - ], - "tenantActionGroups": [ - "2023-03-01-preview", - "2023-05-01-preview" - ], - "topology": [ - "2019-10-17-preview" - ], - "transactions": [ - "2019-10-17-preview" - ], - "vmInsightsOnboardingStatuses": [ - "2018-11-27-preview" - ], - "webtests": [ - "2014-04-01", - "2014-08-01", - "2015-05-01", - "2018-05-01-preview", - "2020-10-05-preview", - "2022-06-15" - ], - "webtests/getTestResultFile": [ - "2020-02-10-preview" - ], - "workbooks": [ - "2015-05-01", - "2018-06-01-preview", - "2018-06-17-preview", - "2020-02-12", - "2020-10-20", - "2021-03-08", - "2021-08-01", - "2022-04-01", - "2023-06-01" - ], - "workbooktemplates": [ - "2019-10-17-preview", - "2020-11-20" - ] - }, - "Microsoft.Intune": { - "locations/androidPolicies": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/androidPolicies/apps": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/androidPolicies/groups": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/iosPolicies": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/iosPolicies/apps": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ], - "locations/iosPolicies/groups": [ - "2015-01-14-preview", - "2015-01-14-privatepreview" - ] - }, - "Microsoft.IoTCentral": { - "appTemplates": [ - "2018-09-01", - "2021-06-01", - "2021-11-01-preview" - ], - "checkNameAvailability": [ - "2017-07-01-privatepreview", - "2018-09-01", - "2021-06-01", - "2021-11-01-preview" - ], - "checkSubdomainAvailability": [ - "2018-09-01", - "2021-06-01", - "2021-11-01-preview" - ], - "iotApps": [ - "2017-07-01-privatepreview", - "2018-09-01", - "2021-06-01", - "2021-11-01-preview" - ], - "iotApps/privateEndpointConnections": [ - "2021-11-01-preview" - ], - "locations": [ - "2021-11-01-preview" - ], - "locations/operationResults": [ - "2021-11-01-preview" - ], - "operations": [ - "2017-07-01-privatepreview", - "2018-09-01", - "2021-06-01", - "2021-11-01-preview" - ] - }, - "Microsoft.IoTFirmwareDefense": { - "operations": [ - "2021-11-10-privatepreview", - "2022-09-15-privatepreview" - ], - "workspaces": [ - "2023-02-08-preview" - ], - "workspaces/firmwares": [ - "2023-02-08-preview" - ] - }, - "Microsoft.IoTSecurity": { - "alertTypes": [ - "2021-07-01-preview" - ], - "defenderSettings": [ - "2021-02-01-preview", - "2021-11-01-preview", - "2023-02-01-preview" - ], - "licenseSkus": [ - "2023-02-01-preview" - ], - "locations": [ - "2021-02-01-preview", - "2021-09-01-preview", - "2023-02-01-preview" - ], - "locations/deviceGroups": [ - "2021-02-01-preview", - "2021-11-01-preview", - "2023-02-01-preview" - ], - "locations/deviceGroups/alerts": [ - "2021-07-01-preview", - "2023-02-01-preview" - ], - "locations/deviceGroups/alerts/pcaps": [ - "2023-02-01-preview" - ], - "locations/deviceGroups/devices": [ - "2021-02-01-preview", - "2021-11-01-preview" - ], - "locations/deviceGroups/recommendations": [ - "2021-07-01-preview" - ], - "locations/deviceGroups/vulnerabilities": [ - "2021-07-01-preview" - ], - "locations/endpoints": [ - "2023-02-01-preview" - ], - "locations/sites": [ - "2021-09-01-preview" - ], - "locations/sites/sensors": [ - "2021-09-01-preview" - ], - "onPremiseSensors": [ - "2021-02-01-preview", - "2021-11-01-preview" - ], - "Operations": [ - "2021-02-01-preview" - ], - "recommendationTypes": [ - "2021-07-01-preview" - ], - "sensors": [ - "2021-02-01-preview", - "2021-09-01-preview" - ], - "sites": [ - "2021-02-01-preview", - "2021-09-01-preview", - "2023-02-01-preview" - ] - }, - "Microsoft.KeyVault": { - "checkMhsmNameAvailability": [ - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "checkNameAvailability": [ - "2015-06-01", - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "deletedManagedHSMs": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "deletedVaults": [ - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "locations": [ - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "locations/deletedManagedHSMs": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "locations/deletedVaults": [ - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "locations/managedHsmOperationResults": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "locations/operationResults": [ - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "managedHSMs": [ - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "managedHSMs/keys": [ - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "managedHSMs/keys/versions": [ - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "managedHSMs/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01" - ], - "operations": [ - "2014-12-19-preview", - "2015-06-01", - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "vaults": [ - "2015-06-01", - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "vaults/accessPolicies": [ - "2015-06-01", - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "vaults/eventGridFilters": [ - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "vaults/keys": [ - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "vaults/keys/versions": [ - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ], - "vaults/privateEndpointConnections": [ - "2018-02-14", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01" - ], - "vaults/secrets": [ - "2015-06-01", - "2016-10-01", - "2018-02-14", - "2018-02-14-preview", - "2019-09-01", - "2020-04-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-10-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-07-01", - "2022-11-01", - "2023-02-01", - "2023-08-01-PREVIEW" - ] - }, - "Microsoft.Kubernetes": { - "connectedClusters": [ - "2020-01-01-preview", - "2021-03-01", - "2021-04-01-preview", - "2021-10-01", - "2022-05-01-preview", - "2022-10-01-preview" - ], - "locations": [ - "2020-01-01-preview", - "2021-03-01", - "2021-04-01-preview", - "2021-10-01", - "2022-05-01-preview", - "2022-10-01-preview" - ], - "locations/operationStatuses": [ - "2020-01-01-preview", - "2021-03-01", - "2021-04-01-preview", - "2021-10-01", - "2022-05-01-preview", - "2022-10-01-preview" - ], - "Operations": [ - "2019-09-01-privatepreview", - "2019-11-01-preview", - "2020-01-01-preview", - "2021-03-01", - "2021-04-01-preview", - "2021-10-01", - "2022-05-01-preview", - "2022-10-01-preview" - ], - "registeredSubscriptions": [ - "2020-01-01-preview", - "2021-03-01", - "2021-04-01-preview", - "2021-10-01", - "2022-05-01-preview", - "2022-10-01-preview" - ] - }, - "Microsoft.KubernetesConfiguration": { - "extensions": [ - "2020-07-01-preview", - "2021-05-01-preview", - "2021-09-01", - "2021-11-01-preview", - "2022-01-01-preview", - "2022-03-01", - "2022-04-02-preview", - "2022-07-01", - "2022-11-01", - "2023-05-01" - ], - "extensionTypes": [ - "2022-01-15-preview", - "2023-05-01-preview" - ], - "fluxConfigurations": [ - "2021-06-01-preview", - "2021-11-01-preview", - "2022-01-01-preview", - "2022-03-01", - "2022-07-01", - "2022-11-01", - "2023-05-01" - ], - "locations/extensionTypes": [ - "2022-01-15-preview", - "2023-05-01-preview" - ], - "locations/extensionTypes/versions": [ - "2022-01-15-preview", - "2023-05-01-preview" - ], - "operations": [ - "2019-11-01-preview", - "2020-07-01-preview", - "2020-10-01-preview", - "2021-03-01", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-01-01-preview", - "2022-03-01", - "2022-11-01", - "2023-05-01", - "2023-05-01-preview" - ], - "privateLinkScopes": [ - "2022-04-02-preview" - ], - "privateLinkScopes/privateEndpointConnectionProxies": [ - "2022-04-02-preview" - ], - "privateLinkScopes/privateEndpointConnections": [ - "2022-04-02-preview" - ], - "sourceControlConfigurations": [ - "2019-11-01-preview", - "2020-07-01-preview", - "2020-10-01-preview", - "2021-03-01", - "2021-05-01-preview", - "2021-11-01-preview", - "2022-01-01-preview", - "2022-03-01", - "2022-07-01", - "2022-11-01", - "2023-05-01" - ] - }, - "Microsoft.Kusto": { - "clusters": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/attachedDatabaseConfigurations": [ - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/databases": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/databases/dataConnections": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/databases/eventhubconnections": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01" - ], - "clusters/databases/principalAssignments": [ - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/databases/scripts": [ - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/managedPrivateEndpoints": [ - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/principalAssignments": [ - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "clusters/privateEndpointConnections": [ - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "locations": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "locations/checkNameAvailability": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "locations/operationResults": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "locations/skus": [ - "2022-11-11", - "2022-12-29", - "2023-05-02" - ], - "operations": [ - "2017-09-07-privatepreview", - "2018-09-07-preview", - "2019-01-21", - "2019-05-15", - "2019-09-07", - "2019-11-09", - "2020-02-15", - "2020-06-14", - "2020-09-18", - "2021-01-01", - "2021-08-27", - "2022-02-01", - "2022-07-07", - "2022-11-11", - "2022-12-29", - "2023-05-02" - ] - }, - "Microsoft.LabServices": { - "labaccounts": [ - "2017-12-01-preview", - "2018-10-15", - "2019-01-01-preview" - ], - "labaccounts/galleryimages": [ - "2018-10-15" - ], - "labaccounts/labs": [ - "2018-10-15" - ], - "labaccounts/labs/environmentsettings": [ - "2018-10-15" - ], - "labaccounts/labs/environmentsettings/environments": [ - "2018-10-15" - ], - "labaccounts/labs/users": [ - "2018-10-15" - ], - "labPlans": [ - "2020-05-01-preview", - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "labPlans/images": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "labs": [ - "2020-05-01-preview", - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "labs/schedules": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "labs/users": [ - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "locations": [ - "2017-12-01-preview", - "2018-10-15", - "2019-01-01-preview", - "2020-05-01-preview", - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "locations/operationResults": [ - "2020-05-01-preview", - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "locations/operations": [ - "2017-12-01-preview", - "2018-10-15", - "2019-01-01-preview" - ], - "locations/usages": [ - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "operations": [ - "2017-12-01-preview", - "2018-10-15", - "2019-01-01-preview", - "2020-05-01-preview", - "2021-10-01-preview", - "2021-11-15-preview", - "2022-08-01", - "2023-06-07" - ], - "users": [ - "2017-12-01-preview", - "2018-10-15", - "2019-01-01-preview" - ] - }, - "Microsoft.LoadTestService": { - "checkNameAvailability": [ - "2020-09-01-preview", - "2021-09-01-preview", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-04-15-preview", - "2022-08-01-preview", - "2022-12-01" - ], - "loadTests": [ - "2021-12-01-preview", - "2022-04-15-preview", - "2022-12-01" - ], - "loadtests/outboundNetworkDependenciesEndpoints": [ - "2022-12-01" - ], - "Locations": [ - "2020-09-01-preview", - "2021-09-01-preview", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-04-15-preview", - "2022-08-01-preview", - "2022-12-01" - ], - "Locations/OperationStatuses": [ - "2022-12-01" - ], - "Locations/Quotas": [ - "2022-12-01" - ], - "operations": [ - "2020-09-01-preview", - "2021-09-01-preview", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-04-15-preview", - "2022-08-01-preview", - "2022-12-01" - ], - "registeredSubscriptions": [ - "2020-09-01-preview", - "2021-09-01-preview", - "2021-11-01-preview", - "2021-12-01-preview", - "2022-04-01-preview", - "2022-04-15-preview", - "2022-08-01-preview", - "2022-12-01" - ] - }, - "Microsoft.Logic": { - "integrationAccounts": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/agreements": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/assemblies": [ - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/batchConfigurations": [ - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/certificates": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/maps": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/partners": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/rosettanetprocessconfigurations": [ - "2016-06-01" - ], - "integrationAccounts/schemas": [ - "2015-08-01-preview", - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationAccounts/sessions": [ - "2016-06-01", - "2018-07-01-preview", - "2019-05-01" - ], - "integrationServiceEnvironments": [ - "2018-03-01-preview", - "2018-07-01-preview", - "2019-05-01", - "2019-06-01-preview" - ], - "integrationServiceEnvironments/managedApis": [ - "2018-07-01-preview", - "2019-05-01", - "2019-06-01-preview" - ], - "locations": [ - "2015-02-01-preview", - "2015-08-01-preview", - "2016-06-01", - "2016-10-01", - "2017-07-01", - "2018-07-01-preview", - "2019-05-01" - ], - "locations/validateWorkflowExport": [ - "2022-09-01-preview" - ], - "locations/workflowExport": [ - "2022-09-01-preview" - ], - "locations/workflows": [ - "2015-02-01-preview", - "2015-08-01-preview", - "2016-06-01", - "2016-10-01", - "2017-07-01", - "2018-07-01-preview", - "2019-05-01" - ], - "operations": [ - "2015-02-01-preview", - "2015-08-01-preview", - "2016-06-01", - "2016-10-01", - "2017-07-01", - "2018-07-01-preview", - "2019-05-01" - ], - "workflows": [ - "2015-02-01-preview", - "2015-08-01-preview", - "2016-06-01", - "2016-10-01", - "2017-07-01", - "2018-07-01-preview", - "2019-05-01" - ], - "workflows/accessKeys": [ - "2015-02-01-preview" - ] - }, - "Microsoft.Logz": { - "locations": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "locations/operationStatuses": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/accounts": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/accounts/tagRules": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/metricsSource": [ - "2022-01-01-preview" - ], - "monitors/metricsSource/tagRules": [ - "2022-01-01-preview" - ], - "monitors/singleSignOnConfigurations": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "monitors/tagRules": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "operations": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ], - "registeredSubscriptions": [ - "2020-10-01", - "2020-10-01-preview", - "2022-01-01-preview" - ] - }, - "Microsoft.M365SecurityAndCompliance": { - "privateLinkServicesForEDMUpload": [ - "2021-03-25-preview" - ], - "privateLinkServicesForEDMUpload/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365ComplianceCenter": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365SecurityCenter": [ - "2021-03-25-preview" - ], - "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForMIPPolicySync": [ - "2021-03-25-preview" - ], - "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForO365ManagementActivityAPI": [ - "2021-03-25-preview" - ], - "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ - "2021-03-25-preview" - ], - "privateLinkServicesForSCCPowershell": [ - "2021-03-25-preview" - ], - "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ - "2021-03-25-preview" - ] - }, - "Microsoft.MachineLearning": { - "commitmentPlans": [ - "2016-05-01-preview", - "2017-01-01" - ], - "locations": [ - "2016-05-01-preview", - "2017-01-01" - ], - "locations/operations": [ - "2016-05-01-preview", - "2017-01-01" - ], - "locations/operationsStatus": [ - "2016-05-01-preview", - "2017-01-01" - ], - "operations": [ - "2016-05-01-preview", - "2017-01-01" - ], - "webServices": [ - "2016-05-01-preview", - "2017-01-01" - ], - "workspaces": [ - "2016-04-01", - "2019-10-01" - ] - }, - "Microsoft.MachineLearningCompute": { - "operationalizationClusters": [ - "2017-06-01-preview", - "2017-08-01-preview" - ] - }, - "Microsoft.MachineLearningExperimentation": { - "accounts": [ - "2017-05-01-preview" - ], - "accounts/workspaces": [ - "2017-05-01-preview" - ], - "accounts/workspaces/projects": [ - "2017-05-01-preview" - ] - }, - "Microsoft.MachineLearningServices": { - "locations": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/computeOperationsStatus": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/mfeOperationResults": [ - "2020-12-01-preview", - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/mfeOperationsStatus": [ - "2020-12-01-preview", - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/quotas": [ - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/registryOperationsStatus": [ - "2022-05-01-privatepreview", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/updatequotas": [ - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/usages": [ - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/vmsizes": [ - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "locations/workspaceOperationsStatus": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "operations": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries": [ - "2022-05-01-privatepreview", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/codes": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/codes/versions": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/components": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/components/versions": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/data": [ - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/data/versions": [ - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/environments": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/environments/versions": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/models": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "registries/models/versions": [ - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/batchEndpoints": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/batchEndpoints/deployments": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/codes": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/codes/versions": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/components": [ - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/components/versions": [ - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/computes": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2019-11-01", - "2020-01-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/connections": [ - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/data": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/data/versions": [ - "2021-03-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/datasets": [ - "2020-05-01-preview", - "2021-10-01" - ], - "workspaces/datastores": [ - "2020-05-01-preview", - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/environments": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/environments/versions": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/eventGridFilters": [ - "2018-03-01-preview", - "2018-11-19", - "2019-05-01", - "2019-06-01", - "2020-02-02", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2021-10-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/featuresets": [ - "2023-02-01-preview", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/featuresets/versions": [ - "2023-02-01-preview", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/featurestoreEntities": [ - "2023-02-01-preview", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/featurestoreEntities/versions": [ - "2023-02-01-preview", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/jobs": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/labelingJobs": [ - "2020-09-01-preview", - "2021-03-01-preview", - "2022-06-01-preview", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/linkedServices": [ - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-09-01-preview" - ], - "workspaces/linkedWorkspaces": [ - "2020-05-01-preview", - "2020-05-15-preview" - ], - "workspaces/models": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/models/versions": [ - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/onlineEndpoints": [ - "2020-12-01-preview", - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/onlineEndpoints/deployments": [ - "2020-12-01-preview", - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/onlineEndpoints/deployments/skus": [ - "2020-12-01-preview", - "2021-03-01-preview", - "2021-10-01", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/outboundRules": [ - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/privateEndpointConnections": [ - "2020-01-01", - "2020-02-18-preview", - "2020-03-01", - "2020-04-01", - "2020-04-01-preview", - "2020-05-01-preview", - "2020-05-15-preview", - "2020-06-01", - "2020-08-01", - "2020-09-01-preview", - "2021-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-07-01", - "2022-01-01-preview", - "2022-02-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/schedules": [ - "2022-06-01-preview", - "2022-10-01", - "2022-10-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01", - "2023-04-01-preview", - "2023-06-01-preview" - ], - "workspaces/services": [ - "2020-05-01-preview", - "2020-05-15-preview", - "2020-09-01-preview", - "2021-01-01", - "2021-04-01" - ] - }, - "Microsoft.Maintenance": { - "applyUpdates": [ - "2016-01-01", - "2017-01-01", - "2017-04-26", - "2018-06-01-preview", - "2018-10-01", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-09-01-preview" - ], - "configurationAssignments": [ - "2018-06-01-preview", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview", - "2022-11-01-preview", - "2023-04-01" - ], - "maintenanceConfigurations": [ - "2016-01-01", - "2017-01-01", - "2017-04-26", - "2018-06-01-preview", - "2018-10-01", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-09-01-preview" - ], - "operations": [ - "2016-01-01", - "2017-01-01", - "2017-04-26", - "2018-06-01-preview", - "2018-10-01", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-09-01-preview" - ], - "publicMaintenanceConfigurations": [ - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-09-01-preview" - ], - "updates": [ - "2016-01-01", - "2017-01-01", - "2017-04-26", - "2018-06-01-preview", - "2018-10-01", - "2020-04-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-05-01", - "2021-09-01-preview", - "2022-07-01-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-09-01-preview" - ] - }, - "Microsoft.ManagedIdentity": { - "Identities": [ - "2015-08-31-PREVIEW", - "2018-11-30", - "2021-09-30-PREVIEW", - "2022-01-31-PREVIEW", - "2023-01-31" - ], - "operations": [ - "2015-08-31-PREVIEW", - "2018-11-30", - "2021-09-30-PREVIEW", - "2022-01-31-PREVIEW", - "2023-01-31" - ], - "userAssignedIdentities": [ - "2015-08-31-preview", - "2018-11-30", - "2021-09-30-preview", - "2022-01-31-preview", - "2023-01-31" - ], - "userAssignedIdentities/federatedIdentityCredentials": [ - "2022-01-31-preview", - "2023-01-31" - ] - }, - "Microsoft.ManagedNetwork": { - "managedNetworks": [ - "2019-06-01-preview" - ], - "managedNetworks/managedNetworkGroups": [ - "2019-06-01-preview" - ], - "managedNetworks/managedNetworkPeeringPolicies": [ - "2019-06-01-preview" - ], - "scopeAssignments": [ - "2019-06-01-preview" - ] - }, - "Microsoft.ManagedNetworkFabric": { - "accessControlLists": [ - "2023-02-01-preview", - "2023-06-15" - ], - "internetGatewayRules": [ - "2023-06-15" - ], - "internetGateways": [ - "2023-06-15" - ], - "ipCommunities": [ - "2023-02-01-preview", - "2023-06-15" - ], - "ipExtendedCommunities": [ - "2023-02-01-preview", - "2023-06-15" - ], - "ipPrefixes": [ - "2023-02-01-preview", - "2023-06-15" - ], - "l2IsolationDomains": [ - "2023-02-01-preview", - "2023-06-15" - ], - "l3IsolationDomains": [ - "2023-02-01-preview", - "2023-06-15" - ], - "l3IsolationDomains/externalNetworks": [ - "2023-02-01-preview", - "2023-06-15" - ], - "l3IsolationDomains/internalNetworks": [ - "2023-02-01-preview", - "2023-06-15" - ], - "Locations": [ - "2022-01-15-privatepreview", - "2023-02-01-preview", - "2023-06-15" - ], - "Locations/OperationStatuses": [ - "2023-06-15" - ], - "neighborGroups": [ - "2023-06-15" - ], - "networkDevices": [ - "2023-02-01-preview", - "2023-06-15" - ], - "networkDevices/networkInterfaces": [ - "2023-02-01-preview", - "2023-06-15" - ], - "networkFabricControllers": [ - "2023-02-01-preview", - "2023-06-15" - ], - "networkFabrics": [ - "2023-02-01-preview", - "2023-06-15" - ], - "networkFabrics/networkToNetworkInterconnects": [ - "2023-02-01-preview", - "2023-06-15" - ], - "networkPacketBrokers": [ - "2023-06-15" - ], - "networkRacks": [ - "2023-02-01-preview", - "2023-06-15" - ], - "networkTapRules": [ - "2023-06-15" - ], - "networkTaps": [ - "2023-06-15" - ], - "Operations": [ - "2022-01-15-privatepreview", - "2023-02-01-preview", - "2023-06-15" - ], - "routePolicies": [ - "2023-02-01-preview", - "2023-06-15" - ] - }, - "Microsoft.ManagedServices": { - "marketplaceRegistrationDefinitions": [ - "2018-06-01-preview", - "2019-04-01-preview", - "2019-06-01", - "2019-09-01", - "2020-02-01-preview", - "2022-01-01-preview", - "2022-10-01" - ], - "operations": [ - "2018-06-01-preview", - "2019-04-01-preview", - "2019-06-01", - "2019-09-01", - "2020-02-01-preview", - "2022-01-01-preview", - "2022-10-01" - ], - "operationStatuses": [ - "2019-04-01-preview", - "2019-06-01", - "2019-09-01", - "2020-02-01-preview", - "2022-01-01-preview", - "2022-10-01" - ], - "registrationAssignments": [ - "2018-06-01-preview", - "2019-04-01-preview", - "2019-06-01", - "2019-09-01", - "2020-02-01-preview", - "2022-01-01-preview", - "2022-10-01" - ], - "registrationDefinitions": [ - "2018-06-01-preview", - "2019-04-01-preview", - "2019-06-01", - "2019-09-01", - "2020-02-01-preview", - "2022-01-01-preview", - "2022-10-01" - ] - }, - "Microsoft.ManagedStorageClass": { - "Locations": [ - "2023-02-01-preview" - ], - "Locations/OperationStatuses": [ - "2023-02-01-preview" - ], - "managedstorageclass": [ - "2023-02-01-preview" - ] - }, - "Microsoft.Management": { - "checkNameAvailability": [ - "2018-01-01-preview", - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "getEntities": [ - "2018-01-01-preview", - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "managementGroups": [ - "2017-05-31-preview", - "2017-06-30-preview", - "2017-08-31-preview", - "2017-11-01-preview", - "2018-01-01-preview", - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "managementGroups/settings": [ - "2018-03-01-beta", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "managementGroups/subscriptions": [ - "2017-11-01-preview", - "2018-01-01-preview", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "operationResults": [ - "2018-01-01-preview", - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "operationResults/asyncOperation": [ - "2017-05-31-preview", - "2017-06-30-preview", - "2017-08-31-preview", - "2017-11-01-preview", - "2018-01-01-preview", - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "operations": [ - "2017-05-31-preview", - "2017-06-30-preview", - "2017-08-31-preview", - "2017-11-01-preview", - "2018-01-01-preview", - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "resources": [ - "2017-05-31-preview", - "2017-06-30-preview", - "2017-08-31-preview", - "2017-11-01-preview" - ], - "startTenantBackfill": [ - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ], - "tenantBackfillStatus": [ - "2018-03-01-beta", - "2018-03-01-preview", - "2019-11-01", - "2020-02-01", - "2020-05-01", - "2020-10-01", - "2021-04-01", - "2023-04-01" - ] - }, - "Microsoft.ManagementPartner": { - "partners": [ - "2018-02-01" - ] - }, - "Microsoft.ManufacturingPlatform": { - "locations": [ - "2023-02-01-preview" - ], - "Operations": [ - "2023-02-01-preview" - ] - }, - "Microsoft.Maps": { - "accounts": [ - "2017-01-01-preview", - "2018-05-01", - "2020-02-01-preview", - "2021-02-01", - "2021-07-01-preview", - "2021-12-01-preview", - "2023-06-01" - ], - "accounts/creators": [ - "2020-02-01-preview", - "2021-02-01", - "2021-07-01-preview", - "2021-12-01-preview", - "2023-06-01", - "2023-08-01-preview" - ], - "accounts/eventGridFilters": [ - "2018-05-01", - "2020-02-01-preview", - "2021-02-01", - "2021-07-01-preview", - "2021-12-01-preview", - "2023-06-01" - ], - "accounts/privateAtlases": [ - "2020-02-01-preview" - ], - "operations": [ - "2017-01-01-preview", - "2018-05-01", - "2020-02-01-preview", - "2021-02-01", - "2021-07-01-preview", - "2021-12-01-preview", - "2023-06-01" - ] - }, - "Microsoft.Marketplace": { - "listAvailableOffers": [ - "2018-03-01-beta" - ], - "locations": [ - "2018-08-01-beta", - "2021-06-01", - "2021-10-01", - "2022-07-31" - ], - "locations/edgeZones": [ - "2018-08-01-beta", - "2021-06-01", - "2021-10-01", - "2022-07-31" - ], - "locations/edgeZones/products": [ - "2018-08-01-beta", - "2021-06-01", - "2021-10-01", - "2022-07-31" - ], - "macc": [ - "2018-08-01-beta" - ], - "mysolutions": [ - "2023-03-01-preview" - ], - "offers": [ - "2018-08-01-beta", - "2021-06-01", - "2021-10-01", - "2022-12-01-preview" - ], - "offerTypes": [ - "2018-03-01-beta" - ], - "offerTypes/publishers": [ - "2018-03-01-beta" - ], - "offerTypes/publishers/offers": [ - "2018-03-01-beta" - ], - "offerTypes/publishers/offers/plans": [ - "2018-03-01-beta" - ], - "offerTypes/publishers/offers/plans/agreements": [ - "2018-03-01-beta" - ], - "offerTypes/publishers/offers/plans/configs": [ - "2018-03-01-beta" - ], - "offerTypes/publishers/offers/plans/configs/importImage": [ - "2018-03-01-beta" - ], - "operations": [ - "2018-03-01-beta", - "2021-12-01", - "2022-02-02", - "2022-03-01", - "2022-07-31", - "2022-09-01", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01-preview" - ], - "privategalleryitems": [ - "2018-03-01-beta" - ], - "privateStoreClient": [ - "2018-03-01-beta", - "2018-08-01-beta" - ], - "privateStores": [ - "2020-01-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/adminRequestApprovals": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/anyExistingOffersInTheCollections": [ - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/billingAccounts": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/bulkCollectionsAction": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections/approveAllItems": [ - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections/disableApproveAllItems": [ - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections/mapOffersToContexts": [ - "2023-01-01" - ], - "privateStores/collections/offers": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections/offers/upsertOfferWithMultiContext": [ - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections/queryRules": [ - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections/setRules": [ - "2022-09-01", - "2023-01-01" - ], - "privateStores/collections/transferOffers": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/collectionsToSubscriptionsMapping": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/fetchAllSubscriptionsInTenant": [ - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/listNewPlansNotifications": [ - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/listStopSellOffersPlansNotifications": [ - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/listSubscriptionsContext": [ - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/offers": [ - "2020-01-01", - "2021-06-01-beta" - ], - "privateStores/offers/acknowledgeNotification": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/queryApprovedPlans": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/queryNotificationsState": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/queryOffers": [ - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/queryUserOffers": [ - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/queryUserRules": [ - "2022-09-01", - "2023-01-01" - ], - "privateStores/requestApprovals": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/requestApprovals/query": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "privateStores/requestApprovals/withdrawPlan": [ - "2020-12-01", - "2021-06-01", - "2021-12-01", - "2022-03-01", - "2022-09-01", - "2023-01-01" - ], - "products": [ - "2018-08-01-beta", - "2021-06-01", - "2021-10-01", - "2022-12-01-preview" - ], - "products/reviews": [ - "2023-01-01-preview" - ], - "products/reviews/comments": [ - "2023-01-01-preview" - ], - "products/reviews/helpful": [ - "2023-01-01-preview" - ], - "products/usermetadata": [ - "2023-01-01-preview" - ], - "publishers": [ - "2019-06-30-preview" - ], - "publishers/offers": [ - "2019-06-30-preview" - ], - "publishers/offers/amendments": [ - "2019-06-30-preview" - ], - "register": [ - "2020-01-01" - ], - "search": [ - "2022-02-02", - "2023-01-01-preview" - ] - }, - "Microsoft.MarketplaceNotifications": { - "operations": [ - "2021-03-03" - ], - "reviewsnotifications": [ - "2021-03-03" - ] - }, - "Microsoft.MarketplaceOrdering": { - "agreements": [ - "2015-06-01", - "2021-01-01" - ], - "offertypes": [ - "2015-06-01", - "2021-01-01" - ], - "offerTypes/publishers/offers/plans/agreements": [ - "2015-06-01", - "2021-01-01" - ], - "operations": [ - "2015-06-01", - "2021-01-01" - ] - }, - "Microsoft.Media": { - "checknameavailability": [ - "2015-04-01", - "2015-10-01" - ], - "locations": [ - "2016-05-01-preview", - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2020-05-01", - "2021-05-01", - "2021-05-01-preview", - "2021-05-01-privatepreview", - "2021-06-01", - "2021-11-01", - "2021-11-01-preview", - "2023-01-01" - ], - "locations/checkNameAvailability": [ - "2016-05-01-preview", - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2020-05-01", - "2021-05-01", - "2021-05-01-preview", - "2021-05-01-privatepreview", - "2021-06-01", - "2021-11-01", - "2021-11-01-preview", - "2023-01-01" - ], - "locations/mediaServicesOperationResults": [ - "2015-04-01", - "2015-10-01", - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01", - "2023-01-01" - ], - "locations/mediaServicesOperationStatuses": [ - "2015-04-01", - "2015-10-01", - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01", - "2023-01-01" - ], - "locations/videoAnalyzerOperationResults": [ - "2021-11-01-preview" - ], - "locations/videoAnalyzerOperationStatuses": [ - "2021-11-01-preview" - ], - "mediaservices": [ - "2015-04-01", - "2015-10-01", - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01", - "2023-01-01" - ], - "mediaServices/accountFilters": [ - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2023-01-01" - ], - "mediaServices/assets": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2023-01-01" - ], - "mediaServices/assets/assetFilters": [ - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2023-01-01" - ], - "mediaServices/assets/tracks": [ - "2021-11-01", - "2022-08-01", - "2023-01-01" - ], - "mediaServices/contentKeyPolicies": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2023-01-01" - ], - "mediaservices/eventGridFilters": [ - "2018-02-05" - ], - "mediaservices/liveEventOperations": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2022-11-01" - ], - "mediaservices/liveEvents": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2022-11-01" - ], - "mediaservices/liveEvents/liveOutputs": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2022-11-01" - ], - "mediaservices/liveOutputOperations": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2022-11-01" - ], - "mediaServices/mediaGraphs": [ - "2019-09-01-preview", - "2020-02-01-preview" - ], - "mediaservices/privateEndpointConnectionOperations": [ - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01", - "2023-01-01" - ], - "mediaservices/privateEndpointConnectionProxies": [ - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01", - "2023-01-01" - ], - "mediaservices/privateEndpointConnections": [ - "2020-05-01", - "2021-05-01", - "2021-06-01", - "2021-11-01", - "2023-01-01" - ], - "mediaservices/streamingEndpointOperations": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2022-11-01" - ], - "mediaservices/streamingEndpoints": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2022-11-01" - ], - "mediaServices/streamingLocators": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2023-01-01" - ], - "mediaServices/streamingPolicies": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-08-01", - "2023-01-01" - ], - "mediaServices/transforms": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-05-01-preview", - "2022-07-01" - ], - "mediaServices/transforms/jobs": [ - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2019-05-01-preview", - "2020-05-01", - "2021-06-01", - "2021-11-01", - "2022-05-01-preview", - "2022-07-01" - ], - "operations": [ - "2015-04-01", - "2015-10-01", - "2016-05-01-preview", - "2018-02-05", - "2018-03-30-preview", - "2018-06-01-preview", - "2018-07-01", - "2020-05-01", - "2021-05-01", - "2021-05-01-preview", - "2021-05-01-privatepreview", - "2021-06-01", - "2021-11-01", - "2021-11-01-preview", - "2023-01-01" - ], - "videoAnalyzers": [ - "2021-05-01-preview", - "2021-05-01-privatepreview", - "2021-11-01-preview" - ], - "videoAnalyzers/accessPolicies": [ - "2021-05-01-preview", - "2021-11-01-preview" - ], - "videoAnalyzers/edgeModules": [ - "2021-05-01-preview", - "2021-11-01-preview" - ], - "videoAnalyzers/livePipelines": [ - "2021-11-01-preview" - ], - "videoAnalyzers/pipelineJobs": [ - "2021-11-01-preview" - ], - "videoAnalyzers/pipelineTopologies": [ - "2021-11-01-preview" - ], - "videoAnalyzers/privateEndpointConnections": [ - "2021-11-01-preview" - ], - "videoAnalyzers/videos": [ - "2021-05-01-preview", - "2021-11-01-preview" - ] - }, - "Microsoft.Metaverse": { - "locations": [ - "2022-02-01-preview" - ], - "locations/operationStatuses": [ - "2022-02-01-preview" - ] - }, - "Microsoft.Migrate": { - "assessmentProjects": [ - "2018-06-30-preview", - "2019-05-01", - "2019-10-01", - "2020-01-01", - "2020-05-01-preview", - "2022-02-02-preview", - "2023-03-03", - "2023-04-01-preview" - ], - "assessmentProjects/groups": [ - "2019-10-01" - ], - "assessmentProjects/groups/assessments": [ - "2019-10-01" - ], - "assessmentProjects/hypervcollectors": [ - "2019-10-01" - ], - "assessmentProjects/importcollectors": [ - "2019-10-01" - ], - "assessmentprojects/privateEndpointConnections": [ - "2019-10-01" - ], - "assessmentProjects/servercollectors": [ - "2019-10-01" - ], - "assessmentProjects/vmwarecollectors": [ - "2019-10-01" - ], - "locations": [ - "2017-09-25-privatepreview", - "2017-11-11-preview", - "2018-02-02", - "2018-06-30-preview", - "2019-05-01", - "2019-10-01", - "2020-01-01", - "2020-05-01-preview", - "2022-02-02-preview", - "2023-03-03", - "2023-04-01-preview" - ], - "locations/assessmentOptions": [ - "2017-09-25-privatepreview", - "2017-11-11-preview", - "2018-02-02" - ], - "locations/checkNameAvailability": [ - "2017-09-25-privatepreview", - "2017-11-11-preview", - "2018-02-02" - ], - "locations/rmsOperationResults": [ - "2019-10-01-preview", - "2021-01-01", - "2021-08-01", - "2022-08-01" - ], - "migrateProjects": [ - "2018-09-01-preview", - "2019-06-01", - "2020-05-01", - "2020-06-01-preview" - ], - "migrateProjects/privateEndpointConnections": [ - "2020-05-01" - ], - "migrateProjects/solutions": [ - "2018-09-01-preview" - ], - "modernizeProjects": [ - "2022-05-01-preview" - ], - "modernizeProjects/migrateAgents": [ - "2022-05-01-preview" - ], - "modernizeProjects/workloadDeployments": [ - "2022-05-01-preview" - ], - "modernizeProjects/workloadInstances": [ - "2022-05-01-preview" - ], - "moveCollections": [ - "2019-10-01-preview", - "2021-01-01", - "2021-08-01", - "2022-08-01", - "2023-08-01" - ], - "moveCollections/moveResources": [ - "2019-10-01-preview", - "2021-01-01", - "2021-08-01", - "2022-08-01", - "2023-08-01" - ], - "operations": [ - "2017-09-25-privatepreview", - "2017-11-11-preview", - "2018-02-02", - "2018-06-30-preview", - "2019-05-01", - "2019-10-01" - ], - "projects": [ - "2017-09-25-privatepreview", - "2017-11-11-preview", - "2018-02-02" - ], - "projects/groups": [ - "2017-11-11-preview", - "2018-02-02" - ], - "projects/groups/assessments": [ - "2017-11-11-preview", - "2018-02-02" - ] - }, - "Microsoft.Mission": { - "catalogs": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "checkNameAvailability": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "communities": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "externalConnections": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "internalConnections": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "Locations": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "Locations/OperationStatuses": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "Operations": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "virtualEnclaves": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "virtualEnclaves/endpoints": [ - "2023-02-01-preview", - "2023-08-01-preview" - ], - "virtualEnclaves/workloads": [ - "2023-02-01-preview", - "2023-08-01-preview" - ] - }, - "Microsoft.MixedReality": { - "locations": [ - "2019-02-28-preview", - "2019-12-02-preview", - "2020-04-06-preview", - "2020-05-01", - "2021-01-01", - "2021-03-01-preview", - "2023-07-01-preview" - ], - "locations/checkNameAvailability": [ - "2019-02-28-preview", - "2019-12-02-preview", - "2020-04-06-preview", - "2020-05-01", - "2021-01-01", - "2021-03-01-preview", - "2023-07-01-preview" - ], - "objectAnchorsAccounts": [ - "2021-03-01-preview" - ], - "operations": [ - "2019-02-28-preview", - "2019-12-02-preview", - "2020-04-06-preview", - "2020-05-01", - "2021-01-01", - "2021-03-01-preview", - "2023-07-01-preview" - ], - "remoteRenderingAccounts": [ - "2019-12-02-preview", - "2020-04-06-preview", - "2021-01-01", - "2021-03-01-preview" - ], - "spatialAnchorsAccounts": [ - "2019-02-28-preview", - "2019-12-02-preview", - "2020-05-01", - "2021-01-01", - "2021-03-01-preview" - ] - }, - "Microsoft.MobileNetwork": { - "Locations": [ - "2022-04-01-preview", - "2022-11-01", - "2022-12-01-privatepreview", - "2023-06-01", - "2023-07-01-preview" - ], - "Locations/OperationStatuses": [ - "2022-04-01-preview", - "2022-11-01", - "2022-12-01-privatepreview", - "2023-06-01", - "2023-07-01-preview" - ], - "mobileNetworks": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "mobileNetworks/dataNetworks": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "mobileNetworks/services": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "mobileNetworks/simPolicies": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "mobileNetworks/sites": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "mobileNetworks/slices": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "Operations": [ - "2022-04-01-preview", - "2022-11-01", - "2022-12-01-privatepreview", - "2023-06-01", - "2023-07-01-preview" - ], - "packetCoreControlPlanes": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "packetCoreControlPlanes/diagnosticsPackages": [ - "2023-06-01" - ], - "packetCoreControlPlanes/packetCaptures": [ - "2023-06-01" - ], - "packetCoreControlPlanes/packetCoreDataPlanes": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks": [ - "2022-03-01-preview", - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "packetCoreControlPlaneVersions": [ - "2022-04-01-preview", - "2022-11-01", - "2022-12-01-privatepreview", - "2023-06-01", - "2023-07-01-preview" - ], - "simGroups": [ - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "simGroups/sims": [ - "2022-04-01-preview", - "2022-11-01", - "2023-06-01" - ], - "sims": [ - "2022-03-01-preview" - ] - }, - "Microsoft.MobilePacketCore": { - "Locations": [ - "2023-04-15-preview", - "2023-05-15-preview" - ], - "Locations/OperationStatuses": [ - "2023-04-15-preview", - "2023-05-15-preview" - ], - "networkFunctions": [ - "2023-05-15-preview" - ] - }, - "Microsoft.ModSimWorkbench": { - "Locations": [ - "2021-03-01-preview" - ], - "Locations/operationStatuses": [ - "2021-03-01-preview" - ], - "Operations": [ - "2021-03-01-preview" - ] - }, - "Microsoft.Monitor": { - "accounts": [ - "2021-06-03-preview", - "2023-04-03" - ], - "locations": [ - "2021-06-01-preview", - "2021-06-03-preview", - "2023-04-01", - "2023-04-03" - ], - "locations/operationResults": [ - "2021-06-03-preview", - "2023-04-03" - ], - "locations/operationStatuses": [ - "2021-06-03-preview", - "2023-04-03" - ], - "operations": [ - "2021-06-01-preview", - "2021-06-03-preview", - "2023-04-01", - "2023-04-03" - ] - }, - "Microsoft.NetApp": { - "locations": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-07-15-preview", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/checkFilePathAvailability": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/CheckInventory": [ - "2021-08-01", - "2021-10-01", - "2021-12-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/checkNameAvailability": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/checkQuotaAvailability": [ - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/operationResults": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2021-12-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-07-01-preview", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/queryNetworkSiblingSet": [ - "2021-12-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/QuotaLimits": [ - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/regionInfo": [ - "2021-04-01-preview", - "2021-12-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "locations/regionInfos": [ - "2023-05-01-preview" - ], - "locations/updateNetworkSiblingSet": [ - "2021-12-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "netAppAccounts": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "netAppAccounts/backupPolicies": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview" - ], - "netAppAccounts/backupVaults": [ - "2022-11-01-preview" - ], - "netAppAccounts/backupVaults/backups": [ - "2022-11-01-preview" - ], - "netAppAccounts/capacityPools": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-07-01-preview", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "netAppAccounts/capacityPools/volumes": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2021-12-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-07-01-preview", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "netAppAccounts/capacityPools/volumes/backups": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-11-01" - ], - "netAppAccounts/capacityPools/volumes/mountTargets": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01" - ], - "netAppAccounts/capacityPools/volumes/snapshots": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-07-01-preview", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "netAppAccounts/capacityPools/volumes/subvolumes": [ - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview" - ], - "netAppAccounts/capacityPools/volumes/volumeQuotaRules": [ - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview" - ], - "netAppAccounts/snapshotPolicies": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-04-01-preview", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "netAppAccounts/volumeGroups": [ - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ], - "operations": [ - "2017-08-15", - "2019-05-01", - "2019-06-01", - "2019-07-01", - "2019-07-15-preview", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-02-01", - "2020-03-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-10-01", - "2021-12-01-preview", - "2022-01-01", - "2022-03-01", - "2022-05-01", - "2022-07-01", - "2022-07-01-preview", - "2022-09-01", - "2022-11-01", - "2022-11-01-preview", - "2023-01-01", - "2023-01-01-preview", - "2023-03-01", - "2023-03-01-preview", - "2023-05-01", - "2023-05-01-preview" - ] - }, - "Microsoft.Network": { - "applicationGatewayAvailableRequestHeaders": [ - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "applicationGatewayAvailableResponseHeaders": [ - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "applicationGatewayAvailableServerVariables": [ - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "applicationGatewayAvailableSslOptions": [ - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "applicationGatewayAvailableWafRuleSets": [ - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "applicationGateways": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "applicationGateways/privateEndpointConnections": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "ApplicationGatewayWebApplicationFirewallPolicies": [ - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "applicationSecurityGroups": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "azureFirewallFqdnTags": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "azureFirewalls": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "azureWebCategories": [ - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "bastionHosts": [ - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "bgpServiceCommunities": [ - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "checkFrontdoorNameAvailability": [ - "2018-08-01", - "2019-04-01", - "2019-05-01", - "2019-08-01", - "2020-01-01", - "2020-05-01", - "2020-07-01", - "2021-06-01" - ], - "checkTrafficManagerNameAvailability": [ - "2015-04-28-preview", - "2015-11-01", - "2017-03-01", - "2017-05-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "checkTrafficManagerNameAvailabilityV2": [ - "2022-04-01", - "2022-04-01-preview" - ], - "cloudServiceSlots": [ - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "connections": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "connections/sharedkey": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "customIpPrefixes": [ - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "ddosCustomPolicies": [ - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "ddosProtectionPlans": [ - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "dnsForwardingRulesets": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsForwardingRulesets/forwardingRules": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsForwardingRulesets/virtualNetworkLinks": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsOperationResults": [ - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsOperationStatuses": [ - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsResolvers": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsResolvers/inboundEndpoints": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsResolvers/outboundEndpoints": [ - "2020-04-01-preview", - "2022-07-01" - ], - "dnsZones": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/A": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/AAAA": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnszones/all": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/CAA": [ - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/CNAME": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/dnssecConfigs": [ - "2023-07-01-preview" - ], - "dnszones/DS": [ - "2023-07-01-preview" - ], - "dnsZones/MX": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnszones/NAPTR": [ - "2023-07-01-preview" - ], - "dnsZones/NS": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/PTR": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnszones/recordsets": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/SOA": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnsZones/SRV": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dnszones/TLSA": [ - "2023-07-01-preview" - ], - "dnsZones/TXT": [ - "2015-05-04-preview", - "2016-04-01", - "2017-09-01", - "2017-09-15-preview", - "2017-10-01", - "2018-03-01-preview", - "2018-05-01", - "2023-07-01-preview" - ], - "dscpConfigurations": [ - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteCircuits": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteCircuits/authorizations": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteCircuits/peerings": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteCircuits/peerings/connections": [ - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteCrossConnections": [ - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteCrossConnections/peerings": [ - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteGateways": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteGateways/expressRouteConnections": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "ExpressRoutePorts": [ - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRoutePorts/authorizations": [ - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRoutePortsLocations": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "expressRouteServiceProviders": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "firewallPolicies": [ - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "firewallPolicies/ruleCollectionGroups": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "firewallPolicies/ruleGroups": [ - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01" - ], - "firewallPolicies/signatureOverrides": [ - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "frontdoorOperationResults": [ - "2018-08-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-08-01", - "2019-10-01", - "2019-11-01", - "2020-01-01", - "2020-04-01", - "2020-05-01", - "2020-07-01", - "2020-11-01", - "2021-06-01", - "2022-05-01" - ], - "frontDoors": [ - "2018-08-01", - "2018-08-01-preview", - "2019-04-01", - "2019-05-01", - "2019-08-01", - "2020-01-01", - "2020-04-01", - "2020-05-01", - "2020-07-01", - "2021-06-01" - ], - "frontdoors/frontendEndpoints": [ - "2018-08-01", - "2019-04-01", - "2019-05-01", - "2019-08-01", - "2020-01-01", - "2020-04-01", - "2020-05-01", - "2020-07-01", - "2021-06-01" - ], - "frontdoors/frontendEndpoints/customHttpsConfiguration": [ - "2018-08-01", - "2019-04-01", - "2019-05-01", - "2019-08-01", - "2020-01-01", - "2020-04-01", - "2020-05-01", - "2020-07-01", - "2021-06-01" - ], - "frontDoors/rulesEngines": [ - "2020-01-01", - "2020-04-01", - "2020-05-01", - "2021-06-01" - ], - "frontdoorWebApplicationFirewallManagedRuleSets": [ - "2019-03-01", - "2019-10-01", - "2020-04-01", - "2020-11-01", - "2022-05-01" - ], - "FrontDoorWebApplicationFirewallPolicies": [ - "2018-08-01", - "2018-08-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-10-01", - "2020-04-01", - "2020-11-01", - "2021-06-01", - "2022-05-01" - ], - "getDnsResourceReference": [ - "2018-05-01", - "2023-07-01-preview" - ], - "interfaceEndpoints": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01" - ], - "internalNotify": [ - "2018-05-01", - "2023-07-01-preview" - ], - "internalPublicIpAddresses": [ - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "IpAllocations": [ - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "ipGroups": [ - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "loadBalancers": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "loadBalancers/backendAddressPools": [ - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "loadBalancers/inboundNatRules": [ - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "localNetworkGateways": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/ApplicationGatewayWafDynamicManifests": [ - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/autoApprovedPrivateLinkServices": [ - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/availableDelegations": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/availablePrivateEndpointTypes": [ - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/availableServiceAliases": [ - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/bareMetalTenants": [ - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/batchNotifyPrivateEndpointsForResourceMove": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/batchValidatePrivateEndpointsForResourceMove": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/checkAcceleratedNetworkingSupport": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/CheckDnsNameAvailability": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/checkPrivateLinkServiceVisibility": [ - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/commitInternalAzureNetworkManagerConfiguration": [ - "2022-01-01", - "2022-04-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01" - ], - "locations/dataTasks": [ - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/dnsResolverOperationResults": [ - "2020-04-01-preview", - "2022-07-01" - ], - "locations/dnsResolverOperationStatuses": [ - "2020-04-01-preview", - "2022-07-01" - ], - "locations/effectiveResourceOwnership": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/getAzureNetworkManagerConfiguration": [ - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/hybridEdgeZone": [ - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/internalAzureVirtualNetworkManagerOperation": [ - "2022-01-01", - "2022-04-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01" - ], - "locations/nfvOperationResults": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/nfvOperations": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/operationResults": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/operations": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/privateLinkServices": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/publishResources": [ - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/queryNetworkSecurityPerimeter": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-02-01-preview" - ], - "locations/serviceTagDetails": [ - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/serviceTags": [ - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/setAzureNetworkManagerConfiguration": [ - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/setLoadBalancerFrontendPublicIpAddresses": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/setResourceOwnership": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/supportedVirtualMachineSizes": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/usages": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/validateResourceOwnership": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "locations/virtualNetworkAvailableEndpointServices": [ - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "managementGroups/networkManagerConnections": [ - "2021-05-01-preview" - ], - "natGateways": [ - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "NetworkExperimentProfiles": [ - "2019-11-01" - ], - "NetworkExperimentProfiles/Experiments": [ - "2019-11-01" - ], - "networkGroupMemberships": [ - "2022-06-01-preview" - ], - "networkIntentPolicies": [ - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkInterfaces": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkInterfaces/tapConfigurations": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagerConnections": [ - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01" - ], - "networkManagers": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/connectivityConfigurations": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/networkGroups": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/networkGroups/staticMembers": [ - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/scopeConnections": [ - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/securityAdminConfigurations": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/securityAdminConfigurations/ruleCollections": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/securityAdminConfigurations/ruleCollections/rules": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-04-01-preview", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkManagers/securityUserConfigurations": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-02-01-preview", - "2022-04-01-preview" - ], - "networkManagers/securityUserConfigurations/ruleCollections": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-02-01-preview", - "2022-04-01-preview" - ], - "networkManagers/securityUserConfigurations/ruleCollections/rules": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2022-02-01-preview", - "2022-04-01-preview" - ], - "networkProfiles": [ - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkSecurityGroups": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkSecurityGroups/securityRules": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkSecurityPerimeters": [ - "2021-02-01-preview", - "2021-03-01-preview" - ], - "networkSecurityPerimeters/links": [ - "2021-02-01-preview" - ], - "networkSecurityPerimeters/profiles": [ - "2021-02-01-preview" - ], - "networkSecurityPerimeters/profiles/accessRules": [ - "2021-02-01-preview" - ], - "networkSecurityPerimeters/resourceAssociations": [ - "2021-02-01-preview" - ], - "networkVirtualAppliances": [ - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkVirtualAppliances/inboundSecurityRules": [ - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkVirtualAppliances/networkVirtualApplianceConnections": [ - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkVirtualAppliances/virtualApplianceSites": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkVirtualApplianceSkus": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkWatchers": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkWatchers/connectionMonitors": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkWatchers/flowLogs": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkWatchers/packetCaptures": [ - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "networkWatchers/pingMeshes": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "operations": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "p2svpnGateways": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "privateDnsOperationResults": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsOperationStatuses": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/A": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/AAAA": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/all": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/CNAME": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/MX": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/PTR": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/SOA": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/SRV": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/TXT": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZones/virtualNetworkLinks": [ - "2018-09-01", - "2020-01-01", - "2020-06-01" - ], - "privateDnsZonesInternal": [ - "2020-01-01", - "2020-06-01" - ], - "privateEndpointRedirectMaps": [ - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "privateEndpoints": [ - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "privateEndpoints/privateDnsZoneGroups": [ - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "privateEndpoints/privateLinkServiceProxies": [ - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "privateLinkServices": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "privateLinkServices/privateEndpointConnections": [ - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "publicIPAddresses": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "publicIPPrefixes": [ - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "routeFilters": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "routeFilters/routeFilterRules": [ - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "routeTables": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "routeTables/routes": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "securityPartnerProviders": [ - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "serviceEndpointPolicies": [ - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "serviceEndpointPolicies/serviceEndpointPolicyDefinitions": [ - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "trafficManagerGeographicHierarchies": [ - "2017-03-01", - "2017-05-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles": [ - "2015-04-28-preview", - "2015-11-01", - "2017-03-01", - "2017-05-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles/AzureEndpoints": [ - "2015-04-28-preview", - "2015-11-01", - "2017-03-01", - "2017-05-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles/ExternalEndpoints": [ - "2015-04-28-preview", - "2015-11-01", - "2017-03-01", - "2017-05-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles/heatMaps": [ - "2017-09-01-preview", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "trafficmanagerprofiles/NestedEndpoints": [ - "2015-04-28-preview", - "2015-11-01", - "2017-03-01", - "2017-05-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "trafficManagerUserMetricsKeys": [ - "2017-09-01-preview", - "2018-04-01", - "2018-08-01", - "2022-04-01", - "2022-04-01-preview" - ], - "virtualHubs": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualHubs/bgpConnections": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualHubs/hubRouteTables": [ - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualHubs/hubVirtualNetworkConnections": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualHubs/ipConfigurations": [ - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualHubs/routeMaps": [ - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualHubs/routeTables": [ - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualHubs/routingIntent": [ - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworkGateways": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworkGateways/natRules": [ - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworks": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworks/listDnsForwardingRulesets": [ - "2020-04-01-preview", - "2022-07-01" - ], - "virtualNetworks/listDnsResolvers": [ - "2020-04-01-preview", - "2022-07-01" - ], - "virtualNetworks/listNetworkManagerEffectiveConnectivityConfigurations": [ - "2022-01-01", - "2022-04-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworks/listNetworkManagerEffectiveSecurityAdminRules": [ - "2022-01-01", - "2022-04-01-preview", - "2022-05-01", - "2022-06-01-preview", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-03-01-preview", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworks/privateDnsZoneLinks": [ - "2020-06-01" - ], - "virtualNetworks/subnets": [ - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworks/taggedTrafficConsumers": [ - "2014-12-01-preview", - "2015-05-01-preview", - "2015-06-15", - "2016-03-30", - "2016-06-01", - "2016-07-01", - "2016-08-01", - "2016-09-01", - "2016-10-01", - "2016-11-01", - "2016-12-01", - "2017-03-01", - "2017-04-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworks/virtualNetworkPeerings": [ - "2016-06-01", - "2016-09-01", - "2016-12-01", - "2017-03-01", - "2017-06-01", - "2017-08-01", - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualNetworkTaps": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualRouters": [ - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-01-01-preview", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualRouters/peerings": [ - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualWans": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "virtualWans/p2sVpnServerConfigurations": [ - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01" - ], - "vpnGateways": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "vpnGateways/natRules": [ - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "vpnGateways/vpnConnections": [ - "2018-04-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-02-01", - "2021-03-01", - "2021-05-01", - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "vpnServerConfigurations": [ - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "vpnServerConfigurations/configurationPolicyGroups": [ - "2021-08-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ], - "vpnSites": [ - "2017-09-01", - "2017-10-01", - "2017-11-01", - "2018-01-01", - "2018-02-01", - "2018-03-01", - "2018-04-01", - "2018-05-01", - "2018-06-01", - "2018-07-01", - "2018-08-01", - "2018-10-01", - "2018-11-01", - "2018-12-01", - "2019-02-01", - "2019-04-01", - "2019-06-01", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-11-01", - "2019-12-01", - "2020-01-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-11-01", - "2021-01-01", - "2021-02-01", - "2021-03-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-12-01", - "2022-01-01", - "2022-05-01", - "2022-07-01", - "2022-09-01", - "2022-11-01", - "2023-02-01", - "2023-04-01", - "2023-05-01" - ] - }, - "Microsoft.Network.Admin": { - "locations/quotas": [ - "2015-06-15" - ] - }, - "Microsoft.NetworkAnalytics": { - "Locations": [ - "2022-11-15-preview" - ], - "Locations/OperationStatuses": [ - "2022-11-15-preview" - ], - "Operations": [ - "2022-11-15-preview" - ], - "registeredSubscriptions": [ - "2022-11-15-preview", - "2023-03-31-preview" - ] - }, - "Microsoft.NetworkCloud": { - "bareMetalMachines": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "cloudServicesNetworks": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "clusterManagers": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "clusters": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "clusters/admissions": [ - "2022-09-30-preview" - ], - "clusters/bareMetalMachineKeySets": [ - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "clusters/bmcKeySets": [ - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "clusters/metricsConfigurations": [ - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "defaultCniNetworks": [ - "2022-09-30-preview", - "2022-12-12-preview" - ], - "hybridAksClusters": [ - "2022-09-30-preview", - "2022-12-12-preview" - ], - "kubernetesClusters": [ - "2023-05-01-preview", - "2023-07-01" - ], - "kubernetesClusters/agentPools": [ - "2023-05-01-preview", - "2023-07-01" - ], - "l2Networks": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "l3Networks": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "locations": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "locations/operationStatuses": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "operations": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "racks": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "rackSkus": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "registeredSubscriptions": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "storageAppliances": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "trunkedNetworks": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "virtualMachines": [ - "2022-09-30-preview", - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "virtualMachines/consoles": [ - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ], - "volumes": [ - "2022-12-12-preview", - "2023-05-01-preview", - "2023-07-01" - ] - }, - "Microsoft.NetworkFunction": { - "azureTrafficCollectors": [ - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ], - "azureTrafficCollectors/collectorPolicies": [ - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ], - "locations": [ - "2021-08-01-preview", - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ], - "locations/nfvOperationResults": [ - "2021-08-01-preview", - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ], - "locations/nfvOperations": [ - "2021-08-01-preview", - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ], - "meshVpns": [ - "2021-08-01-preview" - ], - "meshVpns/connectionPolicies": [ - "2021-08-01-preview" - ], - "meshVpns/privateEndpointConnectionProxies": [ - "2021-08-01-preview" - ], - "meshVpns/privateEndpointConnections": [ - "2021-08-01-preview" - ], - "operations": [ - "2021-09-01-preview", - "2022-05-01", - "2022-08-01", - "2022-11-01" - ] - }, - "Microsoft.Notebooks": { - "NotebookProxies": [ - "2019-10-11-preview" - ], - "operations": [ - "2019-10-11-preview" - ] - }, - "Microsoft.NotificationHubs": { - "checkNameAvailability": [ - "2014-09-01", - "2016-03-01", - "2017-04-01" - ], - "checkNamespaceAvailability": [ - "2014-09-01", - "2016-03-01", - "2017-04-01", - "2020-01-01-preview", - "2023-01-01-preview" - ], - "namespaces": [ - "2014-09-01", - "2016-03-01", - "2017-04-01", - "2020-01-01-preview", - "2023-01-01-preview" - ], - "namespaces/AuthorizationRules": [ - "2014-09-01", - "2016-03-01", - "2017-04-01", - "2023-01-01-preview" - ], - "namespaces/notificationHubs": [ - "2014-09-01", - "2016-03-01", - "2017-04-01", - "2020-01-01-preview", - "2023-01-01-preview" - ], - "namespaces/notificationHubs/AuthorizationRules": [ - "2014-09-01", - "2016-03-01", - "2017-04-01", - "2023-01-01-preview" - ], - "namespaces/privateEndpointConnections": [ - "2023-01-01-preview" - ], - "operations": [ - "2014-09-01", - "2016-03-01", - "2017-04-01", - "2020-01-01-preview", - "2023-01-01-preview" - ] - }, - "Microsoft.Nutanix": { - "locations": [ - "2020-06-01", - "2020-06-01-preview" - ], - "operations": [ - "2020-06-01", - "2020-06-01-preview" - ] - }, - "Microsoft.ObjectStore": { - "osNamespaces": [ - "2019-06-01-preview", - "2021-09-01-preview" - ] - }, - "Microsoft.OffAzure": { - "HyperVSites": [ - "2018-05-01-preview", - "2019-06-06", - "2020-01-01", - "2020-07-07", - "2020-08-01-preview", - "2022-10-27" - ], - "HyperVSites/clusters": [ - "2020-01-01", - "2020-07-07" - ], - "HyperVSites/hosts": [ - "2020-01-01", - "2020-07-07" - ], - "ImportSites": [ - "2019-05-01-preview", - "2020-01-01-preview", - "2020-02-01" - ], - "locations": [ - "2020-07-07" - ], - "locations/operationResults": [ - "2020-07-07" - ], - "MasterSites": [ - "2020-07-07", - "2020-11-11-preview", - "2022-10-27" - ], - "masterSites/privateEndpointConnections": [ - "2020-07-07" - ], - "operations": [ - "2018-05-01-preview", - "2019-06-06", - "2020-01-01" - ], - "ServerSites": [ - "2019-05-01-preview", - "2020-01-01-preview", - "2020-08-01-preview", - "2020-09-09-preview", - "2022-10-27" - ], - "VMwareSites": [ - "2018-05-01-preview", - "2019-05-01-preview", - "2019-06-06", - "2020-01-01", - "2020-01-01-preview", - "2020-07-07", - "2020-07-10", - "2020-08-01-preview", - "2020-09-09-preview", - "2022-10-27" - ], - "VMwareSites/vCenters": [ - "2020-01-01", - "2020-07-07" - ] - }, - "Microsoft.OffAzureSpringBoot": { - "locations": [ - "2023-01-01-preview" - ], - "locations/operationStatuses": [ - "2023-01-01-preview" - ], - "operations": [ - "2023-01-01-preview" - ], - "springbootsites": [ - "2023-01-01-preview" - ], - "springbootsites/errorsummaries": [ - "2023-01-01-preview" - ], - "springbootsites/springbootapps": [ - "2023-01-01-preview" - ], - "springbootsites/springbootservers": [ - "2023-01-01-preview" - ], - "springbootsites/summaries": [ - "2023-01-01-preview" - ] - }, - "Microsoft.OpenEnergyPlatform": { - "checkNameAvailability": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ], - "energyServices": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ], - "energyServices/privateEndpointConnectionProxies": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ], - "energyServices/privateEndpointConnections": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ], - "energyServices/privateLinkResources": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ], - "Locations": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ], - "Locations/OperationStatuses": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ], - "Operations": [ - "2021-06-01-preview", - "2022-04-04-preview", - "2022-07-21-preview", - "2022-12-01-preview", - "2023-02-21-preview" - ] - }, - "Microsoft.OpenLogisticsPlatform": { - "applicationRegistrationInvites": [ - "2020-06-23-preview", - "2021-06-24-preview" - ], - "checkNameAvailability": [ - "2020-06-23-preview", - "2021-06-24-preview", - "2021-12-01-preview" - ], - "Locations": [ - "2020-06-23-preview", - "2021-06-24-preview", - "2021-12-01-preview" - ], - "locations/OperationStatuses": [ - "2020-06-23-preview", - "2021-06-24-preview", - "2021-12-01-preview" - ], - "operations": [ - "2020-06-23-preview", - "2021-06-24-preview", - "2021-12-01-preview" - ], - "shareInvites": [ - "2020-06-23-preview", - "2021-06-24-preview", - "2021-12-01-preview" - ] - }, - "Microsoft.OperationalInsights": { - "clusters": [ - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01", - "2020-10-01", - "2021-06-01" - ], - "deletedWorkspaces": [ - "2020-03-01-preview", - "2020-08-01", - "2020-10-01", - "2021-12-01-preview", - "2022-10-01" - ], - "linkTargets": [ - "2015-03-20", - "2020-03-01-preview" - ], - "locations": [ - "2015-03-20", - "2015-11-01-preview", - "2017-01-01-preview", - "2017-03-03-preview", - "2017-03-15-preview", - "2017-04-26-preview", - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01", - "2020-10-01" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2021-10-01" - ], - "locations/operationStatuses": [ - "2015-03-20", - "2015-11-01-preview", - "2017-01-01-preview", - "2017-03-03-preview", - "2017-03-15-preview", - "2017-04-26-preview", - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01", - "2020-10-01", - "2021-12-01-preview", - "2022-09-01-privatepreview", - "2022-10-01", - "2023-01-01-preview" - ], - "operations": [ - "2014-11-10", - "2015-11-01-preview", - "2020-03-01-preview", - "2020-08-01", - "2020-10-01", - "2021-12-01-preview", - "2022-10-01" - ], - "queryPacks": [ - "2019-09-01", - "2019-09-01-preview" - ], - "queryPacks/queries": [ - "2019-09-01", - "2019-09-01-preview" - ], - "storageInsightConfigs": [ - "2014-10-10", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces": [ - "2015-03-20", - "2015-11-01-preview", - "2017-01-01-preview", - "2017-03-03-preview", - "2017-03-15-preview", - "2017-04-26-preview", - "2020-03-01-preview", - "2020-08-01", - "2020-10-01", - "2021-03-01-privatepreview", - "2021-06-01", - "2021-12-01-preview", - "2022-10-01" - ], - "workspaces/dataExports": [ - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/dataSources": [ - "2015-11-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/features/machineGroups": [ - "2015-11-01-preview" - ], - "workspaces/linkedServices": [ - "2015-11-01-preview", - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/linkedStorageAccounts": [ - "2019-08-01-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/metadata": [ - "2017-10-01" - ], - "workspaces/query": [ - "2017-10-01" - ], - "workspaces/savedSearches": [ - "2015-03-20", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/scopedPrivateLinkProxies": [ - "2015-11-01-preview", - "2019-08-01-preview", - "2020-03-01-preview" - ], - "workspaces/storageInsightConfigs": [ - "2015-03-20", - "2015-11-01-preview", - "2017-01-01-preview", - "2017-03-03-preview", - "2017-03-15-preview", - "2017-04-26-preview", - "2020-03-01-preview", - "2020-08-01" - ], - "workspaces/tables": [ - "2017-04-26-preview", - "2020-03-01-preview", - "2020-08-01", - "2021-12-01-preview", - "2022-10-01" - ] - }, - "Microsoft.OperationsManagement": { - "ManagementAssociations": [ - "2015-11-01-preview" - ], - "ManagementConfigurations": [ - "2015-11-01-preview" - ], - "operations": [ - "2015-11-01-preview" - ], - "solutions": [ - "2015-11-01-preview" - ], - "views": [ - "2017-08-21-preview" - ] - }, - "Microsoft.OperatorVoicemail": { - "Locations": [ - "2023-03-01-preview" - ], - "Locations/checkNameAvailability": [ - "2023-03-01-preview" - ], - "Locations/OperationStatuses": [ - "2023-03-01-preview" - ], - "Operations": [ - "2023-03-01-preview" - ] - }, - "Microsoft.OracleDiscovery": { - "operations": [ - "2022-11-22-preview" - ] - }, - "Microsoft.Orbital": { - "availableGroundStations": [ - "2021-04-04-preview", - "2022-03-01", - "2022-11-01" - ], - "contactProfiles": [ - "2021-04-04-preview", - "2022-03-01", - "2022-11-01" - ], - "edgeSites": [ - "2021-04-04-preview", - "2022-06-01-preview" - ], - "globalCommunicationsSites": [ - "2021-04-04-preview", - "2022-06-01-preview" - ], - "groundStations": [ - "2021-04-04-preview", - "2022-06-01-preview" - ], - "l2Connections": [ - "2021-04-04-preview", - "2022-06-01-preview" - ], - "l3Connections": [ - "2021-04-04-preview" - ], - "locations": [ - "2022-11-01" - ], - "locations/operationResults": [ - "2022-03-01", - "2022-06-01-preview", - "2022-11-01" - ], - "operations": [ - "2022-11-01" - ], - "orbitalGateways": [ - "2021-04-04-preview" - ], - "spacecrafts": [ - "2021-04-04-preview", - "2022-03-01", - "2022-11-01" - ], - "spacecrafts/contacts": [ - "2021-04-04-preview", - "2022-03-01", - "2022-11-01" - ] - }, - "Microsoft.Peering": { - "cdnPeeringPrefixes": [ - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "checkServiceProviderAvailability": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "legacyPeerings": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "lookingGlass": [ - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "operations": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peerAsns": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringLocations": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peerings": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peerings/registeredAsns": [ - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peerings/registeredPrefixes": [ - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServiceCountries": [ - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServiceLocations": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServiceProviders": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServices": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServices/connectionMonitorTests": [ - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ], - "peeringServices/prefixes": [ - "2019-08-01-preview", - "2019-09-01-preview", - "2020-01-01-preview", - "2020-04-01", - "2020-10-01", - "2021-01-01", - "2021-06-01", - "2022-01-01", - "2022-06-01", - "2022-10-01" - ] - }, - "Microsoft.Pki": { - "Operations": [ - "2021-03-01-preview", - "2022-09-01-preview" - ] - }, - "Microsoft.PlayFab": { - "locations": [ - "2022-03-02-preview", - "2022-04-12-preview", - "2022-05-05-preview", - "2022-07-15-preview" - ], - "locations/operationStatuses": [ - "2022-03-02-preview", - "2022-04-12-preview", - "2022-05-05-preview", - "2022-07-15-preview" - ], - "operations": [ - "2022-03-02-preview", - "2022-04-12-preview", - "2022-05-05-preview", - "2022-07-15-preview" - ] - }, - "Microsoft.PolicyInsights": { - "asyncOperationResults": [ - "2018-07-01-preview", - "2019-10-01" - ], - "attestations": [ - "2019-10-01", - "2021-01-01", - "2022-09-01" - ], - "checkPolicyRestrictions": [ - "2020-07-01", - "2020-07-01-preview", - "2022-03-01", - "2023-03-01" - ], - "componentPolicyStates": [ - "2022-04-01" - ], - "eventGridFilters": [ - "2020-10-01" - ], - "operations": [ - "2017-08-09-preview", - "2017-10-17-preview", - "2017-12-12-preview", - "2018-04-04", - "2018-07-01-preview", - "2019-10-01", - "2022-04-01" - ], - "policyEvents": [ - "2017-08-09-preview", - "2017-10-17-preview", - "2017-12-12-preview", - "2018-04-04", - "2018-07-01-preview", - "2019-10-01" - ], - "policyMetadata": [ - "2019-10-01" - ], - "policyStates": [ - "2017-08-09-preview", - "2017-10-17-preview", - "2017-12-12-preview", - "2018-04-04", - "2018-07-01-preview", - "2019-10-01" - ], - "policyTrackedResources": [ - "2018-07-01-preview" - ], - "remediations": [ - "2018-07-01-preview", - "2019-07-01", - "2021-10-01" - ] - }, - "Microsoft.Portal": { - "consoles": [ - "2017-01-01-preview", - "2017-08-01-preview", - "2017-12-01-preview", - "2018-10-01", - "2020-04-01-preview", - "2023-02-01-preview" - ], - "dashboards": [ - "2015-08-01-preview", - "2018-10-01-preview", - "2019-01-01-preview", - "2020-09-01-alpha", - "2020-09-01-preview" - ], - "listTenantConfigurationViolations": [ - "2019-01-01-preview", - "2020-09-01-preview" - ], - "locations": [ - "2017-01-01-preview", - "2017-08-01-preview", - "2017-12-01-preview", - "2018-10-01", - "2020-04-01-preview", - "2023-02-01-preview" - ], - "locations/consoles": [ - "2017-01-01-preview", - "2017-08-01-preview", - "2017-12-01-preview", - "2018-10-01", - "2020-04-01-preview", - "2023-02-01-preview" - ], - "locations/userSettings": [ - "2017-01-01-preview", - "2017-08-01-preview", - "2017-12-01-preview", - "2018-10-01", - "2020-04-01-preview", - "2023-02-01-preview" - ], - "operations": [ - "2015-08-01-preview" - ], - "tenantConfigurations": [ - "2019-01-01-preview", - "2020-09-01-preview" - ], - "userSettings": [ - "2017-01-01-preview", - "2017-08-01-preview", - "2017-12-01-preview", - "2018-10-01", - "2020-04-01-preview", - "2023-02-01-preview" - ] - }, - "Microsoft.PowerBI": { - "locations": [ - "2016-01-29" - ], - "locations/checkNameAvailability": [ - "2016-01-29" - ], - "operations": [ - "2016-01-29", - "2020-06-01" - ], - "privateLinkServicesForPowerBI": [ - "2020-06-01" - ], - "privateLinkServicesForPowerBI/operationResults": [ - "2020-06-01" - ], - "privateLinkServicesForPowerBI/privateEndpointConnections": [ - "2020-06-01" - ], - "workspaceCollections": [ - "2016-01-29" - ] - }, - "Microsoft.PowerBIDedicated": { - "autoScaleVCores": [ - "2021-01-01", - "2021-05-01" - ], - "capacities": [ - "2017-01-01-preview", - "2017-10-01", - "2018-09-01-preview", - "2021-01-01", - "2021-05-01" - ], - "locations": [ - "2017-01-01-preview" - ], - "locations/checkNameAvailability": [ - "2017-01-01-preview", - "2017-10-01", - "2018-09-01-preview", - "2021-01-01", - "2021-05-01" - ], - "locations/operationresults": [ - "2017-01-01-preview", - "2017-10-01", - "2018-09-01-preview", - "2021-01-01", - "2021-05-01" - ], - "locations/operationstatuses": [ - "2017-01-01-preview", - "2017-10-01", - "2018-09-01-preview", - "2021-01-01", - "2021-05-01" - ], - "operations": [ - "2017-01-01-preview", - "2017-10-01", - "2018-09-01-preview", - "2021-01-01", - "2021-05-01" - ] - }, - "Microsoft.PowerPlatform": { - "accounts": [ - "2020-10-30-preview" - ], - "enterprisePolicies": [ - "2020-10-30", - "2020-10-30-preview" - ], - "enterprisePolicies/privateEndpointConnections": [ - "2020-10-30-preview" - ], - "locations": [ - "2020-10-30", - "2020-10-30-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2020-10-30", - "2020-10-30-preview" - ], - "locations/validateDeleteVirtualNetworkOrSubnets": [ - "2020-10-30", - "2020-10-30-preview" - ], - "operations": [ - "2020-04-01", - "2020-10-30", - "2020-10-30-preview" - ] - }, - "Microsoft.ProfessionalService": { - "checkNameAvailability": [ - "2023-07-01-preview" - ], - "eligibilityCheck": [ - "2023-07-01-preview" - ], - "operationResults": [ - "2023-07-01-preview" - ], - "operations": [ - "2023-07-01-preview" - ], - "resources": [ - "2023-07-01-preview" - ] - }, - "Microsoft.ProviderHub": { - "availableAccounts": [ - "2019-02-01-preview", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2023-04-01-preview" - ], - "operationStatuses": [ - "2019-02-01-preview", - "2019-10-01", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-07-01-preview", - "2023-04-01-preview" - ], - "providerRegistrations": [ - "2019-02-01-preview", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-07-01-preview", - "2023-04-01-preview" - ], - "providerRegistrations/checkinmanifest": [ - "2019-02-01-preview", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-07-01-preview", - "2023-04-01-preview" - ], - "providerRegistrations/customRollouts": [ - "2019-02-01-preview", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-07-01-preview", - "2023-04-01-preview" - ], - "providerRegistrations/defaultRollouts": [ - "2019-02-01-preview", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-07-01-preview", - "2023-04-01-preview" - ], - "providerRegistrations/notificationRegistrations": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/operations": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourceActions": [ - "2019-02-01-preview", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-01-01", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2023-04-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations": [ - "2019-02-01-preview", - "2020-06-01-preview", - "2020-09-01-preview", - "2020-10-01-preview", - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2022-07-01-preview", - "2023-04-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ], - "providerRegistrations/resourcetypeRegistrations/skus": [ - "2020-11-20", - "2021-05-01-preview", - "2021-06-01-preview", - "2021-09-01-preview" - ] - }, - "Microsoft.Purview": { - "accounts": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01" - ], - "accounts/kafkaConfigurations": [ - "2021-12-01" - ], - "accounts/privateEndpointConnections": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01" - ], - "checkNameAvailability": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01" - ], - "getDefaultAccount": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01", - "2023-05-01-preview" - ], - "locations": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01" - ], - "locations/listFeatures": [ - "2021-12-01" - ], - "locations/operationResults": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01" - ], - "locations/usages": [ - "2021-12-01" - ], - "operations": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01", - "2022-11-01-preview", - "2023-05-01-preview", - "2023-06-01-preview" - ], - "policies": [ - "2023-06-01-preview" - ], - "removeDefaultAccount": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01", - "2023-05-01-preview" - ], - "setDefaultAccount": [ - "2020-12-01-preview", - "2021-07-01", - "2021-12-01", - "2023-05-01-preview" - ] - }, - "Microsoft.Quantum": { - "Locations": [ - "2019-11-04-preview", - "2022-01-10-preview" - ], - "Locations/CheckNameAvailability": [ - "2019-11-04-preview", - "2022-01-10-preview" - ], - "locations/offerings": [ - "2019-11-04-preview", - "2022-01-10-preview" - ], - "Locations/OperationStatuses": [ - "2019-11-04-preview", - "2022-01-10-preview" - ], - "Operations": [ - "2019-11-04-preview", - "2022-01-10-preview" - ], - "workspaces": [ - "2019-11-04-preview", - "2022-01-10-preview" - ] - }, - "Microsoft.Quota": { - "groupQuotas": [ - "2023-06-01-preview" - ], - "groupQuotas/groupQuotaLimits": [ - "2023-06-01-preview" - ], - "groupQuotas/quotaAllocations": [ - "2023-06-01-preview" - ], - "groupQuotas/subscriptions": [ - "2023-06-01-preview" - ], - "operations": [ - "2021-03-15-preview", - "2023-02-01" - ], - "operationsStatus": [ - "2021-03-15-preview" - ], - "quotaRequests": [ - "2021-03-15-preview" - ], - "quotas": [ - "2021-03-15-preview", - "2023-02-01" - ], - "usages": [ - "2021-03-15-preview" - ] - }, - "Microsoft.RecommendationsService": { - "accounts": [ - "2021-02-01-preview", - "2022-02-01", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "accounts/modeling": [ - "2021-02-01-preview", - "2022-02-01", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "accounts/serviceEndpoints": [ - "2021-02-01-preview", - "2022-02-01", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "checkNameAvailability": [ - "2021-02-01-preview", - "2022-02-01", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "locations": [ - "2021-02-01-preview", - "2022-02-01", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "locations/operationStatuses": [ - "2021-02-01-preview", - "2022-02-01", - "2022-03-01-preview", - "2022-09-01-preview" - ], - "operations": [ - "2021-02-01-preview", - "2022-02-01", - "2022-03-01-preview", - "2022-09-01-preview" - ] - }, - "Microsoft.RecoveryServices": { - "backupProtectedItems": [ - "2017-07-01-preview" - ], - "locations": [ - "2016-06-01", - "2017-07-01", - "2021-03-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-06-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "locations/allocatedStamp": [ - "2015-08-15", - "2016-06-01" - ], - "locations/allocateStamp": [ - "2015-08-15", - "2016-06-01" - ], - "locations/backupAadProperties": [ - "2018-12-20", - "2018-12-20-preview", - "2021-11-15", - "2023-01-15" - ], - "locations/backupCrossRegionRestore": [ - "2018-12-20", - "2018-12-20-preview", - "2021-11-15", - "2023-01-15" - ], - "locations/backupCrrJob": [ - "2018-12-20", - "2018-12-20-preview", - "2021-11-15", - "2023-01-15" - ], - "locations/backupCrrJobs": [ - "2018-12-20", - "2018-12-20-preview", - "2021-11-15", - "2023-01-15" - ], - "locations/backupCrrOperationResults": [ - "2018-12-20", - "2018-12-20-preview", - "2021-11-15", - "2023-01-15" - ], - "locations/backupCrrOperationsStatus": [ - "2018-12-20", - "2018-12-20-preview", - "2021-11-15", - "2023-01-15" - ], - "locations/backupPreValidateProtection": [ - "2017-07-01", - "2021-03-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-06-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "locations/backupStatus": [ - "2016-06-01", - "2017-07-01", - "2021-03-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-06-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "locations/backupValidateFeatures": [ - "2017-07-01", - "2021-03-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-06-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "locations/capabilities": [ - "2022-01-31-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "locations/checkNameAvailability": [ - "2018-01-10" - ], - "operations": [ - "2015-03-15", - "2015-06-10", - "2015-08-10", - "2015-08-15", - "2015-11-10", - "2015-12-10", - "2015-12-15", - "2016-06-01", - "2016-08-10", - "2016-12-01", - "2017-07-01", - "2017-07-01-preview", - "2017-09-01", - "2018-01-10", - "2018-07-10", - "2018-07-10-preview", - "2019-05-13", - "2019-05-13-preview", - "2019-06-15", - "2020-02-02", - "2020-02-02-preview", - "2020-07-01", - "2020-07-01-preview", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-06-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "replicationEligibilityResults": [ - "2018-07-10", - "2021-02-10", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-06-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults": [ - "2015-03-15", - "2015-06-10", - "2015-08-10", - "2015-08-15", - "2015-11-10", - "2015-12-10", - "2015-12-15", - "2016-05-01", - "2016-06-01", - "2016-08-10", - "2016-12-01", - "2017-07-01", - "2017-07-01-preview", - "2018-01-10", - "2018-07-10", - "2018-07-10-preview", - "2019-05-13", - "2019-05-13-preview", - "2019-06-15", - "2020-02-02", - "2020-02-02-preview", - "2020-07-01", - "2020-07-01-preview", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-01-31-preview", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-06-01-preview", - "2022-08-01", - "2022-09-01-preview", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/backupconfig": [ - "2019-06-15", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/backupEncryptionConfigs": [ - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/backupFabrics/backupProtectionIntent": [ - "2017-07-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/backupFabrics/protectionContainers": [ - "2016-12-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/backupFabrics/protectionContainers/protectedItems": [ - "2016-06-01", - "2019-05-13", - "2019-06-15", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/backupPolicies": [ - "2016-06-01", - "2019-05-13", - "2019-06-15", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/backupResourceGuardProxies": [ - "2021-02-01-preview", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/backupstorageconfig": [ - "2016-12-01", - "2018-12-20", - "2021-04-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-15", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-01-15", - "2023-02-01", - "2023-04-01" - ], - "vaults/certificates": [ - "2016-06-01", - "2020-02-02", - "2020-10-01", - "2021-01-01", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-01-31-preview", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/extendedInformation": [ - "2016-06-01", - "2020-02-02", - "2020-10-01", - "2021-01-01", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-11-01-preview", - "2021-12-01", - "2022-01-01", - "2022-01-31-preview", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/privateEndpointConnections": [ - "2020-02-02", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-02-01", - "2021-02-01-preview", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-06-01-preview", - "2022-09-01-preview", - "2022-09-30-preview", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01" - ], - "vaults/replicationAlertSettings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems": [ - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationRecoveryServicesProviders": [ - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationFabrics/replicationvCenters": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationPolicies": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationProtectionIntents": [ - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationRecoveryPlans": [ - "2016-08-10", - "2018-01-10", - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ], - "vaults/replicationVaultSettings": [ - "2018-07-10", - "2021-02-10", - "2021-03-01", - "2021-04-01", - "2021-06-01", - "2021-07-01", - "2021-08-01", - "2021-10-01", - "2021-11-01", - "2021-12-01", - "2022-01-01", - "2022-02-01", - "2022-03-01", - "2022-04-01", - "2022-05-01", - "2022-08-01", - "2022-09-10", - "2022-10-01", - "2023-01-01", - "2023-02-01", - "2023-04-01", - "2023-06-01" - ] - }, - "Microsoft.RedHatOpenShift": { - "locations": [ - "2019-12-31-preview", - "2020-04-30", - "2021-09-01-preview", - "2022-04-01", - "2022-09-04", - "2023-04-01" - ], - "locations/openshiftversions": [ - "2022-09-04", - "2023-04-01" - ], - "locations/operationresults": [ - "2020-04-30", - "2021-09-01-preview", - "2022-04-01", - "2022-09-04", - "2023-04-01" - ], - "locations/operationsstatus": [ - "2020-04-30", - "2021-09-01-preview", - "2022-04-01", - "2022-09-04", - "2023-04-01" - ], - "openShiftClusters": [ - "2020-04-30", - "2021-09-01-preview", - "2022-04-01", - "2022-09-04", - "2023-04-01", - "2023-07-01-preview" - ], - "openshiftclusters/machinePool": [ - "2022-09-04", - "2023-04-01", - "2023-07-01-preview" - ], - "openshiftclusters/secret": [ - "2022-09-04", - "2023-04-01", - "2023-07-01-preview" - ], - "openshiftclusters/syncIdentityProvider": [ - "2022-09-04", - "2023-04-01", - "2023-07-01-preview" - ], - "openshiftclusters/syncSet": [ - "2022-09-04", - "2023-04-01", - "2023-07-01-preview" - ], - "operations": [ - "2019-12-31-preview", - "2020-04-30", - "2021-09-01-preview", - "2022-04-01", - "2022-09-04", - "2023-04-01" - ] - }, - "Microsoft.Relay": { - "checkNameAvailability": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "locations": [ - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "locations/namespaceOperationResults": [ - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/authorizationRules": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/hybridConnections": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/hybridConnections/authorizationRules": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/networkRuleSets": [ - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/privateEndpointConnectionProxies": [ - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/privateEndpointConnections": [ - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/wcfRelays": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "namespaces/wcfRelays/authorizationRules": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ], - "operations": [ - "2016-07-01", - "2017-04-01", - "2018-01-01-preview", - "2021-11-01" - ] - }, - "Microsoft.ResourceConnector": { - "appliances": [ - "2021-10-31-preview", - "2022-04-15-preview", - "2022-10-27" - ], - "locations": [ - "2020-09-15-privatepreview", - "2021-10-31-preview", - "2022-04-15-preview", - "2022-10-27" - ], - "locations/operationresults": [ - "2020-07-15-privatepreview", - "2021-10-31-preview" - ], - "locations/operationsstatus": [ - "2020-07-15-privatepreview", - "2021-10-31-preview" - ], - "operations": [ - "2020-07-15-privatepreview", - "2021-02-01", - "2021-10-31-preview", - "2022-04-15-preview" - ] - }, - "Microsoft.ResourceGraph": { - "operations": [ - "2018-09-01-preview", - "2019-04-01", - "2020-04-01-preview", - "2021-03-01", - "2021-06-01-preview", - "2022-10-01" - ], - "queries": [ - "2018-09-01-preview", - "2020-04-01-preview" - ], - "resourceChangeDetails": [ - "2018-09-01-preview", - "2020-04-01-preview", - "2020-09-01-preview" - ], - "resourceChanges": [ - "2018-09-01-preview", - "2020-04-01-preview", - "2020-09-01-preview" - ], - "resources": [ - "2018-09-01-preview", - "2019-04-01", - "2020-04-01-preview", - "2021-03-01", - "2021-06-01-preview", - "2022-10-01" - ], - "resourcesHistory": [ - "2018-09-01-preview", - "2020-04-01-preview", - "2020-09-01-preview", - "2021-06-01-preview" - ], - "subscriptionsStatus": [ - "2018-09-01-preview", - "2019-04-01" - ] - }, - "Microsoft.ResourceHealth": { - "availabilityStatuses": [ - "2015-01-01", - "2017-07-01", - "2018-07-01", - "2018-07-01-preview", - "2018-07-01-rc", - "2018-08-01-preview", - "2018-08-01-rc", - "2020-05-01", - "2020-05-01-preview", - "2022-05-01", - "2022-05-01-preview", - "2022-10-01", - "2022-10-01-preview" - ], - "childAvailabilityStatuses": [ - "2015-01-01-preview", - "2015-01-01-rc", - "2017-07-01", - "2017-07-01-beta", - "2017-07-01-preview", - "2017-07-01-rc", - "2018-07-01-beta", - "2018-07-01-preview", - "2018-07-01-rc", - "2018-08-01-preview", - "2018-08-01-rc", - "2018-11-06-beta", - "2022-10-01", - "2023-07-01-beta" - ], - "childResources": [ - "2015-01-01-preview", - "2015-01-01-rc", - "2017-07-01", - "2017-07-01-beta", - "2017-07-01-preview", - "2017-07-01-rc", - "2018-07-01-beta", - "2018-07-01-preview", - "2018-07-01-rc", - "2018-08-01-preview", - "2018-08-01-rc", - "2018-11-06-beta", - "2022-10-01" - ], - "emergingissues": [ - "2017-07-01-beta", - "2018-07-01", - "2018-07-01-alpha", - "2018-07-01-beta", - "2018-07-01-preview", - "2018-07-01-rc", - "2018-11-06-beta", - "2022-10-01", - "2022-10-01-alpha", - "2022-10-01-beta", - "2022-10-01-preview", - "2022-10-01-rc", - "2023-07-01-alpha", - "2023-07-01-beta" - ], - "events": [ - "2018-07-01", - "2018-07-01-rc", - "2020-09-01-rc", - "2022-05-01", - "2022-05-01-rc", - "2022-10-01", - "2022-10-01-rc" - ], - "metadata": [ - "2018-07-01", - "2018-07-01-alpha", - "2018-07-01-beta", - "2018-07-01-preview", - "2018-07-01-rc", - "2022-10-01", - "2022-10-01-alpha", - "2022-10-01-beta", - "2022-10-01-preview", - "2022-10-01-rc", - "2023-07-01-alpha", - "2023-07-01-beta" - ], - "operations": [ - "2015-01-01", - "2018-07-01", - "2018-07-01-preview", - "2020-05-01", - "2020-05-01-preview", - "2022-05-01", - "2022-05-01-alpha", - "2022-05-01-beta", - "2022-05-01-preview", - "2022-05-01-rc", - "2022-10-01", - "2022-10-01-alpha", - "2022-10-01-beta", - "2022-10-01-preview", - "2022-10-01-rc", - "2023-07-01-alpha", - "2023-07-01-beta" - ] - }, - "Microsoft.Resources": { - "builtInTemplateSpecs": [ - "2022-02-01" - ], - "builtInTemplateSpecs/versions": [ - "2022-02-01" - ], - "bulkDelete": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "calculateTemplateHash": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01", - "2022-09-01", - "2023-07-01" - ], - "changes": [ - "2022-03-01-preview", - "2022-05-01", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "checkPolicyCompliance": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "checkresourcename": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "deployments": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-05-10", - "2019-07-01", - "2019-08-01", - "2019-09-01", - "2019-10-01", - "2020-06-01", - "2020-08-01", - "2020-10-01", - "2021-01-01", - "2021-04-01", - "2022-09-01", - "2023-07-01" - ], - "deployments/operations": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01", - "2020-06-01", - "2020-10-01", - "2021-01-01", - "2021-04-01", - "2022-09-01", - "2023-07-01" - ], - "deploymentScripts": [ - "2019-10-01-preview", - "2020-10-01" - ], - "deploymentScripts/logs": [ - "2019-10-01-preview", - "2020-10-01" - ], - "deploymentStacks": [ - "2022-08-01-preview" - ], - "links": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "locations": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01" - ], - "locations/deploymentScriptOperationResults": [ - "2019-10-01-preview", - "2020-10-01" - ], - "locations/deploymentStackOperationStatus": [ - "2022-08-01-preview" - ], - "notifyResourceJobs": [ - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01" - ], - "operationresults": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01" - ], - "operations": [ - "2015-01-01" - ], - "providers": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "resourceGroups": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-05-10", - "2019-07-01", - "2019-08-01", - "2019-10-01", - "2020-06-01", - "2020-08-01", - "2020-10-01", - "2021-01-01", - "2021-04-01", - "2022-09-01", - "2023-07-01" - ], - "resources": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01" - ], - "snapshots": [ - "2022-11-01-preview" - ], - "subscriptions": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01", - "2019-10-01" - ], - "subscriptions/locations": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "subscriptions/operationresults": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "subscriptions/providers": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "subscriptions/resourceGroups": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "subscriptions/resourcegroups/resources": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01" - ], - "subscriptions/resources": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01" - ], - "subscriptions/tagnames": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2022-09-01", - "2023-07-01" - ], - "subscriptions/tagNames/tagValues": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2022-09-01", - "2023-07-01" - ], - "tagNamespaceOperationResults": [ - "2023-03-01-preview" - ], - "tagnamespaces": [ - "2023-03-01-preview" - ], - "tags": [ - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-10-01", - "2020-06-01", - "2020-08-01", - "2020-10-01", - "2021-01-01", - "2021-04-01", - "2022-09-01", - "2023-07-01" - ], - "templateSpecs": [ - "2019-06-01-preview", - "2021-03-01-preview", - "2021-05-01", - "2022-02-01" - ], - "templateSpecs/versions": [ - "2019-06-01-preview", - "2021-03-01-preview", - "2021-05-01", - "2022-02-01" - ], - "tenants": [ - "2014-04-01-preview", - "2015-01-01", - "2015-11-01", - "2016-02-01", - "2016-06-01", - "2016-07-01", - "2016-09-01", - "2017-03-01", - "2017-05-01", - "2017-05-10", - "2017-06-01", - "2017-08-01", - "2018-01-01", - "2018-02-01", - "2018-05-01", - "2018-07-01", - "2018-08-01", - "2018-09-01", - "2018-11-01", - "2019-03-01", - "2019-04-01", - "2019-05-01", - "2019-09-01", - "2020-01-01" - ], - "validateResources": [ - "2022-06-01" - ] - }, - "Microsoft.SaaS": { - "applications": [ - "2018-03-01-beta" - ], - "checknameavailability": [ - "2018-03-01-beta" - ], - "operationResults": [ - "2018-03-01-beta" - ], - "operations": [ - "2018-03-01-beta" - ], - "resources": [ - "2018-03-01-beta" - ], - "saasresources": [ - "2018-03-01-beta" - ] - }, - "Microsoft.SaaSHub": { - "canCreate": [ - "2023-01-01-preview" - ], - "checkNameAvailability": [ - "2023-01-01-preview" - ], - "cloudServices": [ - "2023-01-01-preview" - ], - "locations": [ - "2023-01-01-preview" - ], - "locations/operationStatuses": [ - "2023-01-01-preview" - ], - "operations": [ - "2023-01-01-preview" - ], - "operationStatuses": [ - "2023-01-01-preview" - ], - "registeredSubscriptions": [ - "2023-01-01-preview" - ] - }, - "Microsoft.Scheduler": { - "jobCollections": [ - "2014-08-01-preview", - "2016-01-01", - "2016-03-01" - ], - "jobCollections/jobs": [ - "2014-08-01-preview", - "2016-01-01", - "2016-03-01" - ] - }, - "Microsoft.Scom": { - "locations": [ - "2021-06-30-preview", - "2022-04-30-preview", - "2022-09-13-preview", - "2023-06-30", - "2023-07-07-preview" - ], - "locations/operationStatuses": [ - "2021-06-30-preview", - "2022-04-30-preview", - "2022-09-13-preview", - "2023-07-07-preview" - ], - "managedInstances": [ - "2021-06-30-preview", - "2022-04-30-preview", - "2022-09-13-preview", - "2023-07-07-preview" - ], - "managedInstances/managedGateways": [ - "2023-07-07-preview" - ], - "managedInstances/monitoredResources": [ - "2023-07-07-preview" - ], - "operations": [ - "2021-06-30-preview", - "2022-04-30-preview", - "2022-09-13-preview", - "2023-06-30", - "2023-07-07-preview" - ] - }, - "Microsoft.ScVmm": { - "availabilitySets": [ - "2020-06-05-preview", - "2022-05-21-preview" - ], - "clouds": [ - "2020-06-05-preview", - "2022-05-21-preview" - ], - "locations": [ - "2020-06-05-preview", - "2022-05-21-preview", - "2023-04-01-preview" - ], - "Locations/OperationStatuses": [ - "2020-06-05-preview", - "2022-05-21-preview", - "2023-04-01-preview" - ], - "operations": [ - "2020-06-05-preview", - "2022-05-21-preview", - "2023-04-01-preview" - ], - "virtualMachines": [ - "2020-06-05-preview", - "2022-05-21-preview" - ], - "virtualMachines/extensions": [ - "2022-05-21-preview" - ], - "virtualMachines/guestAgents": [ - "2022-05-21-preview" - ], - "virtualMachines/hybridIdentityMetadata": [ - "2022-05-21-preview" - ], - "virtualMachineTemplates": [ - "2020-06-05-preview", - "2022-05-21-preview" - ], - "virtualNetworks": [ - "2020-06-05-preview", - "2022-05-21-preview" - ], - "vmmServers": [ - "2020-06-05-preview", - "2022-05-21-preview" - ], - "vmmServers/inventoryItems": [ - "2020-06-05-preview", - "2022-05-21-preview" - ] - }, - "Microsoft.Search": { - "checkNameAvailability": [ - "2015-08-19", - "2019-10-01-Preview", - "2020-03-13", - "2020-08-01", - "2020-08-01-Preview", - "2021-04-01-Preview", - "2021-06-06-Preview", - "2022-09-01" - ], - "checkServiceNameAvailability": [ - "2014-07-31-Preview", - "2015-02-28" - ], - "locations": [ - "2021-06-06-Preview" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2021-06-06-Preview" - ], - "locations/operationResults": [ - "2021-06-06-Preview" - ], - "operations": [ - "2015-02-28", - "2015-08-19", - "2019-10-01-Preview", - "2020-03-13", - "2020-08-01", - "2020-08-01-Preview", - "2021-04-01-Preview", - "2021-06-06-Preview", - "2022-09-01" - ], - "resourceHealthMetadata": [ - "2015-08-19", - "2019-10-01-Preview", - "2020-03-13", - "2020-08-01", - "2020-08-01-Preview", - "2021-04-01-Preview", - "2021-06-06-Preview", - "2022-09-01" - ], - "searchServices": [ - "2014-07-31-Preview", - "2015-02-28", - "2015-08-19", - "2019-10-01-Preview", - "2020-03-13", - "2020-08-01", - "2020-08-01-preview", - "2021-04-01-preview", - "2021-06-06-Preview", - "2022-09-01" - ], - "searchServices/privateEndpointConnections": [ - "2019-10-01-preview", - "2020-03-13", - "2020-08-01", - "2020-08-01-preview", - "2021-04-01-preview", - "2022-09-01" - ], - "searchServices/sharedPrivateLinkResources": [ - "2020-08-01", - "2020-08-01-preview", - "2021-04-01-preview", - "2022-09-01" - ] - }, - "Microsoft.Security": { - "adaptiveNetworkHardenings": [ - "2015-06-01-preview", - "2020-01-01" - ], - "advancedThreatProtectionSettings": [ - "2017-08-01-preview", - "2019-01-01" - ], - "aggregations": [ - "2023-06-01-preview" - ], - "alerts": [ - "2015-06-01-preview", - "2019-01-01", - "2020-01-01", - "2021-01-01", - "2021-11-01", - "2022-01-01" - ], - "alertsSuppressionRules": [ - "2019-01-01-preview" - ], - "allowedConnections": [ - "2015-06-01-preview", - "2020-01-01" - ], - "apiCollections": [ - "2022-11-20-preview" - ], - "applications": [ - "2022-07-01-preview" - ], - "applicationWhitelistings": [ - "2015-06-01-preview", - "2020-01-01" - ], - "assessmentMetadata": [ - "2019-01-01-preview", - "2020-01-01", - "2021-06-01" - ], - "assessments": [ - "2019-01-01-preview", - "2020-01-01", - "2021-06-01" - ], - "assessments/governanceAssignments": [ - "2022-01-01-preview" - ], - "assignments": [ - "2021-08-01-preview" - ], - "autoDismissAlertsRules": [ - "2019-01-01-preview" - ], - "automations": [ - "2019-01-01-preview" - ], - "autoProvisioningSettings": [ - "2017-08-01-preview", - "2019-01-01" - ], - "complianceResults": [ - "2017-08-01" - ], - "Compliances": [ - "2017-08-01-preview" - ], - "connectors": [ - "2020-01-01-preview" - ], - "customAssessmentAutomations": [ - "2021-07-01-alpha", - "2021-07-01-beta", - "2021-07-01-preview" - ], - "customEntityStoreAssignments": [ - "2021-07-01-alpha", - "2021-07-01-beta", - "2021-07-01-preview" - ], - "customRecommendations": [ - "2023-05-01-preview" - ], - "dataCollectionAgents": [ - "2015-06-01-preview" - ], - "dataScanners": [ - "2021-12-01-preview" - ], - "defenderForStorageSettings": [ - "2017-08-01-preview", - "2022-12-01-preview" - ], - "deviceSecurityGroups": [ - "2017-08-01-preview", - "2019-08-01" - ], - "discoveredSecuritySolutions": [ - "2015-06-01-preview", - "2020-01-01" - ], - "externalSecuritySolutions": [ - "2015-06-01-preview", - "2020-01-01" - ], - "governanceRules": [ - "2022-01-01-preview" - ], - "healthReports": [ - "2023-02-01-preview", - "2023-05-01-preview" - ], - "informationProtectionPolicies": [ - "2017-08-01-preview" - ], - "ingestionSettings": [ - "2021-01-15-preview" - ], - "integrations": [ - "2023-07-01-preview" - ], - "iotSecuritySolutions": [ - "2017-08-01-preview", - "2019-08-01" - ], - "iotSecuritySolutions/analyticsModels": [ - "2017-08-01-preview", - "2019-08-01" - ], - "iotSecuritySolutions/analyticsModels/aggregatedAlerts": [ - "2017-08-01-preview", - "2019-08-01" - ], - "iotSecuritySolutions/analyticsModels/aggregatedRecommendations": [ - "2017-08-01-preview", - "2019-08-01" - ], - "iotSecuritySolutions/iotAlerts": [ - "2019-08-01" - ], - "iotSecuritySolutions/iotAlertTypes": [ - "2019-08-01" - ], - "iotSecuritySolutions/iotRecommendations": [ - "2019-08-01" - ], - "iotSecuritySolutions/iotRecommendationTypes": [ - "2019-08-01" - ], - "jitNetworkAccessPolicies": [ - "2015-06-01-preview", - "2020-01-01" - ], - "jitPolicies": [ - "2015-06-01-preview" - ], - "locations": [ - "2015-06-01-preview" - ], - "locations/alerts": [ - "2015-06-01-preview", - "2019-01-01", - "2020-01-01", - "2021-01-01", - "2021-11-01", - "2022-01-01" - ], - "locations/allowedConnections": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/applicationWhitelistings": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/discoveredSecuritySolutions": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/externalSecuritySolutions": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/jitNetworkAccessPolicies": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/securitySolutions": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/securitySolutionsReferenceData": [ - "2015-06-01-preview", - "2020-01-01" - ], - "locations/tasks": [ - "2015-06-01-preview" - ], - "locations/topologies": [ - "2015-06-01-preview", - "2020-01-01" - ], - "MdeOnboardings": [ - "2021-10-01-preview" - ], - "operations": [ - "2015-06-01-preview", - "2020-01-01" - ], - "policies": [ - "2015-06-01-preview" - ], - "pricings": [ - "2017-08-01-preview", - "2018-06-01", - "2022-03-01", - "2023-01-01" - ], - "pricings/securityOperators": [ - "2023-01-01-preview" - ], - "query": [ - "2022-04-01-alpha", - "2022-04-01-beta", - "2022-04-01-preview" - ], - "regulatoryComplianceStandards": [ - "2019-01-01", - "2019-01-01-preview" - ], - "regulatoryComplianceStandards/regulatoryComplianceControls": [ - "2019-01-01", - "2019-01-01-preview" - ], - "regulatoryComplianceStandards/regulatoryComplianceControls/regulatoryComplianceAssessments": [ - "2019-01-01", - "2019-01-01-preview" - ], - "secureScoreControlDefinitions": [ - "2020-01-01", - "2020-01-01-preview" - ], - "secureScoreControls": [ - "2020-01-01", - "2020-01-01-preview" - ], - "secureScores": [ - "2020-01-01", - "2020-01-01-preview" - ], - "secureScores/secureScoreControls": [ - "2020-01-01", - "2020-01-01-preview" - ], - "securityConnectors": [ - "2021-07-01-preview", - "2021-12-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2023-03-01-preview" - ], - "securityConnectors/devops": [ - "2023-09-01-preview" - ], - "securityConnectors/devops/azureDevOpsOrgs": [ - "2023-09-01-preview" - ], - "securityConnectors/devops/azureDevOpsOrgs/projects": [ - "2023-09-01-preview" - ], - "securityConnectors/devops/azureDevOpsOrgs/projects/repos": [ - "2023-09-01-preview" - ], - "securityContacts": [ - "2017-08-01-preview", - "2020-01-01-preview" - ], - "securitySolutions": [ - "2015-06-01-preview", - "2020-01-01" - ], - "securitySolutionsReferenceData": [ - "2015-06-01-preview", - "2020-01-01" - ], - "securityStandards": [ - "2023-05-01-preview" - ], - "securityStatuses": [ - "2015-06-01-preview" - ], - "securityStatusesSummaries": [ - "2015-06-01-preview" - ], - "sensitivitySettings": [ - "2023-02-15-preview" - ], - "serverVulnerabilityAssessments": [ - "2015-06-01-preview", - "2020-01-01" - ], - "serverVulnerabilityAssessmentsSettings": [ - "2022-01-01-preview", - "2023-05-01" - ], - "settings": [ - "2017-08-01-preview", - "2019-01-01", - "2021-06-01", - "2021-07-01", - "2022-05-01" - ], - "sqlVulnerabilityAssessments": [ - "2020-07-01-preview", - "2023-02-01-preview" - ], - "sqlVulnerabilityAssessments/baselineRules": [ - "2020-07-01-preview", - "2023-02-01-preview" - ], - "standardAssignments": [ - "2023-05-01-preview" - ], - "standards": [ - "2021-08-01-preview" - ], - "subAssessments": [ - "2019-01-01-preview", - "2020-01-01" - ], - "tasks": [ - "2015-06-01-preview" - ], - "topologies": [ - "2015-06-01-preview", - "2020-01-01" - ], - "vmScanners": [ - "2022-03-01-preview" - ], - "workspaceSettings": [ - "2017-08-01-preview", - "2019-01-01" - ] - }, - "Microsoft.SecurityAndCompliance": { - "privateLinkServicesForEDMUpload": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForEDMUpload/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365ComplianceCenter": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365SecurityCenter": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForMIPPolicySync": [ - "2021-03-08" - ], - "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ - "2021-03-08" - ], - "privateLinkServicesForO365ManagementActivityAPI": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForSCCPowershell": [ - "2021-01-11", - "2021-03-08" - ], - "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ - "2021-01-11", - "2021-03-08" - ] - }, - "Microsoft.SecurityDetonation": { - "chambers": [ - "2019-08-01-preview", - "2020-07-01-preview", - "2021-07-01", - "2022-07-01" - ], - "checkNameAvailability": [ - "2019-08-01-preview", - "2020-07-01-preview", - "2021-07-01", - "2022-07-01" - ], - "operationResults": [ - "2019-08-01-preview", - "2020-07-01-preview", - "2021-07-01", - "2022-07-01" - ], - "operations": [ - "2019-08-01-preview", - "2020-07-01-preview", - "2021-07-01", - "2022-07-01" - ] - }, - "Microsoft.SecurityDevOps": { - "azureDevOpsConnectors": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "azureDevOpsConnectors/orgs": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "azureDevOpsConnectors/orgs/projects": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "azureDevOpsConnectors/orgs/projects/repos": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "azureDevOpsConnectors/repos": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "azureDevOpsConnectors/stats": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "gitHubConnectors": [ - "2021-10-01-preview", - "2022-09-01-preview", - "2023-06-01-preview" - ], - "gitHubConnectors/gitHubInstallations": [ - "2023-06-01-preview" - ], - "gitHubConnectors/gitHubInstallations/gitHubRepositories": [ - "2023-06-01-preview" - ], - "gitHubConnectors/owners": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "gitHubConnectors/owners/repos": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "gitHubConnectors/repos": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "gitHubConnectors/stats": [ - "2022-09-01-preview", - "2023-06-01-preview" - ], - "gitLabConnectors": [ - "2023-06-01-preview" - ], - "gitLabConnectors/groups": [ - "2023-06-01-preview" - ], - "gitLabConnectors/groups/projects": [ - "2023-06-01-preview" - ], - "gitLabConnectors/projects": [ - "2023-06-01-preview" - ], - "gitLabConnectors/stats": [ - "2023-06-01-preview" - ], - "Locations": [ - "2021-10-01-preview", - "2022-09-01-preview", - "2023-06-01-preview" - ], - "Locations/OperationStatuses": [ - "2021-10-01-preview", - "2022-09-01-preview", - "2023-06-01-preview" - ], - "Operations": [ - "2021-10-01-preview", - "2022-09-01-preview", - "2023-06-01-preview" - ] - }, - "Microsoft.SecurityInsights": { - "aggregations": [ - "2019-01-01-preview" - ], - "alertRules": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "alertRules/actions": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "alertRuleTemplates": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "automationRules": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "billingStatistics": [ - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "bookmarks": [ - "2019-01-01-preview", - "2020-01-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "bookmarks/relations": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "cases": [ - "2019-01-01-preview" - ], - "cases/comments": [ - "2019-01-01-preview" - ], - "cases/relations": [ - "2019-01-01-preview" - ], - "confidentialWatchlists": [ - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "contentPackages": [ - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "contentProductPackages": [ - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "contentProductTemplates": [ - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "contentTemplates": [ - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "dataConnectorDefinitions": [ - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "dataConnectors": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "dataConnectorsCheckRequirements": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "dynamicSummaries": [ - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "enrichment": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "entities": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "entityQueries": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "entityQueryTemplates": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "exportConnections": [ - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "fileImports": [ - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "hunts": [ - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "hunts/comments": [ - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "hunts/relations": [ - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "huntsessions": [ - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "incidents": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "incidents/comments": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "incidents/relations": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "incidents/tasks": [ - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "listrepositories": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "metadata": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "MitreCoverageRecords": [ - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "officeConsents": [ - "2019-01-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "onboardingStates": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "operations": [ - "2019-01-01-preview", - "2020-01-01", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "overview": [ - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "recommendations": [ - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "securityMLAnalyticsSettings": [ - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "settings": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "sourcecontrols": [ - "2021-03-01-preview", - "2021-09-01-preview", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "threatIntelligence": [ - "2019-01-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "threatIntelligence/indicators": [ - "2019-01-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "triggeredAnalyticsRuleRuns": [ - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "watchlists": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "watchlists/watchlistItems": [ - "2019-01-01-preview", - "2021-03-01-preview", - "2021-04-01", - "2021-09-01-preview", - "2021-10-01", - "2021-10-01-preview", - "2022-01-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-06-01-preview", - "2022-07-01-preview", - "2022-08-01", - "2022-08-01-preview", - "2022-09-01-preview", - "2022-10-01-preview", - "2022-11-01", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-02-01", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview" - ], - "workspaceManagerAssignments": [ - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "workspaceManagerConfigurations": [ - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "workspaceManagerGroups": [ - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ], - "workspaceManagerMembers": [ - "2023-03-01-preview", - "2023-04-01-preview", - "2023-05-01-preview", - "2023-06-01-preview", - "2023-07-01-preview", - "2023-08-01-preview" - ] - }, - "Microsoft.SerialConsole": { - "consoleServices": [ - "2018-05-01" - ], - "locations": [ - "2018-05-01" - ], - "locations/consoleServices": [ - "2018-05-01" - ], - "operations": [ - "2018-05-01" - ], - "serialPorts": [ - "2018-05-01" - ] - }, - "Microsoft.ServiceBus": { - "checkNameAvailability": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "checkNamespaceAvailability": [ - "2014-09-01", - "2015-08-01" - ], - "locations": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "locations/namespaceOperationResults": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "locations/operationStatus": [ - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/AuthorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/disasterRecoveryConfigs": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/disasterrecoveryconfigs/checkNameAvailability": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/eventgridfilters": [ - "2014-09-01", - "2015-08-01", - "2017-04-01" - ], - "namespaces/ipfilterrules": [ - "2018-01-01-preview" - ], - "namespaces/messagingplan": [ - "2014-09-01" - ], - "namespaces/migrationConfigurations": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/networkRuleSets": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/privateEndpointConnectionProxies": [ - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/privateEndpointConnections": [ - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/queues": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/queues/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics/authorizationRules": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics/subscriptions": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/topics/subscriptions/rules": [ - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "namespaces/virtualnetworkrules": [ - "2018-01-01-preview" - ], - "operations": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview", - "2022-10-01-preview" - ], - "premiumMessagingRegions": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview" - ], - "sku": [ - "2014-09-01", - "2015-08-01", - "2017-04-01", - "2018-01-01-preview", - "2021-01-01-preview", - "2021-06-01-preview", - "2021-11-01", - "2022-01-01-preview" - ] - }, - "Microsoft.ServiceFabric": { - "clusters": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2021-06-01" - ], - "clusters/applications": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2021-06-01" - ], - "clusters/applications/services": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2021-06-01" - ], - "clusters/applicationTypes": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2021-06-01" - ], - "clusters/applicationTypes/versions": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2021-06-01" - ], - "locations": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-02-01-preview", - "2020-02-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2020-12-15-preview", - "2020-12-15-privatepreview", - "2021-06-01" - ], - "locations/clusterVersions": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-02-01-preview", - "2020-02-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2020-12-15-preview", - "2020-12-15-privatepreview", - "2021-06-01" - ], - "locations/environments": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-02-01-preview", - "2020-02-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2020-12-15-preview", - "2020-12-15-privatepreview", - "2021-06-01" - ], - "locations/environments/managedClusterVersions": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "locations/managedClusterOperationResults": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "locations/managedClusterOperations": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "locations/managedClusterVersions": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "locations/managedUnsupportedVMSizes": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "locations/operationResults": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-02-01-preview", - "2020-02-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2020-12-15-preview", - "2020-12-15-privatepreview", - "2021-06-01" - ], - "locations/operations": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-02-01-preview", - "2020-02-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2020-12-15-preview", - "2020-12-15-privatepreview", - "2021-06-01" - ], - "locations/unsupportedVMSizes": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-02-01-preview", - "2020-02-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2020-12-15-preview", - "2020-12-15-privatepreview", - "2021-06-01" - ], - "managedClusters": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "managedclusters/applications": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "managedclusters/applications/services": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "managedclusters/applicationTypes": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "managedclusters/applicationTypes/versions": [ - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "managedClusters/nodeTypes": [ - "2020-01-01-preview", - "2021-01-01-preview", - "2021-05-01", - "2021-07-01-preview", - "2021-09-01-privatepreview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview", - "2023-03-01-preview", - "2023-07-01-preview" - ], - "operations": [ - "2016-03-01", - "2016-09-01", - "2017-07-01-preview", - "2017-07-01-privatepreview", - "2018-02-01", - "2018-02-01-privatepreview", - "2019-03-01", - "2019-03-01-preview", - "2019-03-01-privatepreview", - "2019-06-01-preview", - "2019-11-01-preview", - "2019-11-01-privatepreview", - "2020-01-01-preview", - "2020-02-01-preview", - "2020-02-01-privatepreview", - "2020-03-01", - "2020-12-01-preview", - "2020-12-01-privatepreview", - "2020-12-15-preview", - "2020-12-15-privatepreview", - "2021-01-01-preview", - "2021-05-01", - "2021-06-01", - "2021-07-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-02-01-preview", - "2022-06-01-preview", - "2022-08-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ] - }, - "Microsoft.ServiceFabricMesh": { - "applications": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "gateways": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "locations": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "locations/applicationOperations": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "locations/gatewayOperations": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "locations/networkOperations": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "locations/secretOperations": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "locations/volumeOperations": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "networks": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "operations": [ - "2018-09-01-preview" - ], - "secrets": [ - "2018-07-01-preview", - "2018-09-01-preview" - ], - "secrets/values": [ - "2018-09-01-preview" - ], - "volumes": [ - "2018-07-01-preview", - "2018-09-01-preview" - ] - }, - "Microsoft.ServiceLinker": { - "configurationNames": [ - "2022-11-01-preview", - "2023-04-01-preview" - ], - "daprConfigurations": [ - "2023-04-01-preview" - ], - "dryruns": [ - "2021-12-01-privatepreview", - "2022-11-01-preview", - "2023-04-01-preview" - ], - "linkers": [ - "2021-11-01-preview", - "2022-01-01-preview", - "2022-05-01", - "2022-11-01-preview", - "2023-04-01-preview" - ], - "locations": [ - "2021-01-01-privatepreview", - "2021-11-01-preview", - "2022-05-01", - "2022-07-01-privatepreview", - "2022-11-01-preview", - "2023-04-01-preview" - ], - "locations/connectors": [ - "2022-11-01-preview", - "2023-04-01-preview" - ], - "locations/dryruns": [ - "2022-11-01-preview", - "2023-04-01-preview" - ], - "locations/operationStatuses": [ - "2021-01-01-privatepreview", - "2021-11-01-preview", - "2022-05-01" - ], - "operations": [ - "2021-01-01-privatepreview", - "2021-11-01-preview", - "2022-05-01" - ] - }, - "Microsoft.ServiceNetworking": { - "locations": [ - "2022-10-01-preview", - "2023-05-01-preview" - ], - "locations/operationResults": [ - "2022-10-01-preview", - "2023-05-01-preview" - ], - "locations/operations": [ - "2022-10-01-preview", - "2023-05-01-preview" - ], - "operations": [ - "2022-10-01-preview", - "2023-05-01-preview" - ], - "trafficControllers": [ - "2022-10-01-preview", - "2023-05-01-preview" - ], - "trafficControllers/associations": [ - "2022-10-01-preview", - "2023-05-01-preview" - ], - "trafficControllers/frontends": [ - "2022-10-01-preview", - "2023-05-01-preview" - ] - }, - "Microsoft.ServicesHub": { - "connectors": [ - "2019-08-15-preview", - "2023-04-17-preview" - ], - "getRecommendationsContent": [ - "2023-03-24-preview" - ], - "operations": [ - "2019-08-15-preview" - ], - "supportOfferingEntitlement": [ - "2019-08-15-preview" - ], - "workspaces": [ - "2019-08-15-preview" - ] - }, - "Microsoft.SignalRService": { - "locations": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "locations/checkNameAvailability": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "locations/operationResults": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "locations/operationStatuses": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "locations/usages": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "operations": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "signalR": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "signalR/customCertificates": [ - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "signalR/customDomains": [ - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "SignalR/eventGridFilters": [ - "2018-03-01-preview", - "2018-10-01", - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "signalR/privateEndpointConnections": [ - "2020-05-01", - "2020-07-01-preview", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "signalR/replicas": [ - "2023-03-01-preview", - "2023-06-01-preview" - ], - "signalR/sharedPrivateLinkResources": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-02-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "webPubSub": [ - "2020-05-01", - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "webPubSub/customCertificates": [ - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "webPubSub/customDomains": [ - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "webPubSub/hubs": [ - "2021-10-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "webPubSub/privateEndpointConnections": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ], - "webPubSub/replicas": [ - "2023-03-01-preview", - "2023-06-01-preview" - ], - "webPubSub/sharedPrivateLinkResources": [ - "2021-04-01-preview", - "2021-06-01-preview", - "2021-09-01-preview", - "2021-10-01", - "2022-08-01-preview", - "2023-02-01", - "2023-03-01-preview", - "2023-06-01-preview" - ] - }, - "Microsoft.Singularity": { - "accounts": [ - "2020-12-01-preview" - ], - "accounts/accountQuotaPolicies": [ - "2020-12-01-preview" - ], - "accounts/groupPolicies": [ - "2020-12-01-preview" - ], - "accounts/jobs": [ - "2020-12-01-preview" - ], - "accounts/models": [ - "2020-12-01-preview" - ], - "accounts/networks": [ - "2020-12-01-preview" - ], - "accounts/secrets": [ - "2020-12-01-preview" - ], - "accounts/storageContainers": [ - "2020-12-01-preview" - ], - "images": [ - "2020-12-01-preview" - ], - "locations": [ - "2020-12-01-preview" - ], - "locations/instanceTypeSeries": [ - "2020-12-01-preview" - ], - "locations/instanceTypeSeries/instanceTypes": [ - "2020-12-01-preview" - ], - "locations/operationResults": [ - "2020-12-01-preview" - ], - "locations/operationStatus": [ - "2020-12-01-preview" - ], - "operations": [ - "2020-12-01-preview" - ], - "quotas": [ - "2020-12-01-preview" - ] - }, - "Microsoft.SoftwarePlan": { - "hybridUseBenefits": [ - "2019-06-01-preview", - "2019-12-01" - ], - "operations": [ - "2019-06-01-preview" - ] - }, - "Microsoft.Solutions": { - "applianceDefinitions": [ - "2016-09-01-preview" - ], - "appliances": [ - "2016-09-01-preview" - ], - "applicationDefinitions": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ], - "applications": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ], - "jitRequests": [ - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ], - "locations": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ], - "locations/operationstatuses": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ], - "Operations": [ - "2017-09-01", - "2017-12-01", - "2018-02-01", - "2018-03-01", - "2018-06-01", - "2018-09-01-preview", - "2019-07-01", - "2020-08-21-preview", - "2021-02-01-preview", - "2021-07-01" - ] - }, - "Microsoft.Sql": { - "checkNameAvailability": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "instancePools": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "locations/administratorAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/administratorOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/advancedThreatProtectionAzureAsyncOperation": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/advancedThreatProtectionOperationResults": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/auditingSettingsAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/auditingSettingsOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/capabilities": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/connectionPoliciesAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/connectionPoliciesOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/databaseAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/databaseEncryptionProtectorRevalidateAzureAsyncOperation": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/databaseEncryptionProtectorRevalidateOperationResults": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/databaseEncryptionProtectorRevertAzureAsyncOperation": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/databaseEncryptionProtectorRevertOperationResults": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/databaseOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/databaseRestoreAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/deleteVirtualNetworkOrSubnetsAzureAsyncOperation": [ - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/deleteVirtualNetworkOrSubnetsOperationResults": [ - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/devOpsAuditingSettingsAzureAsyncOperation": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/devOpsAuditingSettingsOperationResults": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/distributedAvailabilityGroupsAzureAsyncOperation": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/distributedAvailabilityGroupsOperationResults": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/dnsAliasAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/dnsAliasOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/elasticPoolAzureAsyncOperation": [ - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/elasticPoolOperationResults": [ - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/encryptionProtectorAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/encryptionProtectorOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/extendedAuditingSettingsAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/extendedAuditingSettingsOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/externalPolicyBasedAuthorizationsAzureAsycOperation": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/externalPolicyBasedAuthorizationsOperationResults": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/failoverGroupAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/failoverGroupOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/firewallRulesAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/firewallRulesOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/importExportAzureAsyncOperation": [ - "2020-02-02-preview", - "2020-08-01", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/importExportOperationResults": [ - "2020-02-02-preview", - "2020-08-01", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/instanceFailoverGroupAzureAsyncOperation": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/instanceFailoverGroupOperationResults": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/instanceFailoverGroups": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/instancePoolAzureAsyncOperation": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/instancePoolOperationResults": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/ipv6FirewallRulesAzureAsyncOperation": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/ipv6FirewallRulesOperationResults": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/jobAgentAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/jobAgentOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/ledgerDigestUploadsAzureAsyncOperation": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/ledgerDigestUploadsOperationResults": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionBackupAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionBackupOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionBackups": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionManagedInstanceBackupAzureAsyncOperation": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionManagedInstanceBackupOperationResults": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionManagedInstanceBackups": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionManagedInstances": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionPolicyAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionPolicyOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/longTermRetentionServers": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseCompleteRestoreAzureAsyncOperation": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseCompleteRestoreOperationResults": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseMoveAzureAsyncOperation": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseMoveOperationResults": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseRestoreAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDatabaseRestoreOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDnsAliasAsyncOperation": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedDnsAliasOperationResults": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceAdvancedThreatProtectionAzureAsyncOperation": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceAdvancedThreatProtectionOperationResults": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceDtcAzureAsyncOperation": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceEncryptionProtectorAzureAsyncOperation": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceEncryptionProtectorOperationResults": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceKeyAzureAsyncOperation": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceKeyOperationResults": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceLongTermRetentionPolicyAzureAsyncOperation": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceLongTermRetentionPolicyOperationResults": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstancePrivateEndpointConnectionAzureAsyncOperation": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstancePrivateEndpointConnectionOperationResults": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstancePrivateEndpointConnectionProxyAzureAsyncOperation": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstancePrivateEndpointConnectionProxyOperationResults": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceTdeCertAzureAsyncOperation": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedInstanceTdeCertOperationResults": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedLedgerDigestUploadsAzureAsyncOperation": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedLedgerDigestUploadsOperationResults": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedServerSecurityAlertPoliciesAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedServerSecurityAlertPoliciesOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedShortTermRetentionPolicyAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedShortTermRetentionPolicyOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedtransparentDataEncryptionAzureAsyncOperation": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/managedtransparentDataEncryptionOperationResults": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/notifyAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/outboundFirewallRulesAzureAsyncOperation": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/outboundFirewallRulesOperationResults": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/privateEndpointConnectionAzureAsyncOperation": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/privateEndpointConnectionOperationResults": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/privateEndpointConnectionProxyOperationResults": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/refreshExternalGovernanceStatusAzureAsyncOperation": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/refreshExternalGovernanceStatusMIAzureAsyncOperation": [ - "2023-02-01-preview" - ], - "locations/refreshExternalGovernanceStatusMIOperationResults": [ - "2023-02-01-preview" - ], - "locations/refreshExternalGovernanceStatusOperationResults": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/replicationLinksAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/replicationLinksOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/securityAlertPoliciesAzureAsyncOperation": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/securityAlertPoliciesOperationResults": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverAdministratorAzureAsyncOperation": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverAdministratorOperationResults": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverConfigurationOptionAzureAsyncOperation": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverKeyAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverKeyOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverTrustCertificatesAzureAsyncOperation": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverTrustCertificatesOperationResults": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverTrustGroupAzureAsyncOperation": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverTrustGroupOperationResults": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/serverTrustGroups": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/shortTermRetentionPolicyAzureAsyncOperation": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/shortTermRetentionPolicyOperationResults": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/sqlVulnerabilityAssessmentAzureAsyncOperation": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/sqlVulnerabilityAssessmentOperationResults": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/startManagedInstanceAzureAsyncOperation": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/startManagedInstanceOperationResults": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/stopManagedInstanceAzureAsyncOperation": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/stopManagedInstanceOperationResults": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/syncAgentOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/syncDatabaseIds": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/syncGroupAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/syncGroupOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/syncMemberOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/tdeCertAzureAsyncOperation": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/tdeCertOperationResults": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/transparentDataEncryptionAzureAsyncOperation": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/transparentDataEncryptionOperationResults": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/updateManagedInstanceDnsServersAzureAsyncOperation": [ - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/updateManagedInstanceDnsServersOperationResults": [ - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/usages": [ - "2014-04-01-preview", - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/virtualClusterAzureAsyncOperation": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/virtualClusterOperationResults": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/virtualNetworkRulesAzureAsyncOperation": [ - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/virtualNetworkRulesOperationResults": [ - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/vulnerabilityAssessmentScanAzureAsyncOperation": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "locations/vulnerabilityAssessmentScanOperationResults": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/administrators": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/advancedThreatProtectionSettings": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/azureADOnlyAuthentications": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/advancedThreatProtectionSettings": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/backupLongTermRetentionPolicies": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/backupShortTermRetentionPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/ledgerDigestUploads": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/schemas/tables/columns/sensitivityLabels": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/securityAlertPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/transparentDataEncryption": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/vulnerabilityAssessments": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/databases/vulnerabilityAssessments/rules/baselines": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/distributedAvailabilityGroups": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/dnsAliases": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/dtc": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/encryptionProtector": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/keys": [ - "2017-10-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/metricDefinitions": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/metrics": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/privateEndpointConnections": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/recoverableDatabases": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/securityAlertPolicies": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/serverConfigurationOptions": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/serverTrustCertificates": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/sqlAgent": [ - "2018-06-01", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/startStopSchedules": [ - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/tdeCertificates": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "managedInstances/vulnerabilityAssessments": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "operations": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/administratorOperationResults": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/administrators": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/advancedThreatProtectionSettings": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/advisors": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/aggregatedDatabaseMetrics": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/auditingPolicies": [ - "2014-04-01" - ], - "servers/auditingSettings": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/automaticTuning": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/azureADOnlyAuthentications": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/communicationLinks": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/connectionPolicies": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-01-01", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/advancedThreatProtectionSettings": [ - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/advisors": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/auditingPolicies": [ - "2014-04-01" - ], - "servers/databases/auditingSettings": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/auditRecords": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/automaticTuning": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/backupLongTermRetentionPolicies": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/backupShortTermRetentionPolicies": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/connectionPolicies": [ - "2014-04-01" - ], - "servers/databases/dataMaskingPolicies": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/dataMaskingPolicies/rules": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/extendedAuditingSettings": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/extensions": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/geoBackupPolicies": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/ledgerDigestUploads": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/maintenanceWindows": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/metricDefinitions": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/databases/metrics": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/databases/recommendedSensitivityLabels": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/schemas/tables/columns/sensitivityLabels": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/securityAlertPolicies": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/sqlvulnerabilityassessments": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/sqlVulnerabilityAssessments/baselines": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/sqlVulnerabilityAssessments/baselines/rules": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/syncGroups": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/syncGroups/syncMembers": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/topQueries": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/databases/topQueries/queryText": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/databases/transparentDataEncryption": [ - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/VulnerabilityAssessment": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/vulnerabilityAssessments": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/vulnerabilityAssessments/rules/baselines": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/VulnerabilityAssessmentScans": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/VulnerabilityAssessmentSettings": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/workloadGroups": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databases/workloadGroups/workloadClassifiers": [ - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/databaseSecurityPolicies": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/devOpsAuditingSettings": [ - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/disasterRecoveryConfiguration": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/dnsAliases": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/elasticPoolEstimates": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/elasticPools": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01", - "2015-05-01-preview", - "2015-09-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/elasticPools/advisors": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/elasticpools/metricdefinitions": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/elasticpools/metrics": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/encryptionProtector": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/extendedAuditingSettings": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/failoverGroups": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/failoverGroups/tryPlannedBeforeForcedFailover": [ - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/firewallRules": [ - "2014-04-01", - "2015-05-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/import": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/importExportOperationResults": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/ipv6FirewallRules": [ - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/jobAccounts": [ - "2015-05-01-preview" - ], - "servers/jobAgents": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/jobAgents/credentials": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/jobAgents/jobs": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/jobAgents/jobs/executions": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/jobAgents/jobs/steps": [ - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/jobAgents/targetGroups": [ - "2017-03-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/keys": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/operationResults": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/outboundFirewallRules": [ - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/privateEndpointConnections": [ - "2018-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/recommendedElasticPools": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/recoverableDatabases": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/restorableDroppedDatabases": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/securityAlertPolicies": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/serviceObjectives": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview" - ], - "servers/sqlVulnerabilityAssessments": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/sqlVulnerabilityAssessments/baselines": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/sqlVulnerabilityAssessments/baselines/rules": [ - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/syncAgents": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/tdeCertificates": [ - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/usages": [ - "2014-01-01", - "2014-04-01", - "2014-04-01-preview", - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/virtualNetworkRules": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "servers/vulnerabilityAssessments": [ - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ], - "virtualClusters": [ - "2015-05-01-preview", - "2017-03-01-preview", - "2017-10-01-preview", - "2018-06-01-preview", - "2019-06-01-preview", - "2020-02-02-preview", - "2020-08-01-preview", - "2020-11-01-preview", - "2021-02-01-preview", - "2021-05-01-preview", - "2021-08-01-preview", - "2021-11-01", - "2021-11-01-preview", - "2022-02-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2023-02-01-preview" - ] - }, - "Microsoft.SqlVirtualMachine": { - "Locations": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "Locations/availabilityGroupListenerOperationResults": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "Locations/OperationTypes": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "Locations/registerSqlVmCandidate": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "Locations/sqlVirtualMachineGroupOperationResults": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "Locations/sqlVirtualMachineOperationResults": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "operations": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "sqlVirtualMachineGroups": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "sqlVirtualMachineGroups/availabilityGroupListeners": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ], - "sqlVirtualMachines": [ - "2017-03-01-preview", - "2021-11-01-preview", - "2022-02-01", - "2022-02-01-preview", - "2022-07-01-preview", - "2022-08-01-preview", - "2023-01-01-preview" - ] - }, - "Microsoft.StandbyPool": { - "Locations": [ - "2023-06-01-preview" - ], - "Locations/OperationStatuses": [ - "2023-06-01-preview" - ] - }, - "Microsoft.Storage": { - "checkNameAvailability": [ - "2015-05-01-preview", - "2015-06-15", - "2016-01-01", - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "deletedAccounts": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "locations": [ - "2016-01-01", - "2016-07-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "locations/asyncoperations": [ - "2015-05-01-preview", - "2015-06-15", - "2016-01-01", - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "locations/checkNameAvailability": [ - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "locations/deletedAccounts": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2016-07-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "locations/usages": [ - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "operations": [ - "2015-05-01-preview", - "2015-06-15", - "2016-01-01", - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts": [ - "2015-05-01-preview", - "2015-06-15", - "2016-01-01", - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/blobServices": [ - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/blobServices/containers": [ - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/blobServices/containers/immutabilityPolicies": [ - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/encryptionScopes": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/fileServices": [ - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/fileServices/shares": [ - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/inventoryPolicies": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/listAccountSas": [ - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/listServiceSas": [ - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/localUsers": [ - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/managementPolicies": [ - "2018-03-01-preview", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/objectReplicationPolicies": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/privateEndpointConnections": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/queueServices": [ - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/queueServices/queues": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/services": [ - "2014-04-01" - ], - "storageAccounts/services/metricDefinitions": [ - "2014-04-01" - ], - "storageAccounts/storageTaskAssignments": [ - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/tableServices": [ - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageAccounts/tableServices/tables": [ - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "storageTasks": [ - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ], - "usages": [ - "2015-05-01-preview", - "2015-06-15", - "2016-01-01", - "2016-05-01", - "2016-12-01", - "2017-06-01", - "2017-10-01", - "2018-02-01", - "2018-03-01-preview", - "2018-07-01", - "2018-11-01", - "2019-04-01", - "2019-06-01", - "2020-08-01-preview", - "2021-01-01", - "2021-02-01", - "2021-04-01", - "2021-05-01", - "2021-06-01", - "2021-08-01", - "2021-09-01", - "2022-05-01", - "2022-09-01", - "2023-01-01" - ] - }, - "Microsoft.Storage.Admin": { - "locations/quotas": [ - "2019-08-08" - ], - "locations/settings": [ - "2019-08-08" - ], - "storageServices": [ - "2019-08-08" - ] - }, - "Microsoft.StorageCache": { - "amlFilesystems": [ - "2021-11-01-preview", - "2023-03-01-preview", - "2023-05-01" - ], - "caches": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2021-10-01-preview", - "2022-01-01", - "2022-05-01", - "2022-09-01-preview", - "2023-01-01", - "2023-03-01-preview", - "2023-05-01" - ], - "caches/storageTargets": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2021-10-01-preview", - "2022-01-01", - "2022-05-01", - "2022-09-01-preview", - "2023-01-01", - "2023-03-01-preview", - "2023-05-01" - ], - "checkAmlFSSubnets": [ - "2021-11-01-preview", - "2023-03-01-preview", - "2023-05-01" - ], - "getRequiredAmlFSSubnetsSize": [ - "2021-11-01-preview", - "2023-03-01-preview", - "2023-05-01" - ], - "locations": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2021-10-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-05-01", - "2022-09-01-preview", - "2023-01-01", - "2023-03-01-preview", - "2023-05-01" - ], - "locations/ascoperations": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2021-10-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-05-01", - "2022-09-01-preview", - "2023-01-01", - "2023-03-01-preview", - "2023-05-01" - ], - "locations/usages": [ - "2022-01-01", - "2022-05-01", - "2022-09-01-preview", - "2023-01-01", - "2023-03-01-preview", - "2023-05-01" - ], - "operations": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2021-10-01-preview", - "2021-11-01-preview", - "2022-01-01", - "2022-05-01", - "2022-09-01-preview", - "2023-01-01", - "2023-03-01-preview", - "2023-05-01" - ], - "usageModels": [ - "2019-08-01-preview", - "2019-11-01", - "2020-03-01", - "2020-10-01", - "2021-03-01", - "2021-05-01", - "2021-09-01", - "2021-10-01-preview", - "2022-01-01", - "2022-05-01", - "2022-09-01-preview", - "2023-01-01", - "2023-03-01-preview", - "2023-05-01" - ] - }, - "Microsoft.StorageMover": { - "locations": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "locations/operationStatuses": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "operations": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "storageMovers": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "storageMovers/agents": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "storageMovers/endpoints": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "storageMovers/projects": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "storageMovers/projects/jobDefinitions": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ], - "storageMovers/projects/jobDefinitions/jobRuns": [ - "2022-07-01-preview", - "2023-03-01", - "2023-07-01-preview" - ] - }, - "Microsoft.StoragePool": { - "diskPools": [ - "2020-03-15-preview", - "2021-04-01-preview", - "2021-08-01" - ], - "diskPools/iscsiTargets": [ - "2020-03-15-preview", - "2021-04-01-preview", - "2021-08-01" - ] - }, - "Microsoft.StorageSync": { - "locations": [ - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "locations/checkNameAvailability": [ - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "locations/operationResults": [ - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "locations/operations": [ - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "locations/workflows": [ - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "operations": [ - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/privateEndpointConnections": [ - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/registeredServers": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/syncGroups": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/syncGroups/cloudEndpoints": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/syncGroups/serverEndpoints": [ - "2017-06-05-preview", - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ], - "storageSyncServices/workflows": [ - "2018-04-02", - "2018-07-01", - "2018-10-01", - "2019-02-01", - "2019-03-01", - "2019-06-01", - "2019-10-01", - "2020-03-01", - "2020-09-01", - "2022-06-01" - ] - }, - "Microsoft.StorageTasks": { - "locations": [ - "2023-01-01" - ], - "storageTasks": [ - "2023-01-01" - ] - }, - "Microsoft.StorSimple": { - "managers": [ - "2016-10-01", - "2017-06-01" - ], - "managers/accessControlRecords": [ - "2016-10-01", - "2017-06-01" - ], - "managers/bandwidthSettings": [ - "2017-06-01" - ], - "managers/certificates": [ - "2016-10-01" - ], - "managers/devices/alertSettings": [ - "2016-10-01", - "2017-06-01" - ], - "managers/devices/backupPolicies": [ - "2017-06-01" - ], - "managers/devices/backupPolicies/schedules": [ - "2017-06-01" - ], - "managers/devices/backupScheduleGroups": [ - "2016-10-01" - ], - "managers/devices/chapSettings": [ - "2016-10-01" - ], - "managers/devices/fileservers": [ - "2016-10-01" - ], - "managers/devices/fileservers/shares": [ - "2016-10-01" - ], - "managers/devices/iscsiservers": [ - "2016-10-01" - ], - "managers/devices/iscsiservers/disks": [ - "2016-10-01" - ], - "managers/devices/timeSettings": [ - "2017-06-01" - ], - "managers/devices/volumeContainers": [ - "2017-06-01" - ], - "managers/devices/volumeContainers/volumes": [ - "2017-06-01" - ], - "managers/extendedInformation": [ - "2016-10-01", - "2017-06-01" - ], - "managers/storageAccountCredentials": [ - "2016-10-01", - "2017-06-01" - ], - "managers/storageDomains": [ - "2016-10-01" - ] - }, - "Microsoft.StreamAnalytics": { - "clusters": [ - "2020-03-01", - "2020-03-01-preview" - ], - "clusters/privateEndpoints": [ - "2020-03-01", - "2020-03-01-preview" - ], - "locations": [ - "2015-03-01-preview", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-08-01-preview", - "2015-09-01", - "2015-10-01", - "2015-11-01", - "2016-03-01", - "2017-04-01-preview", - "2018-11-01", - "2019-06-01", - "2020-03-01", - "2021-10-01-preview" - ], - "locations/compileQuery": [ - "2017-04-01-preview", - "2021-10-01-preview" - ], - "locations/operationResults": [ - "2017-04-01-preview", - "2021-10-01-preview" - ], - "locations/quotas": [ - "2015-03-01-preview", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-08-01-preview", - "2015-09-01", - "2015-10-01", - "2015-11-01", - "2016-03-01", - "2017-04-01-preview", - "2018-11-01", - "2019-06-01", - "2020-03-01", - "2021-10-01-preview" - ], - "locations/sampleInput": [ - "2017-04-01-preview", - "2021-10-01-preview" - ], - "locations/testInput": [ - "2017-04-01-preview", - "2021-10-01-preview" - ], - "locations/testOutput": [ - "2017-04-01-preview", - "2021-10-01-preview" - ], - "locations/testQuery": [ - "2017-04-01-preview", - "2021-10-01-preview" - ], - "operations": [ - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-08-01-preview", - "2015-09-01", - "2015-10-01", - "2015-11-01", - "2016-03-01", - "2017-04-01-preview", - "2018-11-01", - "2019-06-01", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs": [ - "2015-03-01-preview", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-08-01-preview", - "2015-09-01", - "2015-10-01", - "2015-11-01", - "2016-03-01", - "2017-04-01-preview", - "2018-11-01", - "2019-06-01", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/functions": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/inputs": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/outputs": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ], - "streamingjobs/transformations": [ - "2016-03-01", - "2017-04-01-preview", - "2020-03-01", - "2021-10-01-preview" - ] - }, - "Microsoft.Subscription": { - "acceptChangeTenant": [ - "2019-10-01-preview", - "2021-01-01-privatepreview" - ], - "acceptOwnership": [ - "2021-01-01-privatepreview", - "2021-10-01" - ], - "acceptOwnershipStatus": [ - "2021-01-01-privatepreview", - "2021-10-01" - ], - "aliases": [ - "2019-10-01-preview", - "2020-09-01", - "2021-01-01-privatepreview", - "2021-10-01" - ], - "cancel": [ - "2019-03-01-preview", - "2019-10-01-preview", - "2020-09-01", - "2021-10-01" - ], - "changeTenantRequest": [ - "2019-10-01-preview", - "2021-01-01-privatepreview" - ], - "changeTenantStatus": [ - "2019-10-01-preview", - "2021-01-01-privatepreview" - ], - "CreateSubscription": [ - "2018-03-01-preview", - "2018-11-01-preview", - "2019-10-01-preview" - ], - "enable": [ - "2019-03-01-preview", - "2019-10-01-preview", - "2020-09-01", - "2021-10-01" - ], - "operationResults": [ - "2019-10-01-preview" - ], - "operations": [ - "2017-11-01-preview", - "2021-10-01" - ], - "policies": [ - "2021-01-01-privatepreview", - "2021-10-01" - ], - "rename": [ - "2019-03-01-preview", - "2019-10-01-preview", - "2020-09-01", - "2021-10-01" - ], - "subscriptionDefinitions": [ - "2017-11-01-preview" - ], - "SubscriptionOperations": [ - "2017-11-01-preview", - "2018-03-01-preview", - "2018-11-01-preview", - "2019-10-01-preview", - "2021-01-01-privatepreview", - "2021-10-01" - ], - "subscriptions": [ - "2019-10-01-preview", - "2021-01-01-privatepreview", - "2021-10-01" - ], - "validateCancel": [ - "2021-01-01-privatepreview" - ] - }, - "Microsoft.Subscriptions.Admin": { - "directoryTenants": [ - "2015-11-01" - ], - "locations": [ - "2015-11-01" - ], - "offers": [ - "2015-11-01" - ], - "offers/offerDelegations": [ - "2015-11-01" - ], - "plans": [ - "2015-11-01" - ], - "subscriptions": [ - "2015-11-01" - ], - "subscriptions/acquiredPlans": [ - "2015-11-01" - ] - }, - "Microsoft.Support": { - "checkNameAvailability": [ - "2019-05-01-preview", - "2020-04-01", - "2022-09-01-preview" - ], - "fileWorkspaces": [ - "2022-09-01-preview" - ], - "lookUpResourceId": [ - "2021-06-01-preview", - "2022-09-01-preview" - ], - "operationresults": [ - "2019-05-01-preview", - "2020-04-01", - "2022-09-01-preview" - ], - "operations": [ - "2015-03-01", - "2015-07-01-Preview", - "2019-05-01-preview", - "2020-04-01", - "2021-06-01-preview", - "2022-09-01-preview" - ], - "operationsstatus": [ - "2019-05-01-preview", - "2020-04-01", - "2022-09-01-preview" - ], - "services": [ - "2019-05-01-preview", - "2020-04-01", - "2022-09-01-preview" - ], - "services/problemclassifications": [ - "2019-05-01-preview", - "2020-04-01", - "2022-09-01-preview" - ], - "supportTickets": [ - "2019-05-01-preview", - "2020-04-01", - "2022-09-01-preview" - ], - "supportTickets/communications": [ - "2019-05-01-preview", - "2020-04-01", - "2022-09-01-preview" - ] - }, - "Microsoft.Synapse": { - "checkNameAvailability": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "kustoOperations": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "locations": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "locations/kustoPoolCheckNameAvailability": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "locations/kustoPoolOperationResults": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "locations/operationResults": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "locations/operationStatuses": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "locations/sqlDatabaseAzureAsyncOperation": [ - "2020-04-01-preview" - ], - "locations/sqlDatabaseOperationResults": [ - "2020-04-01-preview" - ], - "locations/sqlPoolAzureAsyncOperation": [ - "2020-04-01-preview" - ], - "locations/sqlPoolOperationResults": [ - "2020-04-01-preview" - ], - "locations/usages": [ - "2023-05-01" - ], - "operations": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "privateLinkHubs": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "workspaces": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "workspaces/administrators": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/auditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/azureADOnlyAuthentications": [ - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/bigDataPools": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "workspaces/dedicatedSQLminimalTlsSettings": [ - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/encryptionProtector": [ - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/extendedAuditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/firewallRules": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/integrationRuntimes": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/keys": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/kustoPools": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/attachedDatabaseConfigurations": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/databases": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/databases/dataConnections": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/databases/principalAssignments": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/kustoPools/principalAssignments": [ - "2021-04-01-preview", - "2021-06-01-preview" - ], - "workspaces/managedIdentitySqlControlSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/operationResults": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "workspaces/operationStatuses": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "workspaces/privateEndpointConnections": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/securityAlertPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlAdministrators": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlDatabases": [ - "2020-04-01-preview" - ], - "workspaces/sqlPools": [ - "2019-06-01-preview", - "2020-04-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview", - "2023-05-01" - ], - "workspaces/sqlPools/auditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/dataMaskingPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/dataMaskingPolicies/rules": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/extendedAuditingSettings": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/geoBackupPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/maintenancewindows": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/metadataSync": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/schemas/tables/columns/sensitivityLabels": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/securityAlertPolicies": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/transparentDataEncryption": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/vulnerabilityAssessments": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/vulnerabilityAssessments/rules/baselines": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/workloadGroups": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/sqlPools/workloadGroups/workloadClassifiers": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ], - "workspaces/trustedServiceByPassConfiguration": [ - "2021-06-01-preview" - ], - "workspaces/usages": [ - "2023-05-01" - ], - "workspaces/vulnerabilityAssessments": [ - "2019-06-01-preview", - "2020-12-01", - "2021-03-01", - "2021-04-01-preview", - "2021-05-01", - "2021-06-01", - "2021-06-01-preview" - ] - }, - "Microsoft.Syntex": { - "documentProcessors": [ - "2022-09-15-preview" - ], - "Locations": [ - "2022-09-15-preview" - ], - "Locations/OperationStatuses": [ - "2022-09-15-preview" - ], - "operations": [ - "2021-10-20-preview", - "2022-06-15-preview", - "2022-09-15-preview", - "2023-01-04-preview" - ] - }, - "Microsoft.TestBase": { - "locations": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-09-15-preview", - "2022-11-01-preview", - "2022-11-15-preview", - "2022-12-01-preview", - "2022-12-15-preview", - "2023-01-01-preview", - "2023-01-15-preview", - "2023-05-15-preview", - "2023-06-01-preview" - ], - "locations/operationstatuses": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-09-15-preview", - "2022-11-01-preview", - "2022-11-15-preview", - "2022-12-01-preview", - "2022-12-15-preview", - "2023-01-01-preview", - "2023-01-15-preview", - "2023-05-15-preview", - "2023-06-01-preview" - ], - "operations": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-09-15-preview", - "2022-11-01-preview", - "2022-11-15-preview", - "2022-12-01-preview", - "2022-12-15-preview", - "2023-01-01-preview", - "2023-01-15-preview", - "2023-05-15-preview", - "2023-06-01-preview" - ], - "skus": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-05-01-preview", - "2022-08-01-preview", - "2022-09-15-preview", - "2022-11-01-preview", - "2022-11-15-preview", - "2022-12-01-preview", - "2022-12-15-preview", - "2023-01-01-preview", - "2023-01-15-preview", - "2023-05-15-preview", - "2023-06-01-preview" - ], - "testBaseAccounts": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/actionRequests": [ - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/availableInplaceUpgradeOSs": [ - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/availableOSs": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/customerEvents": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/draftPackages": [ - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/emailEvents": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/featureUpdateSupportedOses": [ - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/firstPartyApps": [ - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/flightingRings": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/galleryApps": [ - "2023-06-01-preview" - ], - "testBaseAccounts/galleryApps/galleryAppSkus": [ - "2023-06-01-preview" - ], - "testBaseAccounts/packages": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/packages/favoriteProcesses": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/packages/osUpdates": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/packages/testResults": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/packages/testResults/analysisResults": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/testSummaries": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/testTypes": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ], - "testBaseAccounts/usages": [ - "2020-12-16-preview", - "2021-09-01", - "2021-12-01", - "2022-03-01-preview", - "2022-04-01-preview", - "2022-08-01-preview", - "2022-11-01-preview", - "2022-12-01-preview", - "2023-01-01-preview", - "2023-06-01-preview" - ] - }, - "Microsoft.TimeSeriesInsights": { - "environments": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ], - "environments/accessPolicies": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ], - "environments/eventSources": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ], - "environments/privateEndpointConnectionProxies": [ - "2020-05-15", - "2021-03-31-preview" - ], - "environments/privateEndpointConnections": [ - "2020-05-15", - "2021-03-31-preview" - ], - "environments/privateLinkResources": [ - "2020-05-15", - "2021-03-31-preview" - ], - "environments/referenceDataSets": [ - "2017-02-28-preview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-06-30-preview" - ], - "operations": [ - "2017-02-28-preview", - "2017-05-31-privatepreview", - "2017-11-15", - "2018-08-15-preview", - "2020-05-15", - "2021-03-31-preview", - "2021-08-15-privatepreview" - ] - }, - "Microsoft.UsageBilling": { - "operations": [ - "2021-05-01-preview", - "2022-09-01-preview", - "2022-12-01-preview", - "2023-02-01-preview", - "2023-04-01-preview" - ] - }, - "Microsoft.VideoIndexer": { - "accounts": [ - "2021-10-18-preview", - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01" - ], - "checknameavailability": [ - "2021-10-18-preview", - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01", - "2023-06-02-preview", - "2023-08-01-preview" - ], - "locations": [ - "2021-10-18-preview", - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01", - "2023-06-02-preview", - "2023-08-01-preview" - ], - "locations/classicaccounts": [ - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01" - ], - "locations/operationstatuses": [ - "2021-10-18-preview", - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01", - "2023-06-02-preview", - "2023-08-01-preview" - ], - "locations/userclassicaccounts": [ - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01" - ], - "operations": [ - "2021-10-18-preview", - "2021-10-27-preview", - "2021-11-10-preview", - "2022-04-13-preview", - "2022-07-20-preview", - "2022-08-01", - "2023-06-02-preview", - "2023-08-01-preview" - ] - }, - "Microsoft.VirtualMachineImages": { - "imageTemplates": [ - "2018-02-01-preview", - "2019-02-01-preview", - "2019-05-01-preview", - "2020-02-14", - "2021-10-01", - "2022-02-14", - "2022-07-01" - ], - "imageTemplates/runOutputs": [ - "2019-05-01-preview", - "2020-02-14", - "2021-10-01", - "2022-02-14", - "2022-07-01" - ], - "imageTemplates/triggers": [ - "2022-07-01" - ], - "locations": [ - "2019-05-01-preview", - "2020-02-14", - "2021-10-01", - "2022-02-14", - "2022-07-01" - ], - "locations/operations": [ - "2019-05-01-preview", - "2020-02-14", - "2021-10-01", - "2022-02-14", - "2022-07-01" - ], - "operations": [ - "2019-05-01-preview", - "2020-02-14", - "2021-10-01", - "2022-02-14", - "2022-07-01" - ] - }, - "microsoft.visualstudio": { - "account": [ - "2014-02-26", - "2014-04-01-preview", - "2017-11-01-preview" - ], - "account/extension": [ - "2014-02-26", - "2014-04-01-preview", - "2017-11-01-preview" - ], - "account/project": [ - "2014-02-26", - "2014-04-01-preview", - "2017-11-01-preview", - "2018-08-01-preview" - ], - "checkNameAvailability": [ - "2014-04-01-preview" - ], - "operations": [ - "2014-02-26", - "2014-04-01-preview" - ] - }, - "Microsoft.VMware": { - "Locations": [ - "2019-12-20-privatepreview", - "2020-10-01-preview" - ], - "Locations/OperationStatuses": [ - "2019-12-20-privatepreview", - "2020-10-01-preview" - ], - "Operations": [ - "2019-12-20-privatepreview", - "2020-10-01-preview" - ], - "VCenters/InventoryItems": [ - "2020-10-01-preview" - ] - }, - "Microsoft.VMwareCloudSimple": { - "dedicatedCloudNodes": [ - "2019-04-01" - ], - "dedicatedCloudServices": [ - "2019-04-01" - ], - "virtualMachines": [ - "2019-04-01" - ] - }, - "Microsoft.VoiceServices": { - "communicationsGateways": [ - "2022-12-01-preview", - "2023-01-31", - "2023-04-03" - ], - "communicationsGateways/contacts": [ - "2022-12-01-preview" - ], - "communicationsGateways/testLines": [ - "2022-12-01-preview", - "2023-01-31", - "2023-04-03" - ], - "locations": [ - "2022-12-01-preview", - "2023-01-31", - "2023-04-03", - "2023-07-13-preview" - ], - "locations/checkNameAvailability": [ - "2022-12-01-preview", - "2023-01-31", - "2023-04-03", - "2023-07-13-preview" - ], - "Operations": [ - "2022-12-01-preview", - "2023-01-31", - "2023-04-03", - "2023-07-13-preview" - ] - }, - "Microsoft.VSOnline": { - "accounts": [ - "2019-07-01-alpha", - "2019-07-01-beta", - "2019-07-01-preview" - ], - "operations": [ - "2019-07-01-alpha", - "2019-07-01-beta", - "2019-07-01-preview", - "2019-07-01-privatepreview", - "2020-05-26-alpha", - "2020-05-26-beta", - "2020-05-26-preview", - "2020-05-26-privatepreview" - ], - "plans": [ - "2019-07-01-alpha", - "2019-07-01-beta", - "2019-07-01-preview", - "2020-05-26-alpha", - "2020-05-26-beta", - "2020-05-26-preview" - ], - "registeredSubscriptions": [ - "2019-07-01-alpha", - "2019-07-01-beta", - "2019-07-01-preview", - "2019-07-01-privatepreview", - "2020-05-26-alpha", - "2020-05-26-beta", - "2020-05-26-preview", - "2020-05-26-privatepreview" - ] - }, - "Microsoft.Web": { - "availableStacks": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "billingMeters": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-08-01-preview", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "certificates": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-08-01-preview", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "checkNameAvailability": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-08-01-preview", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "connectionGateways": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview" - ], - "connections": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview", - "2018-07-01-preview" - ], - "containerApps": [ - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "csrs": [ - "2015-08-01" - ], - "customApis": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview", - "2018-07-01-preview" - ], - "customhostnameSites": [ - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "deletedSites": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "deploymentLocations": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "freeTrialStaticWebApps": [ - "2022-09-01" - ], - "functionAppStacks": [ - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "generateGithubAccessTokenForAppserviceCLI": [ - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "georegions": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "hostingEnvironments": [ - "2014-04-01", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-05-01-preview", - "2018-08-01", - "2018-11-01", - "2019-01-01", - "2019-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "hostingEnvironments/configurations": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "hostingEnvironments/eventGridFilters": [ - "2014-04-01", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-05-01-preview", - "2018-08-01", - "2018-11-01", - "2019-01-01", - "2019-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "hostingEnvironments/multiRolePools": [ - "2014-04-01", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-08-01", - "2018-11-01", - "2019-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "hostingEnvironments/privateEndpointConnections": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "hostingEnvironments/workerPools": [ - "2014-04-01", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-08-01", - "2018-11-01", - "2019-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "ishostingenvironmentnameavailable": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "ishostnameavailable": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "isusernameavailable": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "kubeEnvironments": [ - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "listSitesAssignedToHostName": [ - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview", - "2018-07-01-preview" - ], - "locations/apiOperations": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview", - "2018-07-01-preview", - "2022-09-01-preview" - ], - "locations/connectionGatewayInstallations": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview" - ], - "locations/deletedSites": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/deleteVirtualNetworkOrSubnets": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-08-01-preview", - "2016-03-01", - "2016-08-01", - "2016-11-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/extractApiDefinitionFromWsdl": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview" - ], - "locations/functionAppStacks": [ - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/getNetworkPolicies": [ - "2016-08-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/listWsdlInterfaces": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview" - ], - "locations/managedApis": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview", - "2018-07-01-preview", - "2022-09-01-preview" - ], - "locations/operationResults": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-01-01", - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/operations": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-01-01", - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/previewStaticSiteWorkflowFile": [ - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/runtimes": [ - "2015-08-01-preview", - "2016-06-01", - "2018-03-01-preview" - ], - "locations/validateDeleteVirtualNetworkOrSubnets": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-08-01-preview", - "2016-03-01", - "2016-08-01", - "2016-11-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "locations/webAppStacks": [ - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "managedHostingEnvironments": [ - "2015-08-01" - ], - "operations": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "publishingCredentials": [ - "2015-08-01" - ], - "publishingUsers": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "recommendations": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "resourceHealthMetadata": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "runtimes": [ - "2014-04-01", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "serverfarms": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "serverFarms/eventGridFilters": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "serverFarms/firstPartyApps": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "serverFarms/firstPartyApps/keyVaultSettings": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "serverfarms/virtualNetworkConnections/gateways": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "serverfarms/virtualNetworkConnections/routes": [ - "2015-08-01", - "2016-09-01", - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-01-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-08-01-preview", - "2015-11-01", - "2016-03-01", - "2016-08-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/backups": [ - "2015-08-01", - "2016-08-01" - ], - "sites/basicPublishingCredentialsPolicies": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/config": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/deployments": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/domainOwnershipIdentifiers": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/eventGridFilters": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-01-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-08-01-preview", - "2015-11-01", - "2016-03-01", - "2016-08-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/functions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/functions/keys": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/host/{keyType}": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/hostNameBindings": [ - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/hybridconnection": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/hybridConnectionNamespaces/relays": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/instances/deployments": [ - "2015-08-01" - ], - "sites/instances/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/migrate": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/networkConfig": [ - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/premieraddons": [ - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/privateAccess": [ - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/privateEndpointConnections": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/publicCertificates": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/siteextensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-01-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-11-01", - "2016-03-01", - "2016-08-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/backups": [ - "2015-08-01", - "2016-08-01" - ], - "sites/slots/basicPublishingCredentialsPolicies": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/config": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/deployments": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/domainOwnershipIdentifiers": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/eventGridFilters": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-01-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2015-11-01", - "2016-03-01", - "2016-08-01", - "2016-09-01", - "2017-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/functions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/functions/keys": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/host/{keyType}": [ - "2018-02-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/hostNameBindings": [ - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/hybridconnection": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/hybridConnectionNamespaces/relays": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/instances/deployments": [ - "2015-08-01" - ], - "sites/slots/instances/extensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/networkConfig": [ - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/premieraddons": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/privateAccess": [ - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/privateEndpointConnections": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/publicCertificates": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/siteextensions": [ - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/snapshots": [ - "2015-08-01" - ], - "sites/slots/sourcecontrols": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/virtualNetworkConnections": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/slots/virtualNetworkConnections/gateways": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/snapshots": [ - "2015-08-01" - ], - "sites/sourcecontrols": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/virtualNetworkConnections": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sites/virtualNetworkConnections/gateways": [ - "2015-08-01", - "2016-08-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "sourcecontrols": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites": [ - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/basicAuth": [ - "2022-09-01" - ], - "staticSites/builds": [ - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/builds/config": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/builds/databaseConnections": [ - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/builds/linkedBackends": [ - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/builds/userProvidedFunctionApps": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/config": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/customDomains": [ - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/databaseConnections": [ - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/linkedBackends": [ - "2019-08-01", - "2019-12-01-preview", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/privateEndpointConnections": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "staticSites/userProvidedFunctionApps": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "validate": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "verifyHostingEnvironmentVnet": [ - "2014-04-01", - "2014-04-01-preview", - "2014-06-01", - "2014-11-01", - "2015-02-01", - "2015-04-01", - "2015-05-01", - "2015-06-01", - "2015-07-01", - "2015-08-01", - "2016-03-01", - "2018-02-01", - "2018-11-01", - "2019-08-01", - "2020-06-01", - "2020-09-01", - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "webAppStacks": [ - "2020-10-01", - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01", - "2021-03-01", - "2022-03-01", - "2022-09-01" - ], - "workerApps": [ - "2020-12-01", - "2021-01-01", - "2021-01-15", - "2021-02-01" - ] - }, - "Microsoft.WindowsESU": { - "Locations": [ - "2019-09-16-preview" - ], - "Locations/OperationStatuses": [ - "2019-10-01" - ], - "multipleActivationKeys": [ - "2019-09-16-preview" - ], - "Operations": [ - "2019-09-16-preview" - ] - }, - "Microsoft.WindowsIoT": { - "deviceServices": [ - "2018-02-16-preview", - "2019-06-01" - ], - "operations": [ - "2018-02-16-preview", - "2019-06-01" - ] - }, - "Microsoft.WindowsPushNotificationServices": { - "checkNameAvailability": [ - "2022-09-12-preview" - ] - }, - "Microsoft.WorkloadBuilder": { - "Locations": [ - "2020-07-01-privatepreview", - "2021-03-01-privatepreview" - ], - "Locations/OperationStatuses": [ - "2020-07-01-privatepreview", - "2021-03-01-privatepreview" - ], - "Operations": [ - "2020-07-01-privatepreview", - "2021-03-01-privatepreview" - ] - }, - "Microsoft.WorkloadMonitor": { - "notificationSettings": [ - "2018-08-31-preview" - ] - }, - "Microsoft.Workloads": { - "Locations": [ - "2021-12-01-preview", - "2022-10-15-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-10-01-preview" - ], - "Locations/OperationStatuses": [ - "2021-12-01-preview", - "2022-10-15-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-10-01-preview" - ], - "Locations/sapVirtualInstanceMetadata": [ - "2021-12-01-preview", - "2022-11-01-preview", - "2023-04-01" - ], - "monitors": [ - "2021-12-01-preview", - "2022-11-01-preview", - "2023-04-01" - ], - "monitors/providerInstances": [ - "2021-12-01-preview", - "2022-11-01-preview", - "2023-04-01" - ], - "monitors/sapLandscapeMonitor": [ - "2022-11-01-preview", - "2023-04-01" - ], - "Operations": [ - "2021-12-01-preview", - "2022-10-15-preview", - "2022-11-01-preview", - "2023-04-01", - "2023-10-01-preview" - ], - "phpWorkloads": [ - "2021-12-01-preview" - ], - "phpWorkloads/wordpressInstances": [ - "2021-12-01-preview" - ], - "sapVirtualInstances": [ - "2021-12-01-preview", - "2022-11-01-preview", - "2023-04-01" - ], - "sapVirtualInstances/applicationInstances": [ - "2021-12-01-preview", - "2022-11-01-preview", - "2023-04-01" - ], - "sapVirtualInstances/centralInstances": [ - "2021-12-01-preview", - "2022-11-01-preview", - "2023-04-01" - ], - "sapVirtualInstances/databaseInstances": [ - "2021-12-01-preview", - "2022-11-01-preview", - "2023-04-01" - ] - }, - "NewRelic.Observability": { - "accounts": [ - "2022-07-01", - "2022-07-01-preview" - ], - "checkNameAvailability": [ - "2022-07-01", - "2022-07-01-preview" - ], - "locations": [ - "2022-07-01", - "2022-07-01-preview" - ], - "locations/operationStatuses": [ - "2022-07-01", - "2022-07-01-preview" - ], - "monitors": [ - "2022-07-01", - "2022-07-01-preview" - ], - "monitors/tagRules": [ - "2022-07-01", - "2022-07-01-preview" - ], - "operations": [ - "2022-07-01", - "2022-07-01-preview" - ], - "organizations": [ - "2022-07-01", - "2022-07-01-preview" - ], - "plans": [ - "2022-07-01", - "2022-07-01-preview" - ], - "registeredSubscriptions": [ - "2022-07-01", - "2022-07-01-preview" - ] - }, - "NGINX.NGINXPLUS": { - "locations": [ - "2021-05-01-preview", - "2022-08-01", - "2022-11-01-preview", - "2023-04-01" - ], - "locations/operationStatuses": [ - "2021-05-01-preview", - "2022-08-01", - "2022-11-01-preview", - "2023-04-01" - ], - "nginxDeployments": [ - "2021-05-01-preview", - "2022-08-01", - "2022-11-01-preview", - "2023-04-01" - ], - "nginxDeployments/certificates": [ - "2021-05-01-preview", - "2022-08-01", - "2022-11-01-preview", - "2023-04-01" - ], - "nginxDeployments/configurations": [ - "2021-05-01-preview", - "2022-08-01", - "2022-11-01-preview", - "2023-04-01" - ], - "operations": [ - "2021-05-01-preview", - "2022-08-01", - "2022-11-01-preview", - "2023-04-01" - ] - }, - "PaloAltoNetworks.Cloudngfw": { - "checkNameAvailability": [ - "2022-08-29", - "2022-08-29-preview" - ], - "firewalls": [ - "2022-08-29", - "2022-08-29-preview" - ], - "firewalls/statuses": [ - "2022-08-29", - "2022-08-29-preview" - ], - "globalRulestacks": [ - "2022-08-29", - "2022-08-29-preview" - ], - "globalRulestacks/certificates": [ - "2022-08-29", - "2022-08-29-preview" - ], - "globalRulestacks/fqdnlists": [ - "2022-08-29", - "2022-08-29-preview" - ], - "globalRulestacks/postRules": [ - "2022-08-29", - "2022-08-29-preview" - ], - "globalRulestacks/prefixlists": [ - "2022-08-29", - "2022-08-29-preview" - ], - "globalRulestacks/preRules": [ - "2022-08-29", - "2022-08-29-preview" - ], - "localRulestacks": [ - "2022-08-29", - "2022-08-29-preview" - ], - "localRulestacks/certificates": [ - "2022-08-29", - "2022-08-29-preview" - ], - "localRulestacks/fqdnlists": [ - "2022-08-29", - "2022-08-29-preview" - ], - "localRulestacks/localRules": [ - "2022-08-29", - "2022-08-29-preview" - ], - "localRulestacks/prefixlists": [ - "2022-08-29", - "2022-08-29-preview" - ], - "locations": [ - "2022-08-29", - "2022-08-29-preview" - ], - "Locations/operationStatuses": [ - "2022-08-29", - "2022-08-29-preview" - ], - "operations": [ - "2022-08-29", - "2022-08-29-preview" - ], - "registeredSubscriptions": [ - "2022-08-29", - "2022-08-29-preview" - ] - }, - "Qumulo.Storage": { - "checkNameAvailability": [ - "2022-06-27-preview", - "2022-10-12", - "2022-10-12-preview" - ], - "fileSystems": [ - "2022-06-27-preview", - "2022-10-12", - "2022-10-12-preview" - ], - "locations": [ - "2022-06-27-preview", - "2022-10-12", - "2022-10-12-preview" - ], - "locations/operationStatuses": [ - "2022-06-27-preview", - "2022-10-12", - "2022-10-12-preview" - ], - "operations": [ - "2022-06-27-preview", - "2022-10-12", - "2022-10-12-preview" - ], - "registeredSubscriptions": [ - "2022-06-27-preview", - "2022-10-12", - "2022-10-12-preview" - ] - }, - "SolarWinds.Observability": { - "checkNameAvailability": [ - "2023-01-01-preview" - ], - "locations": [ - "2023-01-01-preview" - ], - "locations/operationStatuses": [ - "2023-01-01-preview" - ], - "operations": [ - "2023-01-01-preview" - ], - "registeredSubscriptions": [ - "2023-01-01-preview" - ] - }, - "Wandisco.Fusion": { - "Locations": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "Locations/operationStatuses": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/dataTransferAgents": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/exclusionTemplates": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/liveDataMigrations": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/metadataMigrations": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/metadataTargets": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/pathMappings": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/targets": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "migrators/verifications": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "Operations": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ], - "registeredSubscriptions": [ - "2022-01-01-preview", - "2022-10-01-preview", - "2023-02-01-preview" - ] - } + "Dynatrace.Observability": { + "checkNameAvailability": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "getMarketplaceSaaSResourceDetails": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "locations": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "locations/operationStatuses": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "monitors": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "monitors/singleSignOnConfigurations": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "monitors/tagRules": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "operations": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ], + "registeredSubscriptions": [ + "2021-09-01", + "2021-09-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-04-20-preview", + "2023-04-27" + ] + }, + "GitHub.Network": { + "networkSettings": [ + "2023-03-15-beta" + ], + "Operations": [ + "2023-03-15-alpha", + "2023-03-15-beta" + ], + "registeredSubscriptions": [ + "2023-03-15-alpha", + "2023-03-15-beta" + ] + }, + "Microsoft.AAD": { + "domainServices": [ + "2017-01-01", + "2017-06-01", + "2020-01-01", + "2021-03-01", + "2021-05-01", + "2022-09-01", + "2022-12-01" + ], + "domainServices/ouContainer": [ + "2017-06-01", + "2020-01-01", + "2021-03-01", + "2021-05-01", + "2022-09-01", + "2022-12-01" + ], + "locations": [ + "2017-01-01", + "2017-06-01", + "2020-01-01", + "2021-03-01", + "2021-05-01", + "2022-09-01", + "2022-12-01" + ], + "locations/operationresults": [ + "2017-01-01", + "2017-06-01", + "2020-01-01", + "2021-03-01", + "2021-05-01", + "2022-09-01", + "2022-12-01" + ], + "operations": [ + "2017-01-01", + "2017-06-01", + "2020-01-01", + "2021-03-01", + "2021-05-01", + "2022-09-01", + "2022-12-01" + ] + }, + "Microsoft.AadCustomSecurityAttributesDiagnosticSettings": { + "diagnosticSettings": [ + "2017-04-01-preview" + ], + "diagnosticSettingsCategories": [ + "2017-04-01-preview" + ], + "operations": [ + "2017-04-01-preview" + ] + }, + "microsoft.aadiam": { + "azureADMetrics": [ + "2020-07-01", + "2020-07-01-preview" + ], + "diagnosticSettings": [ + "2017-04-01", + "2017-04-01-preview", + "2017-05-01-preview" + ], + "diagnosticSettingsCategories": [ + "2017-04-01", + "2017-04-01-preview", + "2017-05-01-preview" + ], + "operations": [ + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-03-01", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2017-03-01", + "2017-04-01" + ], + "privateLinkForAzureAd": [ + "2020-03-01", + "2020-03-01-preview" + ], + "privateLinkForAzureAd/privateEndpointConnections": [ + "2020-03-01" + ], + "tenants": [ + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-03-01", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2017-03-01", + "2017-04-01" + ] + }, + "Microsoft.Addons": { + "operationResults": [ + "2017-05-15", + "2018-03-01" + ], + "operations": [ + "2017-05-15", + "2018-03-01" + ], + "supportProviders": [ + "2017-05-15", + "2018-03-01" + ], + "supportProviders/supportPlanTypes": [ + "2017-05-15", + "2018-03-01" + ] + }, + "Microsoft.ADHybridHealthService": { + "aadsupportcases": [ + "2014-01-01" + ], + "addsservices": [ + "2014-01-01" + ], + "agents": [ + "2014-01-01" + ], + "anonymousapiusers": [ + "2014-01-01" + ], + "configuration": [ + "2014-01-01" + ], + "logs": [ + "2014-01-01" + ], + "operations": [ + "2014-01-01" + ], + "reports": [ + "2014-01-01" + ], + "servicehealthmetrics": [ + "2014-01-01" + ], + "services": [ + "2014-01-01" + ] + }, + "Microsoft.Advisor": { + "advisorScore": [ + "2020-07-01-preview", + "2022-09-01", + "2022-10-01", + "2023-01-01" + ], + "configurations": [ + "2017-03-31", + "2017-04-19", + "2020-01-01", + "2022-09-01", + "2022-10-01", + "2023-01-01" + ], + "generateRecommendations": [ + "2016-05-09-preview", + "2016-07-12-preview", + "2017-03-31", + "2017-04-19", + "2020-01-01", + "2022-09-01", + "2022-10-01", + "2023-01-01" + ], + "metadata": [ + "2016-07-12-rc", + "2017-03-31", + "2017-03-31-alpha", + "2017-04-19", + "2017-04-19-alpha", + "2017-04-19-rc", + "2020-01-01", + "2020-01-01-alpha", + "2022-09-01", + "2022-10-01", + "2023-01-01", + "2023-01-01-alpha" + ], + "operations": [ + "2016-05-09-preview", + "2016-07-12-preview", + "2017-03-31", + "2017-04-19", + "2020-01-01", + "2020-07-01-preview", + "2022-10-01", + "2023-01-01-alpha" + ], + "recommendations": [ + "2016-05-09-preview", + "2016-07-12-preview", + "2017-03-31", + "2017-04-19", + "2020-01-01", + "2022-09-01", + "2022-10-01", + "2023-01-01" + ], + "recommendations/suppressions": [ + "2016-07-12-preview", + "2017-03-31", + "2017-04-19", + "2020-01-01", + "2022-09-01", + "2022-10-01", + "2023-01-01" + ], + "suppressions": [ + "2016-05-09-preview", + "2016-07-12-preview", + "2017-03-31", + "2017-04-19", + "2020-01-01", + "2022-09-01", + "2022-10-01", + "2023-01-01" + ] + }, + "Microsoft.AgFoodPlatform": { + "checkNameAvailability": [ + "2020-05-12-preview", + "2021-09-01-preview", + "2023-06-01-preview" + ], + "farmBeats": [ + "2020-05-12-preview", + "2021-09-01-preview", + "2023-06-01-preview" + ], + "farmBeats/dataConnectors": [ + "2023-06-01-preview" + ], + "farmBeats/extensions": [ + "2020-05-12-preview", + "2021-09-01-preview", + "2023-06-01-preview" + ], + "farmBeats/privateEndpointConnections": [ + "2021-09-01-preview", + "2023-06-01-preview" + ], + "farmBeats/solutions": [ + "2021-09-01-preview", + "2023-06-01-preview" + ], + "farmBeatsExtensionDefinitions": [ + "2020-05-12-preview", + "2021-09-01-preview", + "2023-06-01-preview" + ], + "farmBeatsSolutionDefinitions": [ + "2020-05-12-preview", + "2021-09-01-preview", + "2023-06-01-preview" + ], + "locations": [ + "2020-05-12-preview", + "2021-09-01-preview", + "2023-06-01-preview" + ], + "operations": [ + "2020-05-12-preview", + "2021-09-01-preview", + "2023-06-01-preview" + ] + }, + "Microsoft.AlertsManagement": { + "actionRules": [ + "2018-11-02-privatepreview", + "2019-05-05-preview", + "2021-08-08", + "2021-08-08-preview", + "2023-05-01-preview" + ], + "alertRuleRecommendations": [ + "2023-01-01-preview", + "2023-08-01-preview" + ], + "alerts": [ + "2017-11-15-privatepreview", + "2018-05-05", + "2018-05-05-preview", + "2018-11-02-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-05-05-preview" + ], + "alertsMetaData": [ + "2019-03-01", + "2019-03-01-preview", + "2019-05-05-preview" + ], + "alertsSummary": [ + "2017-11-15-privatepreview", + "2018-05-05", + "2018-05-05-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-05-05-preview" + ], + "migrateFromSmartDetection": [ + "2021-01-01-preview" + ], + "operations": [ + "2017-11-15-privatepreview", + "2018-05-05", + "2018-05-05-preview", + "2019-05-05-preview" + ], + "prometheusRuleGroups": [ + "2021-07-22-preview", + "2023-03-01" + ], + "smartDetectorAlertRules": [ + "2018-02-01-privatepreview", + "2019-03-01", + "2019-06-01", + "2021-04-01" + ], + "smartGroups": [ + "2017-11-15-privatepreview", + "2018-05-05", + "2018-05-05-preview", + "2019-05-05-preview" + ], + "tenantActivityLogAlerts": [ + "2023-01-01-preview", + "2023-04-01-preview" + ] + }, + "Microsoft.AnalysisServices": { + "locations": [ + "2016-05-16", + "2017-07-14", + "2017-08-01", + "2017-08-01-beta" + ], + "locations/checkNameAvailability": [ + "2016-05-16", + "2017-07-14", + "2017-08-01", + "2017-08-01-beta" + ], + "locations/operationresults": [ + "2016-05-16", + "2017-07-14", + "2017-08-01", + "2017-08-01-beta" + ], + "locations/operationstatuses": [ + "2016-05-16", + "2017-07-14", + "2017-08-01", + "2017-08-01-beta" + ], + "operations": [ + "2016-05-16", + "2017-07-14", + "2017-08-01", + "2017-08-01-beta" + ], + "servers": [ + "2016-05-16", + "2017-07-14", + "2017-08-01", + "2017-08-01-beta" + ] + }, + "Microsoft.AnyBuild": { + "clusters": [ + "2020-08-26", + "2021-11-01" + ], + "Locations": [ + "2020-08-26", + "2021-11-01" + ], + "Locations/OperationStatuses": [ + "2020-08-26", + "2021-11-01" + ], + "Operations": [ + "2020-08-26", + "2021-11-01" + ] + }, + "Microsoft.ApiCenter": { + "operations": [ + "2023-07-01-preview" + ], + "services": [ + "2023-07-01-preview" + ] + }, + "Microsoft.ApiManagement": { + "checkFeedbackRequired": [ + "2014-02-14", + "2015-09-15", + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "checkNameAvailability": [ + "2014-02-14", + "2015-09-15", + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "checkServiceNameAvailability": [ + "2014-02-14", + "2015-09-15" + ], + "deletedServices": [ + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "getDomainOwnershipIdentifier": [ + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "locations": [ + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "locations/deletedServices": [ + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "operations": [ + "2014-02-14", + "2015-09-15", + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "reportFeedback": [ + "2014-02-14", + "2015-09-15", + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service": [ + "2014-02-14", + "2015-09-15", + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/api-version-sets": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview" + ], + "service/apis": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/diagnostics": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/diagnostics/loggers": [ + "2017-03-01", + "2018-01-01" + ], + "service/apis/issues": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/issues/attachments": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/issues/comments": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/operations": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/operations/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/operations/policy": [ + "2016-10-10" + ], + "service/apis/operations/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/policy": [ + "2016-10-10" + ], + "service/apis/releases": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/resolvers": [ + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/resolvers/policies": [ + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/schemas": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/tagDescriptions": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apis/wikis": [ + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/apiVersionSets": [ + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/authorizationProviders": [ + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/authorizationProviders/authorizations": [ + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/authorizationProviders/authorizations/accessPolicies": [ + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/authorizationServers": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/backends": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/caches": [ + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/certificates": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/contentTypes": [ + "2019-12-01", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/contentTypes/contentItems": [ + "2019-12-01", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/diagnostics": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/diagnostics/loggers": [ + "2017-03-01", + "2018-01-01" + ], + "service/documentations": [ + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/eventGridFilters": [ + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/gateways": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/gateways/apis": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/gateways/certificateAuthorities": [ + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/gateways/hostnameConfigurations": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/groups": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/groups/users": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/identityProviders": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/loggers": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/namedValues": [ + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/notifications": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/notifications/recipientEmails": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/notifications/recipientUsers": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/openidConnectProviders": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/policyFragments": [ + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/portalconfigs": [ + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/portalRevisions": [ + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/portalsettings": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products/apiLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products/apis": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products/groupLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products/groups": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products/policies": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products/policy": [ + "2016-10-10" + ], + "service/products/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/products/wikis": [ + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/properties": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01" + ], + "service/schemas": [ + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/subscriptions": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/tags": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/tags/apiLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/tags/operationLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/tags/productLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/templates": [ + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/tenant": [ + "2016-10-10", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/users": [ + "2016-07-07", + "2016-10-10", + "2017-03-01", + "2018-01-01", + "2018-06-01-preview", + "2019-01-01", + "2019-12-01", + "2019-12-01-preview", + "2020-06-01-preview", + "2020-12-01", + "2021-01-01-preview", + "2021-04-01-preview", + "2021-08-01", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/apis": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/apis/operations": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/apis/operations/policies": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/apis/policies": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/apis/releases": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/apis/schemas": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/apiVersionSets": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/groups": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/groups/users": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/namedValues": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/notifications": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/notifications/recipientEmails": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/notifications/recipientUsers": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/policies": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/policyFragments": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/products": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/products/apiLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/products/groupLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/products/policies": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/schemas": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/subscriptions": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/tags": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/tags/apiLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/tags/operationLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "service/workspaces/tags/productLinks": [ + "2022-09-01-preview", + "2023-03-01-preview" + ], + "validateServiceName": [ + "2014-02-14", + "2015-09-15" + ] + }, + "Microsoft.ApiSecurity": { + "apiCollections": [ + "2022-03-02-privatepreview", + "2022-09-12-privatepreview" + ], + "apiCollections/apiCollectionDetails": [ + "2022-03-02-privatepreview" + ], + "apiCollectionsMeta": [ + "2022-03-02-privatepreview" + ], + "apiCollectionsMeta/apiCollectionMetaDetails": [ + "2022-03-02-privatepreview" + ], + "Locations": [ + "2021-03-01-preview" + ], + "Locations/OperationStatuses": [ + "2021-03-01-preview" + ], + "Operations": [ + "2021-03-01-preview", + "2022-03-02-privatepreview", + "2022-09-12-privatepreview" + ] + }, + "Microsoft.App": { + "connectedEnvironments": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "connectedEnvironments/certificates": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "connectedEnvironments/daprComponents": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "connectedEnvironments/storages": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "containerApps": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "containerApps/authConfigs": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "containerApps/sourcecontrols": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "getCustomDomainVerificationId": [ + "2023-05-02-preview" + ], + "jobs": [ + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/availableManagedEnvironmentsWorkloadProfileTypes": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/billingMeters": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/connectedEnvironmentOperationResults": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/connectedEnvironmentOperationStatuses": [ + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/containerappOperationResults": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/containerappOperationStatuses": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/containerappsjobOperationResults": [ + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/containerappsjobOperationStatuses": [ + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/managedCertificateOperationStatuses": [ + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/managedEnvironmentOperationResults": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/managedEnvironmentOperationStatuses": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/sourceControlOperationResults": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/sourceControlOperationStatuses": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "locations/usages": [ + "2023-05-02-preview" + ], + "managedEnvironments": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "managedEnvironments/certificates": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "managedEnvironments/daprComponents": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "managedEnvironments/managedCertificates": [ + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "managedEnvironments/storages": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ], + "operations": [ + "2022-01-01-preview", + "2022-03-01", + "2022-06-01-preview", + "2022-10-01", + "2022-11-01-preview", + "2023-02-01", + "2023-04-01-preview", + "2023-05-01", + "2023-05-02-preview" + ] + }, + "Microsoft.AppAssessment": { + "Locations": [ + "2020-09-01-privatepreview" + ], + "Locations/OperationStatuses": [ + "2020-09-01-privatepreview" + ], + "Locations/osVersions": [ + "2020-09-01-privatepreview" + ], + "operations": [ + "2020-09-01-privatepreview" + ] + }, + "Microsoft.AppComplianceAutomation": { + "checkNameAvailability": [ + "2023-02-15-preview" + ], + "getCollectionCount": [ + "2023-02-15-preview" + ], + "getOverviewStatus": [ + "2023-02-15-preview" + ], + "listInUseStorageAccounts": [ + "2023-02-15-preview" + ], + "locations": [ + "2022-05-10-privatepreview", + "2022-11-16-preview", + "2023-02-15-preview" + ], + "locations/operationStatuses": [ + "2022-05-10-privatepreview", + "2022-11-16-preview", + "2023-02-15-preview" + ], + "onboard": [ + "2023-02-15-preview" + ], + "operations": [ + "2022-05-10-beta", + "2022-05-10-privatepreview", + "2022-11-16-preview", + "2023-02-15-preview" + ], + "reports": [ + "2022-05-10-beta", + "2022-05-10-privatepreview", + "2022-11-16-preview", + "2023-02-15-preview" + ], + "reports/evidences": [ + "2023-02-15-preview" + ], + "reports/snapshots": [ + "2022-05-10-beta", + "2022-05-10-privatepreview", + "2022-11-16-preview", + "2023-02-15-preview" + ], + "reports/webhooks": [ + "2023-02-15-preview" + ], + "triggerEvaluation": [ + "2023-02-15-preview" + ] + }, + "Microsoft.AppConfiguration": { + "checkNameAvailability": [ + "2019-02-01-preview", + "2019-10-01", + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "configurationStores": [ + "2019-02-01-preview", + "2019-10-01", + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "configurationStores/eventGridFilters": [ + "2019-02-01-preview", + "2019-10-01", + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "configurationStores/keyValues": [ + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "configurationStores/privateEndpointConnections": [ + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "configurationStores/replicas": [ + "2022-03-01-preview", + "2023-03-01" + ], + "deletedConfigurationStores": [ + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "locations": [ + "2019-02-01-preview", + "2019-10-01", + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "locations/checkNameAvailability": [ + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "locations/deletedConfigurationStores": [ + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "locations/operationsStatus": [ + "2019-02-01-preview", + "2019-10-01", + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ], + "operations": [ + "2019-02-01-preview", + "2019-10-01", + "2019-11-01-preview", + "2020-06-01", + "2020-07-01-preview", + "2021-03-01-preview", + "2021-10-01-preview", + "2022-03-01-preview", + "2022-05-01", + "2023-03-01" + ] + }, + "Microsoft.AppPlatform": { + "locations": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "locations/checkNameAvailability": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "locations/operationResults": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "locations/operationStatus": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "operations": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "runtimeVersions": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/apiPortals": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/apiPortals/domains": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/apms": [ + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/applicationAccelerators": [ + "2022-11-01-preview", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/applicationAccelerators/customizedAccelerators": [ + "2022-11-01-preview", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/applicationLiveViews": [ + "2022-11-01-preview", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/apps": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/apps/bindings": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/apps/deployments": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/apps/domains": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/buildServices": [ + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/buildServices/agentPools": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/buildServices/builders": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/buildServices/builders/buildpackBindings": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/buildServices/builds": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/certificates": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/configServers": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/configurationServices": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/containerRegistries": [ + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/DevToolPortals": [ + "2022-11-01-preview", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/eurekaServers": [ + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/gateways": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/gateways/domains": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/gateways/routeConfigs": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/monitoringSettings": [ + "2020-07-01", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/serviceRegistries": [ + "2022-01-01-preview", + "2022-03-01-preview", + "2022-04-01", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ], + "Spring/storages": [ + "2021-09-01-preview", + "2022-01-01-preview", + "2022-03-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-03-01-preview", + "2023-05-01-preview", + "2023-07-01-preview" + ] + }, + "Microsoft.Attestation": { + "attestationProviders": [ + "2018-09-01", + "2018-09-01-preview", + "2020-10-01", + "2021-06-01", + "2021-06-01-preview" + ], + "attestationProviders/privateEndpointConnections": [ + "2020-10-01", + "2021-06-01", + "2021-06-01-preview" + ], + "defaultProviders": [ + "2018-09-01", + "2018-09-01-preview", + "2020-10-01", + "2021-06-01", + "2021-06-01-preview" + ], + "locations": [ + "2018-09-01", + "2018-09-01-preview", + "2020-10-01", + "2021-06-01", + "2021-06-01-preview" + ], + "locations/defaultProvider": [ + "2018-09-01", + "2018-09-01-preview", + "2020-10-01", + "2021-06-01", + "2021-06-01-preview" + ], + "operations": [ + "2018-09-01", + "2018-09-01-preview", + "2020-10-01", + "2021-06-01", + "2021-06-01-preview", + "2023-03-01-preview" + ] + }, + "Microsoft.Authorization": { + "accessReviewHistoryDefinitions": [ + "2021-11-16-preview", + "2021-12-01-preview" + ], + "accessReviewScheduleDefinitions": [ + "2018-05-01-preview", + "2021-03-01-preview", + "2021-07-01-preview", + "2021-11-16-preview", + "2021-12-01-preview" + ], + "accessReviewScheduleDefinitions/instances": [ + "2021-07-01-preview", + "2021-11-16-preview", + "2021-12-01-preview" + ], + "accessReviewScheduleSettings": [ + "2018-05-01-preview", + "2021-03-01-preview", + "2021-07-01-preview", + "2021-11-16-preview", + "2021-12-01-preview" + ], + "batchResourceCheckAccess": [ + "2018-09-01-preview" + ], + "checkAccess": [ + "2018-09-01-preview" + ], + "classicAdministrators": [ + "2014-04-01-preview", + "2014-07-01-preview", + "2014-10-01-preview", + "2015-05-01-preview", + "2015-06-01", + "2015-07-01" + ], + "dataAliases": [ + "2018-06-01-preview", + "2020-03-01-preview", + "2020-09-01" + ], + "dataPolicyManifests": [ + "2020-09-01" + ], + "denyAssignments": [ + "2018-07-01", + "2018-07-01-preview", + "2019-03-01-preview", + "2022-04-01" + ], + "diagnosticSettings": [ + "2017-04-01-preview" + ], + "diagnosticSettingsCategories": [ + "2017-04-01-preview" + ], + "elevateAccess": [ + "2014-04-01-preview", + "2014-07-01-preview", + "2014-10-01-preview", + "2015-05-01-preview", + "2015-06-01", + "2015-07-01", + "2016-07-01", + "2017-05-01" + ], + "eligibleChildResources": [ + "2020-10-01", + "2020-10-01-preview" + ], + "EnablePrivateLinkNetworkAccess": [ + "2023-03-01-preview" + ], + "findOrphanRoleAssignments": [ + "2019-04-01-preview" + ], + "locks": [ + "2015-01-01", + "2015-05-01-preview", + "2015-06-01", + "2016-09-01", + "2017-04-01", + "2020-05-01" + ], + "operations": [ + "2014-06-01", + "2014-10-01-preview", + "2015-01-01", + "2015-07-01", + "2016-07-01", + "2017-05-01" + ], + "operationStatus": [ + "2020-05-01" + ], + "permissions": [ + "2014-04-01-preview", + "2014-07-01-preview", + "2014-10-01-preview", + "2015-05-01-preview", + "2015-06-01", + "2015-07-01", + "2016-07-01", + "2017-05-01", + "2018-01-01-preview", + "2018-07-01", + "2022-04-01" + ], + "policyAssignments": [ + "2015-10-01-preview", + "2015-11-01", + "2016-04-01", + "2016-12-01", + "2017-06-01-preview", + "2018-03-01", + "2018-05-01", + "2019-01-01", + "2019-06-01", + "2019-09-01", + "2020-03-01", + "2020-08-01", + "2020-09-01", + "2021-06-01", + "2022-06-01" + ], + "policyDefinitions": [ + "2015-10-01-preview", + "2015-11-01", + "2016-04-01", + "2016-12-01", + "2018-03-01", + "2018-05-01", + "2019-01-01", + "2019-06-01", + "2019-09-01", + "2020-03-01", + "2020-08-01", + "2020-09-01", + "2021-06-01" + ], + "policyExemptions": [ + "2020-07-01-preview", + "2022-07-01-preview" + ], + "policySetDefinitions": [ + "2017-06-01-preview", + "2018-03-01", + "2018-05-01", + "2019-01-01", + "2019-06-01", + "2019-09-01", + "2020-03-01", + "2020-08-01", + "2020-09-01", + "2021-06-01" + ], + "privateLinkAssociations": [ + "2020-05-01", + "2023-01-01", + "2023-02-01" + ], + "providerOperations": [ + "2015-07-01", + "2015-07-01-preview", + "2016-07-01", + "2017-05-01", + "2018-01-01-preview", + "2018-07-01", + "2022-04-01" + ], + "resourceManagementPrivateLinks": [ + "2020-05-01" + ], + "roleAssignmentApprovals": [ + "2021-01-01-preview" + ], + "roleAssignmentApprovals/stages": [ + "2021-01-01-preview" + ], + "roleAssignments": [ + "2014-04-01-preview", + "2014-07-01-preview", + "2014-10-01-preview", + "2015-05-01-preview", + "2015-06-01", + "2015-07-01", + "2016-07-01", + "2017-05-01", + "2017-09-01", + "2017-10-01-preview", + "2018-01-01-preview", + "2018-07-01", + "2018-09-01-preview", + "2018-12-01-preview", + "2019-04-01-preview", + "2020-03-01-preview", + "2020-04-01-preview", + "2020-08-01-preview", + "2020-10-01-preview", + "2021-04-01-preview", + "2022-01-01-preview", + "2022-04-01" + ], + "roleAssignmentScheduleInstances": [ + "2020-10-01", + "2020-10-01-preview" + ], + "roleAssignmentScheduleRequests": [ + "2020-10-01", + "2020-10-01-preview", + "2022-04-01-preview" + ], + "roleAssignmentSchedules": [ + "2020-10-01", + "2020-10-01-preview" + ], + "roleAssignmentsUsageMetrics": [ + "2019-08-01-preview" + ], + "roleDefinitions": [ + "2014-04-01-preview", + "2014-07-01-preview", + "2014-10-01-preview", + "2015-05-01-preview", + "2015-06-01", + "2015-07-01", + "2016-07-01", + "2017-05-01", + "2017-09-01", + "2018-01-01-preview", + "2018-07-01", + "2022-04-01", + "2022-05-01-preview" + ], + "roleEligibilityScheduleInstances": [ + "2020-10-01", + "2020-10-01-preview" + ], + "roleEligibilityScheduleRequests": [ + "2020-10-01", + "2020-10-01-preview", + "2022-04-01-preview" + ], + "roleEligibilitySchedules": [ + "2020-10-01", + "2020-10-01-preview" + ], + "roleManagementAlertConfigurations": [ + "2022-08-01-preview" + ], + "roleManagementAlertDefinitions": [ + "2022-08-01-preview" + ], + "roleManagementAlertOperations": [ + "2022-08-01-preview" + ], + "roleManagementAlerts": [ + "2022-08-01-preview" + ], + "roleManagementPolicies": [ + "2020-10-01", + "2020-10-01-preview" + ], + "roleManagementPolicyAssignments": [ + "2020-10-01", + "2020-10-01-preview" + ], + "variables": [ + "2022-08-01-preview" + ], + "variables/values": [ + "2022-08-01-preview" + ] + }, + "Microsoft.Automanage": { + "accounts": [ + "2020-06-30-preview" + ], + "bestPractices": [ + "2021-04-30-preview", + "2022-05-04" + ], + "bestPractices/versions": [ + "2021-04-30-preview", + "2022-05-04" + ], + "configurationProfileAssignments": [ + "2020-06-30-preview", + "2021-04-30-preview", + "2022-05-04" + ], + "configurationProfilePreferences": [ + "2020-06-30-preview" + ], + "configurationProfiles": [ + "2021-04-30-preview", + "2022-05-04" + ], + "configurationProfiles/versions": [ + "2021-04-30-preview", + "2022-05-04" + ], + "operations": [ + "2021-04-30-preview", + "2022-03-30-preview", + "2022-05-04", + "2022-06-01-preview", + "2023-03-31-preview", + "2023-04-01-preview" + ] + }, + "Microsoft.Automation": { + "automationAccounts": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2021-04-01", + "2021-06-22", + "2022-01-31", + "2022-02-22", + "2022-08-08" + ], + "automationAccounts/agentRegistrationInformation": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2021-04-01", + "2021-06-22" + ], + "automationAccounts/certificates": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/compilationjobs": [ + "2015-10-31", + "2018-01-15", + "2019-06-01", + "2020-01-13-preview" + ], + "automationAccounts/configurations": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/connections": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/connectionTypes": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/credentials": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/hybridRunbookWorkerGroups": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2021-04-01", + "2021-06-22", + "2022-02-22", + "2022-08-08" + ], + "automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers": [ + "2021-06-22", + "2022-08-08" + ], + "automationAccounts/jobs": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/jobSchedules": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/modules": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/nodeConfigurations": [ + "2015-10-31", + "2018-01-15", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/privateEndpointConnectionProxies": [ + "2020-01-13-preview", + "2021-06-22" + ], + "automationAccounts/privateEndpointConnections": [ + "2020-01-13-preview", + "2021-06-22" + ], + "automationAccounts/privateLinkResources": [ + "2020-01-13-preview", + "2021-06-22" + ], + "automationAccounts/python2Packages": [ + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/python3Packages": [ + "2022-08-08" + ], + "automationAccounts/runbooks": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/runbooks/draft": [ + "2015-10-31", + "2018-06-30", + "2019-06-01", + "2022-08-08" + ], + "automationAccounts/schedules": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/softwareUpdateConfigurationMachineRuns": [ + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/softwareUpdateConfigurationRuns": [ + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/softwareUpdateConfigurations": [ + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview" + ], + "automationAccounts/sourceControls": [ + "2017-05-15-preview", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/sourceControls/sourceControlSyncJobs": [ + "2017-05-15-preview", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/variables": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview", + "2022-08-08" + ], + "automationAccounts/watchers": [ + "2015-10-31", + "2019-06-01", + "2020-01-13-preview" + ], + "automationAccounts/webhooks": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30" + ], + "deletedAutomationAccounts": [ + "2022-01-31" + ], + "operations": [ + "2015-01-01-preview", + "2015-10-31", + "2017-05-15-preview", + "2018-01-15", + "2018-06-30", + "2019-06-01", + "2020-01-13-preview" + ] + }, + "Microsoft.AutonomousDevelopmentPlatform": { + "accounts": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview" + ], + "accounts/dataPools": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview" + ], + "checknameavailability": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview", + "2022-02-01-privatepreview", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "locations": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview", + "2022-02-01-privatepreview", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "locations/operationstatuses": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview", + "2022-02-01-privatepreview", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "operations": [ + "2020-07-01-preview", + "2021-02-01-preview", + "2021-11-01-preview", + "2022-02-01-privatepreview", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "workspaces/eventgridfilters": [ + "2022-02-01-privatepreview" + ] + }, + "Microsoft.AutonomousSystems": { + "operations": [ + "2020-05-01-preview" + ], + "workspaces": [ + "2020-05-01-preview" + ], + "workspaces/operationresults": [ + "2020-05-01-preview" + ], + "workspaces/validateCreateRequest": [ + "2020-05-01-preview" + ] + }, + "Microsoft.AVS": { + "locations": [ + "2020-03-20", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "locations/checkQuotaAvailability": [ + "2020-03-20", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "locations/checkTrialAvailability": [ + "2020-03-20", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "operations": [ + "2020-03-20", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/addons": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/authorizations": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/cloudLinks": [ + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/clusters": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/clusters/datastores": [ + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/clusters/placementPolicies": [ + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/clusters/virtualMachines": [ + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/eventGridFilters": [ + "2023-09-01" + ], + "privateClouds/globalReachConnections": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/hcxEnterpriseSites": [ + "2020-03-20", + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/scriptExecutions": [ + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/scriptPackages": [ + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/scriptPackages/scriptCmdlets": [ + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks": [ + "2020-07-17-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/dhcpConfigurations": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/dnsServices": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/dnsZones": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/gateways": [ + "2020-07-17-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/portMirroringProfiles": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/publicIPs": [ + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/segments": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/virtualMachines": [ + "2020-07-17-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ], + "privateClouds/workloadNetworks/vmGroups": [ + "2020-07-17-preview", + "2021-01-01-preview", + "2021-06-01", + "2021-12-01", + "2022-05-01", + "2023-03-01" + ] + }, + "Microsoft.AwsConnector": { + "Locations": [ + "2023-12-01-preview" + ], + "Operations": [ + "2023-12-01-preview" + ] + }, + "Microsoft.AzureActiveDirectory": { + "b2cDirectories": [ + "2016-02-10-privatepreview", + "2016-12-13-preview", + "2017-01-30", + "2019-01-01-preview", + "2019-01-01-privatepreview", + "2020-05-01-preview", + "2021-04-01", + "2021-04-01-preview", + "2022-03-01-preview", + "2023-01-18-preview" + ], + "b2ctenants": [ + "2016-02-10-privatepreview", + "2020-05-01-preview", + "2021-04-01", + "2021-04-01-preview", + "2022-03-01-preview", + "2023-01-18-preview" + ], + "checkNameAvailability": [ + "2019-01-01-preview", + "2019-01-01-privatepreview", + "2020-05-01-preview", + "2021-04-01", + "2021-04-01-preview", + "2022-03-01-preview", + "2023-01-18-preview" + ], + "ciamDirectories": [ + "2022-03-01-preview", + "2023-01-18-preview" + ], + "guestUsages": [ + "2020-05-01-preview", + "2021-04-01", + "2021-04-01-preview", + "2022-03-01-preview", + "2023-01-18-preview" + ], + "operations": [ + "2016-02-10-privatepreview", + "2016-12-13-preview", + "2017-01-30", + "2019-01-01-preview", + "2019-01-01-privatepreview", + "2020-05-01-preview", + "2021-04-01", + "2021-04-01-preview", + "2022-03-01-preview", + "2023-01-18-preview" + ] + }, + "Microsoft.AzureArcData": { + "dataControllers": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview" + ], + "dataControllers/activeDirectoryConnectors": [ + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview" + ], + "Locations": [ + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview", + "2023-05-16-preview" + ], + "Locations/OperationStatuses": [ + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview", + "2023-05-16-preview" + ], + "Operations": [ + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview", + "2023-05-16-preview" + ], + "postgresInstances": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview" + ], + "sqlManagedInstances": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview" + ], + "sqlManagedInstances/failoverGroups": [ + "2023-01-15-preview" + ], + "sqlServerInstances": [ + "2021-06-01-preview", + "2021-07-01-preview", + "2021-08-01", + "2021-11-01", + "2022-03-01-preview", + "2022-06-15-preview", + "2023-01-15-preview" + ], + "sqlServerInstances/databases": [ + "2022-06-15-preview", + "2023-01-15-preview" + ] + }, + "Microsoft.AzureBridge.Admin": { + "activations": [ + "2016-01-01" + ], + "activations/downloadedProducts": [ + "2016-01-01" + ] + }, + "Microsoft.AzureCIS": { + "autopilotEnvironments": [ + "2021-08-10-privatepreview" + ], + "dsmsAllowlists": [ + "2021-08-10-privatepreview" + ], + "dsmsRootFolders": [ + "2021-08-10-privatepreview" + ], + "dstsApplications": [ + "2021-08-10-privatepreview" + ], + "dstsServiceAccounts": [ + "2021-08-10-privatepreview" + ], + "dstsServiceClientIdentities": [ + "2021-08-10-privatepreview" + ], + "Locations": [ + "2021-08-10-privatepreview" + ], + "Locations/OperationStatuses": [ + "2021-08-10-privatepreview" + ], + "plannedQuotas": [ + "2022-08-22-privatepreview" + ] + }, + "Microsoft.AzureData": { + "sqlServerRegistrations": [ + "2017-03-01-preview", + "2019-07-24-preview" + ], + "sqlServerRegistrations/sqlServers": [ + "2017-03-01-preview", + "2019-07-24-preview" + ] + }, + "Microsoft.AzurePercept": { + "checkNameAvailability": [ + "2021-09-01-preview", + "2022-04-01-preview" + ], + "operations": [ + "2021-09-01-preview", + "2022-04-01-preview" + ] + }, + "Microsoft.AzurePlaywrightService": { + "checkNameAvailability": [ + "2022-04-05-preview", + "2023-06-01-preview" + ], + "Locations": [ + "2022-04-05-preview", + "2023-06-01-preview" + ], + "operations": [ + "2022-04-05-preview", + "2023-06-01-preview" + ], + "registeredSubscriptions": [ + "2022-04-05-preview", + "2023-06-01-preview" + ] + }, + "Microsoft.AzureScan": { + "checkNameAvailability": [ + "2022-05-17-preview" + ], + "locations": [ + "2022-05-17-preview" + ], + "locations/OperationStatuses": [ + "2022-05-17-preview" + ], + "Operations": [ + "2022-05-17-preview" + ], + "scanningAccounts": [ + "2022-05-17-preview" + ] + }, + "Microsoft.AzureSphere": { + "catalogs": [ + "2022-09-01-preview" + ], + "catalogs/certificates": [ + "2022-09-01-preview" + ], + "catalogs/images": [ + "2022-09-01-preview" + ], + "catalogs/products": [ + "2022-09-01-preview" + ], + "catalogs/products/deviceGroups": [ + "2022-09-01-preview" + ], + "catalogs/products/deviceGroups/deployments": [ + "2022-09-01-preview" + ], + "catalogs/products/deviceGroups/devices": [ + "2022-09-01-preview" + ], + "locations": [ + "2022-09-01-preview" + ], + "locations/operationStatuses": [ + "2022-09-01-preview" + ], + "operations": [ + "2022-09-01-preview" + ] + }, + "Microsoft.AzureStack": { + "cloudManifestFiles": [ + "2017-06-01", + "2022-06-01" + ], + "generateDeploymentLicense": [ + "2022-06-01" + ], + "linkedSubscriptions": [ + "2020-06-01-preview" + ], + "operations": [ + "2017-06-01", + "2022-06-01" + ], + "registrations": [ + "2016-01-01", + "2017-06-01", + "2020-06-01-preview", + "2022-06-01" + ], + "registrations/customerSubscriptions": [ + "2017-06-01", + "2020-06-01-preview", + "2022-06-01" + ], + "registrations/products": [ + "2016-01-01", + "2017-06-01", + "2022-06-01" + ] + }, + "Microsoft.AzureStackHCI": { + "clusters": [ + "2020-03-01-preview", + "2020-10-01", + "2021-01-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01" + ], + "clusters/arcSettings": [ + "2021-01-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01" + ], + "clusters/arcSettings/extensions": [ + "2021-01-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01" + ], + "clusters/offers": [ + "2022-04-01-preview" + ], + "clusters/publishers": [ + "2022-04-01-preview" + ], + "clusters/publishers/offers": [ + "2022-04-01-preview" + ], + "clusters/publishers/offers/skus": [ + "2022-04-01-preview" + ], + "clusters/updates": [ + "2022-08-01-preview", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01" + ], + "clusters/updates/updateRuns": [ + "2022-08-01-preview", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01" + ], + "clusters/updateSummaries": [ + "2022-08-01-preview", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01" + ], + "galleryImages": [ + "2021-07-01-preview", + "2021-09-01-preview", + "2022-12-15-preview", + "2023-07-01-preview" + ], + "locations": [ + "2020-10-01", + "2020-11-01-preview", + "2021-01-01-preview", + "2021-07-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-08-01-preview", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01", + "2023-06-01", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "locations/operationstatuses": [ + "2020-10-01", + "2021-01-01-preview", + "2021-07-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-08-01-preview", + "2022-09-01", + "2022-10-01", + "2022-11-01-preview", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01", + "2023-06-01", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "marketplaceGalleryImages": [ + "2021-09-01-preview", + "2022-12-15-preview", + "2023-07-01-preview" + ], + "networkInterfaces": [ + "2021-07-01-preview", + "2021-09-01-preview", + "2022-12-15-preview", + "2023-07-01-preview" + ], + "operations": [ + "2020-03-01-preview", + "2020-10-01", + "2020-11-01-preview", + "2021-01-01-preview", + "2021-07-01-preview", + "2021-09-01", + "2021-09-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-08-01-preview", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2022-12-15-preview", + "2023-02-01", + "2023-03-01", + "2023-06-01", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "registeredSubscriptions": [ + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-02-01", + "2023-03-01", + "2023-06-01" + ], + "storageContainers": [ + "2021-09-01-preview", + "2022-12-15-preview", + "2023-07-01-preview" + ], + "virtualHardDisks": [ + "2021-07-01-preview", + "2021-09-01-preview", + "2022-12-15-preview", + "2023-07-01-preview" + ], + "virtualMachineInstances": [ + "2023-07-01-preview" + ], + "virtualMachineInstances/guestAgents": [ + "2023-07-01-preview" + ], + "virtualMachines": [ + "2021-07-01-preview", + "2021-09-01-preview", + "2022-12-15-preview" + ], + "virtualMachines/extensions": [ + "2021-09-01-preview", + "2022-12-15-preview" + ], + "virtualMachines/guestAgents": [ + "2021-09-01-preview", + "2022-12-15-preview" + ], + "virtualMachines/hybridIdentityMetadata": [ + "2021-09-01-preview", + "2022-12-15-preview" + ], + "virtualNetworks": [ + "2021-07-01-preview", + "2021-09-01-preview", + "2022-12-15-preview", + "2023-07-01-preview" + ] + }, + "Microsoft.Backup.Admin": { + "backupLocations": [ + "2018-09-01" + ] + }, + "Microsoft.BackupSolutions": { + "locations": [ + "2016-09-01-preview", + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-07-01", + "2022-04-01-preview", + "2022-08-01-preview" + ], + "locations/operationstatuses": [ + "2022-08-01-preview" + ], + "operations": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview" + ], + "VMwareApplications": [ + "2022-08-01-preview" + ] + }, + "Microsoft.BareMetalInfrastructure": { + "bareMetalInstances": [ + "2020-08-06-preview", + "2021-08-09", + "2023-04-06" + ], + "bareMetalStorageInstances": [ + "2023-04-06" + ], + "locations": [ + "2020-08-06-preview", + "2021-08-09", + "2023-04-06" + ], + "locations/operationsStatus": [ + "2020-08-06-preview" + ], + "operations": [ + "2020-08-06-preview", + "2021-08-09", + "2023-04-06" + ] + }, + "Microsoft.Batch": { + "batchAccounts": [ + "2014-05-01-privatepreview", + "2015-07-01", + "2015-09-01", + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "batchAccounts/applications": [ + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "batchAccounts/applications/versions": [ + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "batchAccounts/certificates": [ + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "batchAccounts/detectors": [ + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "batchAccounts/pools": [ + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "locations": [ + "2015-09-01", + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "locations/accountOperationResults": [ + "2014-05-01-privatepreview", + "2015-07-01", + "2015-09-01", + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "locations/checkNameAvailability": [ + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "locations/cloudServiceSkus": [ + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "locations/quotas": [ + "2015-09-01", + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "locations/virtualMachineSkus": [ + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ], + "operations": [ + "2015-09-01", + "2015-12-01", + "2017-01-01", + "2017-05-01", + "2017-09-01", + "2018-12-01", + "2019-04-01", + "2019-08-01", + "2020-03-01", + "2020-03-01-preview", + "2020-05-01", + "2020-09-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01", + "2023-05-01" + ] + }, + "Microsoft.Billing": { + "billingAccounts": [ + "2018-05-31", + "2018-06-30", + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview", + "2020-12-15-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/agreements": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingAccounts/alerts": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/appliedReservationOrders": [ + "2020-12-15-beta", + "2020-12-15-privatepreview" + ], + "billingAccounts/associatedTenants": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/availableBalance": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/billingPermissions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview", + "2020-12-15-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/alerts": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/availableBalance": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingAccounts/billingProfiles/billingPermissions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/billingRoleAssignments": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/billingRoleDefinitions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingProfiles/billingSubscriptions": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/createBillingRoleAssignment": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingProfiles/customers": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/departments": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/departments/billingPermissions": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/departments/billingRoleAssignments": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/departments/billingRoleDefinitions": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/departments/billingSubscriptions": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/departments/enrollmentAccounts": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/enrollmentAccounts": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/enrollmentAccounts/billingPermissions": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/enrollmentAccounts/billingSubscriptions": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/instructions": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/invoices": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingAccounts/billingProfiles/invoices/pricesheet": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/invoices/transactions": [ + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/invoiceSections": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingProfiles/invoiceSections/billingPermissions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingProfiles/invoiceSections/billingSubscriptions": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/invoiceSections/createBillingRoleAssignment": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingProfiles/invoiceSections/initiateTransfer": [ + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/invoiceSections/products": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/invoiceSections/products/transfer": [ + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/invoiceSections/products/updateAutoRenew": [ + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/invoiceSections/transactions": [ + "2019-10-01-preview", + "2020-11-01-privatepreview" + ], + "billingAccounts/billingProfiles/invoiceSections/transfers": [ + "2019-10-01-preview", + "2020-11-01-privatepreview" + ], + "billingAccounts/billingProfiles/invoiceSections/validateDeleteInvoiceSectionEligibility": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/billingProfiles/notificationContacts": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/BillingProfiles/patchOperations": [ + "2018-11-01-preview" + ], + "billingAccounts/billingProfiles/paymentMethodLinks": [ + "2020-11-01-privatepreview", + "2021-10-01", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/paymentMethods": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/policies": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingProfiles/pricesheet": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/pricesheetDownloadOperations": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "billingAccounts/billingProfiles/products": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/reservations": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/billingProfiles/transactions": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-11-01-privatepreview" + ], + "billingAccounts/billingProfiles/validateDeleteBillingProfileEligibility": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/billingProfiles/validateDetachPaymentMethodEligibility": [ + "2019-10-01-preview" + ], + "billingAccounts/billingProfilesSummaries": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/billingRoleAssignments": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingRoleDefinitions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingSubscriptionAliases": [ + "2021-10-01" + ], + "billingAccounts/billingSubscriptions": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview", + "2020-12-15-privatepreview", + "2021-10-01", + "2022-10-01-privatepreview" + ], + "billingAccounts/billingSubscriptions/elevateRole": [ + "2020-12-15-beta", + "2020-12-15-privatepreview" + ], + "billingAccounts/billingSubscriptions/invoices": [ + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingAccounts/billingSubscriptions/policies": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/createBillingRoleAssignment": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/createInvoiceSectionOperations": [ + "2018-11-01-preview" + ], + "billingAccounts/customers": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/customers/billingPermissions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/customers/billingRoleAssignments": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/customers/billingRoleDefinitions": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/customers/billingSubscriptions": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/customers/createBillingRoleAssignment": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/customers/initiateTransfer": [ + "2019-10-01-preview" + ], + "billingAccounts/customers/policies": [ + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingAccounts/customers/products": [ + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/customers/transactions": [ + "2019-10-01-preview", + "2020-11-01-privatepreview" + ], + "billingAccounts/customers/transfers": [ + "2019-10-01-preview", + "2020-11-01-privatepreview" + ], + "billingAccounts/customers/transferSupportedAccounts": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/departments": [ + "2018-06-30", + "2019-10-01-preview", + "2020-12-15-privatepreview" + ], + "billingAccounts/departments/billingPermissions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/departments/billingRoleAssignments": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/departments/billingRoleDefinitions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/departments/billingSubscriptions": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/departments/enrollmentAccounts": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/enrollmentAccounts": [ + "2018-06-30", + "2019-10-01-preview", + "2020-12-15-privatepreview" + ], + "billingAccounts/enrollmentAccounts/billingPermissions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/enrollmentAccounts/billingRoleAssignments": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/enrollmentAccounts/billingRoleDefinitions": [ + "2019-10-01-preview", + "2020-05-01", + "2020-12-15-privatepreview" + ], + "billingAccounts/enrollmentAccounts/billingSubscriptions": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/incentiveSchedules": [ + "2022-10-01-beta" + ], + "billingAccounts/incentiveSchedules/milestones": [ + "2022-10-01-beta" + ], + "billingAccounts/invoices": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingAccounts/invoices/summary": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/invoices/transactions": [ + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingAccounts/invoices/transactionSummary": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/invoiceSections": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/billingSubscriptionMoveOperations": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/billingSubscriptions": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/billingSubscriptions/transfer": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/elevate": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/initiateTransfer": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/patchOperations": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/productMoveOperations": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/products": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/products/transfer": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/products/updateAutoRenew": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/productTransfersResults": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/transactions": [ + "2018-11-01-preview" + ], + "billingAccounts/invoiceSections/transfers": [ + "2018-11-01-preview" + ], + "billingAccounts/lineOfCredit": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "billingAccounts/listInvoiceSectionsWithCreateSubscriptionPermission": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/listProductRecommendations": [ + "2022-10-01-privatepreview" + ], + "billingAccounts/notificationContacts": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/operationResults": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview", + "2020-12-15-privatepreview", + "2021-10-01", + "2022-10-01-privatepreview" + ], + "billingAccounts/patchOperations": [ + "2018-11-01-preview" + ], + "billingAccounts/payableOverage": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/paymentMethods": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-11-01-privatepreview", + "2021-10-01" + ], + "billingAccounts/payNow": [ + "2020-12-15-privatepreview" + ], + "billingAccounts/permissionRequests": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/policies": [ + "2020-11-01-privatepreview", + "2022-10-01-privatepreview" + ], + "billingAccounts/products": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "billingAccounts/promotionalCredits": [ + "2020-11-01-privatepreview" + ], + "billingAccounts/reservationOrders": [ + "2020-11-01-beta", + "2020-11-01-privatepreview", + "2022-10-01-beta", + "2022-10-01-privatepreview", + "2023-04-01-beta" + ], + "billingAccounts/reservationOrders/reservations": [ + "2020-11-01-beta", + "2020-11-01-privatepreview", + "2022-10-01-beta", + "2022-10-01-privatepreview", + "2023-04-01-beta" + ], + "billingAccounts/reservations": [ + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-beta", + "2020-11-01-privatepreview", + "2022-10-01-beta", + "2022-10-01-privatepreview", + "2023-04-01-beta" + ], + "billingAccounts/savingsPlanOrders": [ + "2020-11-01-beta", + "2020-11-01-privatepreview", + "2020-12-15-beta", + "2020-12-15-privatepreview", + "2022-10-01-beta", + "2022-10-01-privatepreview", + "2023-04-01-beta" + ], + "billingAccounts/savingsPlanOrders/savingsPlans": [ + "2020-11-01-beta", + "2020-11-01-privatepreview", + "2020-12-15-beta", + "2020-12-15-privatepreview", + "2022-10-01-beta", + "2022-10-01-privatepreview", + "2023-04-01-beta" + ], + "billingAccounts/savingsPlans": [ + "2020-11-01-beta", + "2020-11-01-privatepreview", + "2020-12-15-beta", + "2020-12-15-privatepreview", + "2022-10-01-beta", + "2022-10-01-privatepreview", + "2023-04-01-beta" + ], + "billingAccounts/transactions": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "billingPeriods": [ + "2017-04-24-preview", + "2018-03-01-preview" + ], + "billingPermissions": [ + "2018-11-01-preview" + ], + "billingProperty": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-11-01-privatepreview" + ], + "billingRoleAssignments": [ + "2018-11-01-preview" + ], + "billingRoleDefinitions": [ + "2018-11-01-preview" + ], + "createBillingRoleAssignment": [ + "2018-11-01-preview" + ], + "departments": [ + "2018-05-31", + "2018-06-30" + ], + "enrollmentAccounts": [ + "2018-03-01-preview" + ], + "invoices": [ + "2017-02-27-preview", + "2017-04-24-preview", + "2018-03-01-preview", + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "operationResults": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "operations": [ + "2017-02-27-preview", + "2017-04-24-preview", + "2018-03-01-preview", + "2018-06-30", + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01", + "2020-09-01-preview", + "2020-11-01-privatepreview" + ], + "operationStatus": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ], + "paymentMethods": [ + "2020-11-01-privatepreview", + "2021-10-01" + ], + "permissionRequests": [ + "2020-11-01-privatepreview" + ], + "promotionalCredits": [ + "2020-11-01-privatepreview" + ], + "promotions": [ + "2020-09-01-preview", + "2020-11-01-preview" + ], + "promotions/checkeligibility": [ + "2020-09-01-preview", + "2020-11-01-preview" + ], + "transfers": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-11-01-privatepreview" + ], + "transfers/acceptTransfer": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "transfers/declineTransfer": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "transfers/operationStatus": [ + "2018-11-01-preview" + ], + "transfers/validateTransfer": [ + "2018-11-01-preview", + "2019-10-01-preview" + ], + "validateAddress": [ + "2018-11-01-preview", + "2019-10-01-preview", + "2020-05-01" + ] + }, + "Microsoft.BillingBenefits": { + "calculateMigrationCost": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "incentiveSchedules": [ + "2023-07-01-beta" + ], + "incentiveSchedules/milestones": [ + "2023-07-01-beta" + ], + "maccs": [ + "2023-11-01-beta", + "2023-11-01-preview" + ], + "maccs/contributors": [ + "2023-07-01-beta", + "2023-07-01-preview" + ], + "operationResults": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta", + "2023-07-01-beta", + "2023-07-01-preview" + ], + "operations": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrderAliases": [ + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta", + "2023-07-01-beta", + "2023-07-01-preview" + ], + "savingsPlanOrderAliases": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta", + "2023-07-01-beta", + "2023-07-01-preview" + ], + "savingsPlanOrders": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta", + "2023-07-01-beta", + "2023-07-01-preview" + ], + "savingsPlanOrders/savingsPlans": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta", + "2023-07-01-beta", + "2023-07-01-preview" + ], + "savingsPlans": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta", + "2023-07-01-beta", + "2023-07-01-preview" + ], + "validate": [ + "2021-07-01-beta", + "2021-07-01-privatepreview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ] + }, + "Microsoft.Bing": { + "accounts": [ + "2020-06-10" + ], + "accounts/skus": [ + "2020-06-10" + ], + "accounts/usages": [ + "2020-06-10" + ], + "locations": [ + "2020-06-10" + ], + "locations/operationStatuses": [ + "2020-06-10" + ], + "operations": [ + "2020-06-10" + ], + "registeredSubscriptions": [ + "2020-06-10" + ] + }, + "Microsoft.Blockchain": { + "blockchainMembers": [ + "2018-06-01-preview" + ], + "blockchainMembers/transactionNodes": [ + "2018-06-01-preview" + ] + }, + "Microsoft.BlockchainTokens": { + "Operations": [ + "2019-07-19-preview" + ] + }, + "Microsoft.Blueprint": { + "blueprintAssignments": [ + "2017-11-11-alpha", + "2017-11-11-preview", + "2018-11-01-alpha", + "2018-11-01-preview" + ], + "blueprintAssignments/assignmentOperations": [ + "2018-11-01-alpha", + "2018-11-01-preview" + ], + "blueprintAssignments/operations": [ + "2017-11-11-alpha", + "2017-11-11-preview" + ], + "blueprints": [ + "2017-11-11-alpha", + "2017-11-11-preview", + "2018-11-01-alpha", + "2018-11-01-preview" + ], + "blueprints/artifacts": [ + "2017-11-11-alpha", + "2017-11-11-preview", + "2018-11-01-alpha", + "2018-11-01-preview" + ], + "blueprints/versions": [ + "2017-11-11-alpha", + "2017-11-11-preview", + "2018-11-01-alpha", + "2018-11-01-preview" + ], + "blueprints/versions/artifacts": [ + "2017-11-11-alpha", + "2017-11-11-preview", + "2018-11-01-alpha", + "2018-11-01-preview" + ], + "operations": [ + "2017-11-11-alpha", + "2017-11-11-preview", + "2018-11-01-alpha", + "2018-11-01-preview" + ] + }, + "Microsoft.BotService": { + "botServices": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "botServices/channels": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "botServices/connections": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "botServices/privateEndpointConnectionProxies": [ + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "botServices/privateEndpointConnections": [ + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "botServices/privateLinkResources": [ + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "checkNameAvailability": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "enterpriseChannels": [ + "2018-07-12" + ], + "hostSettings": [ + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "listAuthServiceProviders": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "listQnAMakerEndpointKeys": [ + "2022-06-15-preview", + "2022-09-15" + ], + "locations": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "operationResults": [ + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ], + "operations": [ + "2017-12-01", + "2018-07-12", + "2020-06-02", + "2021-03-01", + "2021-05-01-preview", + "2022-06-15-preview", + "2022-09-15" + ] + }, + "Microsoft.Cache": { + "checkNameAvailability": [ + "2014-04-01", + "2014-04-01-alpha", + "2014-04-01-preview", + "2015-03-01", + "2015-08-01", + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "locations": [ + "2014-04-01", + "2014-04-01-preview", + "2015-03-01", + "2015-08-01", + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-04-01-preview", + "2020-06-01", + "2020-12-01", + "2021-02-01-preview", + "2021-03-01", + "2021-06-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-06-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01-preview", + "2023-07-01" + ], + "locations/asyncOperations": [ + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "locations/checkNameAvailability": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "locations/operationResults": [ + "2014-04-01", + "2014-04-01-preview", + "2015-03-01", + "2015-08-01", + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "locations/operationsStatus": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "operations": [ + "2014-04-01", + "2014-04-01-alpha", + "2014-04-01-preview", + "2015-03-01", + "2015-08-01", + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-10-01-preview", + "2020-12-01", + "2021-02-01-preview", + "2021-03-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01-preview", + "2023-07-01" + ], + "Redis": [ + "2014-04-01", + "2014-04-01-preview", + "2015-03-01", + "2015-08-01", + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "redis/accessPolicies": [ + "2023-05-01-preview" + ], + "redis/accessPolicyAssignments": [ + "2023-05-01-preview" + ], + "Redis/EventGridFilters": [ + "2014-04-01", + "2014-04-01-preview", + "2015-03-01", + "2015-08-01", + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "Redis/firewallRules": [ + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "Redis/linkedServers": [ + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "Redis/patchSchedules": [ + "2016-04-01", + "2017-02-01", + "2017-10-01", + "2018-03-01", + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "Redis/privateEndpointConnectionProxies": [ + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "Redis/privateEndpointConnectionProxies/validate": [ + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "redis/privateEndpointConnections": [ + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "Redis/privateLinkResources": [ + "2019-07-01", + "2020-06-01", + "2020-12-01", + "2021-06-01", + "2022-05-01", + "2022-06-01", + "2023-04-01", + "2023-05-01-preview" + ], + "redisEnterprise": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "redisEnterprise/databases": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "RedisEnterprise/privateEndpointConnectionProxies": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "RedisEnterprise/privateEndpointConnectionProxies/operationresults": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "RedisEnterprise/privateEndpointConnectionProxies/validate": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "redisEnterprise/privateEndpointConnections": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "RedisEnterprise/privateEndpointConnections/operationresults": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ], + "RedisEnterprise/privateLinkResources": [ + "2020-04-01-preview", + "2020-10-01-preview", + "2021-02-01-preview", + "2021-03-01", + "2021-08-01", + "2022-01-01", + "2022-11-01-preview", + "2023-03-01-preview", + "2023-07-01" + ] + }, + "Microsoft.Capacity": { + "appliedReservations": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "autoQuotaIncrease": [ + "2019-07-19" + ], + "calculateExchange": [ + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-02-16-beta", + "2022-02-16-privatepreview", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "calculatePrice": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "calculatePurchasePrice": [ + "2019-06-01-beta", + "2019-06-01-privatepreview" + ], + "catalogs": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-03-01-beta", + "2021-03-01-privatepreview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "checkBenefitScopes": [ + "2021-03-01-beta", + "2021-03-01-privatepreview" + ], + "checkOffers": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview" + ], + "checkPurchaseStatus": [ + "2019-06-01-beta", + "2019-06-01-privatepreview" + ], + "checkScopes": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview" + ], + "commercialReservationOrders": [ + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta" + ], + "exchange": [ + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-02-16-beta", + "2022-02-16-privatepreview", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "listbenefits": [ + "2019-04-01", + "2019-04-01-beta" + ], + "listSkus": [ + "2021-01-01-beta", + "2021-01-01-privatepreview" + ], + "operationResults": [ + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-02-16-beta", + "2022-02-16-privatepreview", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "operations": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "ownReservations": [ + "2020-06-01", + "2020-06-01-beta" + ], + "placePurchaseOrder": [ + "2019-06-01-beta", + "2019-06-01-privatepreview" + ], + "reservationOrders": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2020-11-15-beta", + "2020-11-15-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/availableScopes": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview" + ], + "reservationOrders/calculateRefund": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/changeDirectory": [ + "2020-11-15", + "2020-11-15-beta", + "2020-11-15-preview", + "2021-07-01", + "2022-02-16-beta", + "2022-02-16-privatepreview", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/merge": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/reservations": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-03-01-beta", + "2021-03-01-privatepreview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/reservations/availableScopes": [ + "2019-04-01", + "2019-04-01-beta", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/reservations/revisions": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/return": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/split": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "reservationOrders/swap": [ + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-10-01-beta", + "2020-10-01-preview" + ], + "reservations": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2021-07-01", + "2021-07-01-beta", + "2022-03-01", + "2022-03-01-beta", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ], + "resourceProviders": [ + "2019-07-19-preview", + "2020-10-25" + ], + "resourceProviders/locations": [ + "2019-07-19-preview", + "2020-10-25" + ], + "resourceProviders/locations/serviceLimits": [ + "2019-07-19", + "2019-07-19-preview", + "2020-10-25" + ], + "resourceProviders/locations/serviceLimitsRequests": [ + "2019-07-19-preview", + "2020-10-25" + ], + "resources": [ + "2017-11-01", + "2018-06-01", + "2019-04-01" + ], + "validateReservationOrder": [ + "2017-11-01", + "2017-11-01-beta", + "2018-06-01", + "2018-06-01-beta", + "2019-04-01", + "2019-04-01-beta", + "2020-06-01-beta", + "2020-10-01-beta", + "2020-10-01-preview", + "2022-06-02-beta", + "2022-06-02-privatepreview", + "2022-11-01", + "2022-11-01-beta" + ] + }, + "Microsoft.Carbon": { + "carbonEmissionReports": [ + "2023-04-01-preview" + ], + "queryCarbonEmissionDataAvailableDateRange": [ + "2023-04-01-preview" + ] + }, + "Microsoft.Cdn": { + "canMigrate": [ + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "CdnWebApplicationFirewallManagedRuleSets": [ + "2019-06-15-preview", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "cdnWebApplicationFirewallPolicies": [ + "2019-06-15", + "2019-06-15-preview", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "checkEndpointNameAvailability": [ + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "checkNameAvailability": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "checkResourceUsage": [ + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "edgenodes": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "migrate": [ + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/afdendpointresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/afdendpointresults/routeresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/customdomainresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/endpointresults": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/endpointresults/customdomainresults": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/endpointresults/origingroupresults": [ + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/endpointresults/originresults": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/origingroupresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/origingroupresults/originresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/policyresults": [ + "2022-01-01-preview", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/rulesetresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/rulesetresults/ruleresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/secretresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operationresults/profileresults/securitypoliciesresults": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "operations": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/afdEndpoints": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/afdEndpoints/routes": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/customDomains": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/endpoints": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/endpoints/customDomains": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/endpoints/originGroups": [ + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/endpoints/origins": [ + "2015-06-01", + "2016-04-02", + "2016-10-02", + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/keygroups": [ + "2023-07-01-preview" + ], + "profiles/networkpolicies": [ + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/originGroups": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/originGroups/origins": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/policies": [ + "2022-01-01-preview" + ], + "profiles/ruleSets": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/ruleSets/rules": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/secrets": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "profiles/securityPolicies": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "validateProbe": [ + "2017-04-02", + "2017-10-12", + "2018-04-02", + "2019-04-15", + "2019-06-15-preview", + "2019-12-31", + "2020-03-31", + "2020-04-15", + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ], + "validateSecret": [ + "2020-09-01", + "2021-06-01", + "2022-05-01-preview", + "2022-11-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-07-01-preview" + ] + }, + "Microsoft.CertificateRegistration": { + "certificateOrders": [ + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "certificateOrders/certificates": [ + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "operations": [ + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "validateCertificateRegistrationInformation": [ + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ] + }, + "Microsoft.ChangeAnalysis": { + "changes": [ + "2020-10-01-preview", + "2021-04-01", + "2021-04-01-preview" + ], + "changeSnapshots": [ + "2021-04-01-preview" + ], + "computeChanges": [ + "2021-04-01-preview" + ], + "operations": [ + "2019-04-01-preview", + "2020-04-01-preview" + ], + "profile": [ + "2020-04-01-preview" + ], + "resourceChanges": [ + "2020-04-01-preview", + "2021-04-01", + "2021-04-01-preview" + ] + }, + "Microsoft.Chaos": { + "experiments": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-04-01-preview", + "2023-04-15-preview" + ], + "locations": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-04-01-preview", + "2023-04-15-preview" + ], + "locations/targetTypes": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-04-01-preview", + "2023-04-15-preview" + ], + "operations": [ + "2021-07-01-preview", + "2021-07-05-preview", + "2021-08-11-preview", + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-04-01-preview", + "2023-04-15-preview" + ], + "targets": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-04-01-preview", + "2023-04-15-preview" + ], + "targets/capabilities": [ + "2021-09-15-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-04-01-preview", + "2023-04-15-preview" + ] + }, + "Microsoft.ClassicCompute": { + "capabilities": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "checkDomainNameAvailability": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "domainNames": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01", + "2017-11-01", + "2017-11-15", + "2018-06-01", + "2020-02-01", + "2021-02-01" + ], + "domainNames/capabilities": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "domainNames/internalLoadBalancers": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01", + "2017-11-01" + ], + "domainNames/serviceCertificates": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "domainNames/slots": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01", + "2017-11-15", + "2018-06-01", + "2020-02-01" + ], + "domainNames/slots/roles": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "domainNames/slots/roles/metricDefinitions": [ + "2014-04-01" + ], + "domainNames/slots/roles/metrics": [ + "2014-04-01" + ], + "moveSubscriptionResources": [ + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "operatingSystemFamilies": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "operatingSystems": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "operations": [ + "2014-01-01", + "2014-04-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01", + "2017-04-01" + ], + "operationStatuses": [ + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "quotas": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "resourceTypes": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "validateSubscriptionMoveAvailability": [ + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "virtualMachines": [ + "2014-01-01", + "2014-04-01", + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01", + "2017-04-01" + ], + "virtualMachines/diagnosticSettings": [ + "2014-04-01" + ], + "virtualMachines/metricDefinitions": [ + "2014-04-01" + ], + "virtualMachines/metrics": [ + "2014-04-01" + ] + }, + "Microsoft.ClassicInfrastructureMigrate": { + "classicInfrastructureResources": [ + "2015-06-15" + ] + }, + "Microsoft.ClassicNetwork": { + "capabilities": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "expressRouteCrossConnections": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "expressRouteCrossConnections/peerings": [ + "2014-06-01", + "2015-06-01", + "2015-10-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "gatewaySupportedDevices": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "networkSecurityGroups": [ + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "operations": [ + "2014-01-01", + "2014-04-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-04-01-beta", + "2016-11-01" + ], + "quotas": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "reservedIps": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "virtualNetworks": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01", + "2017-11-15" + ], + "virtualNetworks/remoteVirtualNetworkPeeringProxies": [ + "2016-11-01" + ], + "virtualNetworks/virtualNetworkPeerings": [ + "2016-11-01" + ] + }, + "Microsoft.ClassicStorage": { + "capabilities": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "checkStorageAccountAvailability": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "disks": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "images": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "operations": [ + "2014-01-01", + "2014-04-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-04-01-beta", + "2016-11-01" + ], + "osImages": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "osPlatformImages": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "publicImages": [ + "2016-04-01", + "2016-11-01" + ], + "quotas": [ + "2014-01-01", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "storageAccounts": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-beta", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "storageAccounts/blobServices": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "storageAccounts/fileServices": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "storageAccounts/metricDefinitions": [ + "2014-04-01" + ], + "storageAccounts/metrics": [ + "2014-04-01" + ], + "storageAccounts/queueServices": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "storageAccounts/services": [ + "2014-04-01" + ], + "storageAccounts/services/diagnosticSettings": [ + "2014-04-01" + ], + "storageAccounts/services/metricDefinitions": [ + "2014-04-01" + ], + "storageAccounts/services/metrics": [ + "2014-04-01" + ], + "storageAccounts/tableServices": [ + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "storageAccounts/vmImages": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-beta", + "2014-06-01", + "2015-06-01", + "2015-12-01", + "2016-04-01", + "2016-11-01" + ], + "vmImages": [ + "2016-11-01" + ] + }, + "Microsoft.ClassicSubscription": { + "operations": [ + "2017-06-01", + "2017-09-01" + ] + }, + "Microsoft.CleanRoom": { + "Locations": [ + "2022-12-31-preview" + ], + "Locations/OperationStatuses": [ + "2022-12-31-preview" + ], + "Operations": [ + "2022-12-31-preview" + ] + }, + "Microsoft.CloudShell": { + "operations": [ + "2017-01-01-preview", + "2017-08-01-preview", + "2017-12-01-preview", + "2018-10-01", + "2020-04-01-preview", + "2023-02-01-preview" + ] + }, + "Microsoft.CloudTest": { + "accounts": [ + "2020-05-07" + ], + "hostedpools": [ + "2020-05-07" + ], + "images": [ + "2020-05-07" + ], + "locations": [ + "2020-05-07" + ], + "locations/operations": [ + "2020-05-07" + ], + "operations": [ + "2020-05-07" + ], + "pools": [ + "2020-05-07" + ] + }, + "Microsoft.CodeSigning": { + "checkNameAvailability": [ + "2020-12-14-preview", + "2023-04-30-preview" + ], + "Locations": [ + "2020-12-14-preview", + "2023-04-30-preview" + ], + "Locations/OperationStatuses": [ + "2020-12-14-preview", + "2023-04-30-preview" + ], + "Operations": [ + "2020-12-14-preview", + "2023-04-30-preview" + ] + }, + "Microsoft.CognitiveSearch": { + "locations": [ + "2023-05-01-preview" + ], + "locations/operationStatuses": [ + "2023-05-01-preview" + ], + "Operations": [ + "2023-05-01-preview" + ] + }, + "Microsoft.CognitiveServices": { + "accounts": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "accounts/commitmentPlans": [ + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01" + ], + "accounts/deployments": [ + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01" + ], + "accounts/networkSecurityPerimeterAssociationProxies": [ + "2021-10-01" + ], + "accounts/privateEndpointConnectionProxies": [ + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "accounts/privateEndpointConnections": [ + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "accounts/privateLinkResources": [ + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "checkDomainAvailability": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "commitmentPlans": [ + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "commitmentPlans/accountAssociations": [ + "2022-12-01", + "2023-05-01" + ], + "deletedAccounts": [ + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations/checkSkuAvailability": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations/commitmentTiers": [ + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations/models": [ + "2023-05-01", + "2023-06-01-preview" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2021-10-01" + ], + "locations/operationResults": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations/raiContentFilters": [ + "2023-06-01-preview" + ], + "locations/resourceGroups": [ + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations/resourceGroups/deletedAccounts": [ + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ], + "locations/usages": [ + "2023-05-01", + "2023-06-01-preview" + ], + "operations": [ + "2016-02-01-preview", + "2017-04-18", + "2021-04-30", + "2021-10-01", + "2022-03-01", + "2022-10-01", + "2022-12-01", + "2023-05-01", + "2023-06-01-preview" + ] + }, + "Microsoft.Commerce": { + "operations": [ + "2015-03-31", + "2015-06-01-preview" + ], + "RateCard": [ + "2015-05-15", + "2015-06-01-preview", + "2016-08-31-preview" + ], + "UsageAggregates": [ + "2015-03-31", + "2015-06-01-preview" + ] + }, + "Microsoft.Communication": { + "CheckNameAvailability": [ + "2020-08-20", + "2021-10-01-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "communicationServices": [ + "2020-08-20", + "2020-08-20-preview", + "2021-10-01-preview", + "2022-03-29-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "CommunicationServices/eventGridFilters": [ + "2020-08-20", + "2021-09-09-privatepreview" + ], + "emailServices": [ + "2021-10-01-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "emailServices/domains": [ + "2021-10-01-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "emailServices/domains/senderUsernames": [ + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "Locations": [ + "2020-08-20", + "2021-10-01-preview", + "2022-03-29-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "locations/operationStatuses": [ + "2020-08-20", + "2021-10-01-preview", + "2022-03-29-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "operations": [ + "2020-08-20", + "2021-10-01-preview", + "2022-03-29-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ], + "registeredSubscriptions": [ + "2020-08-20", + "2021-10-01-preview", + "2022-07-01-preview", + "2022-10-01-preview", + "2023-03-01-preview", + "2023-03-31", + "2023-04-01-preview" + ] + }, + "Microsoft.Compute": { + "availabilitySets": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "capacityReservationGroups": [ + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "capacityReservationGroups/capacityReservations": [ + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "cloudServices": [ + "2020-10-01-preview", + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "cloudServices/networkInterfaces": [ + "2020-10-01-preview", + "2021-03-01" + ], + "cloudServices/publicIPAddresses": [ + "2020-10-01-preview", + "2021-03-01" + ], + "cloudServices/roleInstances": [ + "2020-10-01-preview", + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "cloudServices/roleInstances/networkInterfaces": [ + "2020-10-01-preview", + "2021-03-01" + ], + "cloudServices/roles": [ + "2020-10-01-preview", + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "cloudServices/updateDomains": [ + "2020-10-01-preview", + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "diskAccesses": [ + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "diskAccesses/privateEndpointConnections": [ + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "diskEncryptionSets": [ + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "disks": [ + "2016-04-30-preview", + "2017-03-30", + "2018-04-01", + "2018-06-01", + "2018-09-30", + "2019-03-01", + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "galleries": [ + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-03-01", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03", + "2022-08-03", + "2023-07-03" + ], + "galleries/applications": [ + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-03-01", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03", + "2022-08-03", + "2023-07-03" + ], + "galleries/applications/versions": [ + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-03-01", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03", + "2022-08-03", + "2023-07-03" + ], + "galleries/images": [ + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-03-01", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03", + "2022-08-03", + "2023-07-03" + ], + "galleries/images/versions": [ + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-03-01", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03", + "2022-08-03", + "2023-07-03" + ], + "hostGroups": [ + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "hostGroups/hosts": [ + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "images": [ + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/artifactPublishers": [ + "2017-10-15-preview" + ], + "locations/capsoperations": [ + "2017-10-15-preview", + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-03-01", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03", + "2022-08-03", + "2023-07-03" + ], + "locations/cloudServiceOsFamilies": [ + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "locations/cloudServiceOsVersions": [ + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "locations/communityGalleries": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-09-30", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-01-03", + "2022-03-01", + "2022-03-03", + "2022-08-01", + "2022-08-03", + "2022-11-01", + "2023-03-01", + "2023-07-01", + "2023-07-03" + ], + "locations/csoperations": [ + "2020-10-01-preview", + "2021-03-01", + "2022-04-04", + "2022-09-04" + ], + "locations/diagnosticOperations": [ + "2021-06-01-preview" + ], + "locations/diagnostics": [ + "2021-06-01-preview" + ], + "locations/diskoperations": [ + "2016-04-30-preview", + "2017-03-30", + "2018-04-01", + "2018-06-01", + "2018-09-30", + "2019-03-01", + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "locations/edgeZones": [ + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/edgeZones/publishers": [ + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/edgeZones/vmimages": [ + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/galleries": [ + "2018-06-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-09-30", + "2021-03-01", + "2021-07-01", + "2021-10-01", + "2022-01-03", + "2022-03-03", + "2022-08-03", + "2023-07-03" + ], + "locations/logAnalytics": [ + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/operations": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-10-30-preview", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/publishers": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-09-30", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-01-03", + "2022-03-01", + "2022-03-03", + "2022-08-01", + "2022-08-03", + "2022-11-01", + "2023-03-01", + "2023-07-01", + "2023-07-03" + ], + "locations/recommendations": [ + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/runCommands": [ + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/sharedGalleries": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-09-30", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-01-03", + "2022-03-01", + "2022-03-03", + "2022-08-01", + "2022-08-03", + "2022-11-01", + "2023-03-01", + "2023-07-01", + "2023-07-03" + ], + "locations/spotEvictionRates": [ + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/spotPriceHistory": [ + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/usages": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/virtualMachines": [ + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/virtualMachineScaleSets": [ + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "locations/vmSizes": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "operations": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "proximityPlacementGroups": [ + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "restorePointCollections": [ + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "restorePointCollections/restorePoints": [ + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "restorePointCollections/restorePoints/diskRestorePoints": [ + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "sharedVMImages": [ + "2017-10-15-preview" + ], + "sharedVMImages/versions": [ + "2017-10-15-preview" + ], + "snapshots": [ + "2016-04-30-preview", + "2017-03-30", + "2018-04-01", + "2018-06-01", + "2018-09-30", + "2019-03-01", + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "sshPublicKeys": [ + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachines": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachines/extensions": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachines/metricDefinitions": [ + "2014-04-01" + ], + "virtualMachines/runCommands": [ + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachines/VMApplications": [ + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-10-30-preview", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/applications": [ + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/disks": [ + "2016-04-30-preview", + "2017-03-30", + "2018-04-01", + "2018-06-01", + "2018-09-30", + "2019-03-01", + "2019-07-01", + "2019-11-01", + "2020-05-01", + "2020-06-30", + "2020-09-30", + "2020-12-01", + "2021-04-01", + "2021-08-01", + "2021-12-01", + "2022-03-02", + "2022-07-02", + "2023-01-02", + "2023-04-02" + ], + "virtualMachineScaleSets/extensions": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-10-30-preview", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/networkInterfaces": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/publicIPAddresses": [ + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/virtualmachines": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-10-30-preview", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/virtualMachines/extensions": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-08-30", + "2017-03-30", + "2017-10-30-preview", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/virtualMachines/networkInterfaces": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-04-30-preview", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2017-03-30", + "2017-12-01", + "2018-04-01", + "2018-06-01", + "2018-10-01", + "2019-03-01", + "2019-07-01", + "2019-12-01", + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ], + "virtualMachineScaleSets/virtualMachines/runCommands": [ + "2020-06-01", + "2020-12-01", + "2021-03-01", + "2021-04-01", + "2021-07-01", + "2021-11-01", + "2022-03-01", + "2022-08-01", + "2022-11-01", + "2023-03-01", + "2023-07-01" + ] + }, + "Microsoft.Compute.Admin": { + "locations/artifactTypes/publishers/offers/skus/versions": [ + "2015-12-01-preview" + ], + "locations/artifactTypes/publishers/types/versions": [ + "2015-12-01-preview" + ], + "locations/diskmigrationjobs": [ + "2018-07-30-preview", + "2021-04-01", + "2021-09-01" + ], + "locations/quotas": [ + "2015-12-01-preview", + "2018-02-09", + "2021-01-01" + ] + }, + "Microsoft.ConfidentialLedger": { + "checkNameAvailability": [ + "2020-12-01-preview", + "2021-05-13-preview", + "2022-05-13", + "2022-09-08-preview", + "2023-01-26-preview" + ], + "ledgers": [ + "2020-12-01-preview", + "2021-05-13-preview", + "2022-05-13", + "2022-09-08-preview", + "2023-01-26-preview" + ], + "Locations": [ + "2020-12-01-preview", + "2021-05-13-preview", + "2022-05-13", + "2022-09-08-preview", + "2023-01-26-preview" + ], + "Locations/operations": [ + "2020-12-01-preview", + "2021-05-13-preview", + "2022-05-13" + ], + "Locations/operationstatuses": [ + "2020-12-01-preview", + "2021-05-13-preview", + "2022-05-13", + "2022-09-08-preview", + "2023-01-26-preview" + ], + "managedCCFs": [ + "2022-09-08-preview", + "2023-01-26-preview" + ], + "operations": [ + "2020-12-01-preview", + "2021-05-13-preview", + "2022-05-13", + "2022-09-08-preview", + "2023-01-26-preview" + ] + }, + "Microsoft.Confluent": { + "agreements": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01", + "2022-04-10-preview", + "2022-07-21-preview", + "2022-10-07-preview", + "2023-02-09-preview", + "2023-07-11-preview" + ], + "checkNameAvailability": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01", + "2022-04-10-preview", + "2022-07-21-preview", + "2022-10-07-preview", + "2023-02-09-preview", + "2023-07-11-preview" + ], + "locations": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01", + "2022-04-10-preview", + "2022-07-21-preview", + "2022-10-07-preview", + "2023-02-09-preview", + "2023-07-11-preview" + ], + "locations/OperationStatuses": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01", + "2022-04-10-preview", + "2022-07-21-preview", + "2022-10-07-preview", + "2023-02-09-preview", + "2023-07-11-preview" + ], + "operations": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01", + "2022-04-10-preview", + "2022-07-21-preview", + "2022-10-07-preview", + "2023-02-09-preview", + "2023-07-11-preview" + ], + "organizations": [ + "2020-03-01", + "2020-03-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01", + "2022-04-10-preview", + "2022-07-21-preview", + "2022-10-07-preview", + "2023-02-09-preview", + "2023-07-11-preview" + ], + "organizations/access": [ + "2023-02-09-preview" + ], + "validations": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-12-01", + "2022-04-10-preview", + "2022-07-21-preview", + "2022-10-07-preview", + "2023-02-09-preview", + "2023-07-11-preview" + ] + }, + "Microsoft.ConnectedCache": { + "cacheNodes": [ + "2019-12-04-preview", + "2021-09-15-preview" + ], + "enterpriseCustomers": [ + "2021-09-15-preview" + ], + "enterpriseMccCustomers": [ + "2023-04-01-preview" + ], + "enterpriseMccCustomers/enterpriseMccCacheNodes": [ + "2023-04-01-preview" + ], + "ispCustomers": [ + "2022-03-21-preview", + "2023-04-01-preview" + ], + "ispCustomers/ispcachenodes": [ + "2022-03-21-preview", + "2023-04-01-preview" + ], + "locations": [ + "2022-03-21-preview", + "2023-04-01-preview" + ], + "locations/operationstatuses": [ + "2022-03-21-preview", + "2023-04-01-preview" + ], + "Operations": [ + "2022-03-21-preview", + "2023-04-01-preview" + ], + "registeredSubscriptions": [ + "2022-03-21-preview", + "2023-04-01-preview", + "2023-05-01-preview" + ] + }, + "Microsoft.ConnectedCredentials": { + "locations": [ + "2023-06-12-preview" + ] + }, + "microsoft.connectedopenstack": { + "locations": [ + "2021-05-31-privatepreview" + ], + "locations/operationStatuses": [ + "2021-05-31-privatepreview" + ], + "operations": [ + "2021-05-31-privatepreview" + ] + }, + "Microsoft.ConnectedVehicle": { + "checkNameAvailability": [ + "2020-12-01-preview" + ], + "locations": [ + "2020-12-01-preview" + ], + "Locations/OperationStatuses": [ + "2020-12-01-preview" + ], + "operations": [ + "2020-12-01-preview" + ], + "registeredSubscriptions": [ + "2020-12-01-preview" + ] + }, + "Microsoft.ConnectedVMwarevSphere": { + "clusters": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "datastores": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "hosts": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "locations": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "locations/operationstatuses": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "operations": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "resourcePools": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "vcenters": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "vcenters/inventoryItems": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "virtualMachineInstances": [ + "2023-03-01-preview" + ], + "virtualMachineInstances/guestAgents": [ + "2023-03-01-preview" + ], + "virtualMachines": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "virtualMachines/extensions": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "virtualMachines/guestAgents": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "virtualMachines/hybridIdentityMetadata": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "virtualMachineTemplates": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ], + "virtualNetworks": [ + "2020-10-01-preview", + "2022-01-10-preview", + "2022-07-15-preview", + "2023-03-01-preview" + ] + }, + "Microsoft.Consumption": { + "AggregatedCost": [ + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "Balances": [ + "2017-06-30-preview", + "2017-11-30", + "2018-01-31", + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2022-09-01", + "2023-03-01", + "2023-05-01" + ], + "budgets": [ + "2017-12-30-preview", + "2018-01-31", + "2018-03-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2018-12-01-preview", + "2019-01-01", + "2019-01-01-preview", + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01", + "2019-05-01-preview", + "2019-06-01", + "2019-10-01", + "2019-11-01", + "2021-05-01", + "2021-10-01", + "2022-09-01", + "2023-03-01", + "2023-05-01", + "2023-11-01" + ], + "Charges": [ + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2019-01-01", + "2019-05-01", + "2019-05-01-preview", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "costTags": [ + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-05-01", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "credits": [ + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2019-10-01", + "2021-05-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "events": [ + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2019-10-01", + "2021-05-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "Forecasts": [ + "2018-05-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2023-03-01", + "2023-05-01" + ], + "lots": [ + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2019-10-01", + "2021-05-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "Marketplaces": [ + "2018-01-31", + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "OperationResults": [ + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2019-01-01", + "2019-04-01-preview", + "2019-05-01", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-01-01", + "2021-10-01", + "2022-06-01", + "2023-03-01", + "2023-05-01" + ], + "Operations": [ + "2017-06-30-preview", + "2017-11-30", + "2018-01-31", + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-01-preview", + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2022-06-01", + "2023-03-01", + "2023-05-01" + ], + "OperationStatus": [ + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2019-01-01", + "2019-04-01-preview", + "2019-05-01", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-01-01", + "2021-10-01", + "2022-06-01", + "2022-09-01", + "2023-03-01", + "2023-05-01" + ], + "Pricesheets": [ + "2017-06-30-preview", + "2017-11-30", + "2018-01-31", + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2020-01-01-preview", + "2021-10-01", + "2022-06-01", + "2023-03-01", + "2023-05-01" + ], + "products": [ + "2018-08-31", + "2018-10-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "ReservationDetails": [ + "2017-06-30-preview", + "2017-11-30", + "2018-01-31", + "2018-03-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-01-01-preview", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "ReservationRecommendationDetails": [ + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "ReservationRecommendations": [ + "2018-03-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-01-01-preview", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "ReservationSummaries": [ + "2017-06-30-preview", + "2017-11-30", + "2018-01-31", + "2018-03-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-01-01-preview", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "ReservationTransactions": [ + "2017-06-30-preview", + "2017-11-30", + "2018-01-31", + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "Tags": [ + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-01-preview", + "2018-08-31", + "2018-10-01", + "2018-12-01-preview", + "2019-01-01", + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "tenants": [ + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "Terms": [ + "2017-12-30-preview", + "2018-01-31", + "2018-03-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-05-01", + "2019-10-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ], + "UsageDetails": [ + "2017-06-30-preview", + "2017-11-30", + "2018-01-31", + "2018-03-31", + "2018-05-31", + "2018-06-30", + "2018-08-31", + "2018-10-01", + "2018-11-01-preview", + "2018-12-01-preview", + "2019-01-01", + "2019-04-01-preview", + "2019-05-01", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-01-01", + "2021-10-01", + "2023-03-01", + "2023-05-01" + ] + }, + "Microsoft.ContainerInstance": { + "containerGroups": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations/cachedImages": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations/capabilities": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2018-12-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations/operationresults": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations/operations": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations/usages": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "locations/validateDeleteVirtualNetworkOrSubnets": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2018-12-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "operations": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ], + "serviceAssociationLinks": [ + "2017-08-01-preview", + "2017-10-01-preview", + "2017-12-01-preview", + "2018-02-01-preview", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-09-01", + "2018-10-01", + "2019-12-01", + "2020-11-01", + "2021-03-01", + "2021-07-01", + "2021-09-01", + "2021-10-01", + "2022-04-01-preview", + "2022-09-01", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-05-01", + "2023-05-15-preview" + ] + }, + "Microsoft.ContainerRegistry": { + "checkNameAvailability": [ + "2016-06-27-preview", + "2017-03-01", + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "locations": [ + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-05-01-preview", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "locations/authorize": [ + "2018-02-01-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2017-10-01", + "2019-05-01" + ], + "locations/operationResults": [ + "2017-10-01", + "2019-05-01", + "2019-05-01-preview", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "locations/setupAuth": [ + "2018-02-01-preview" + ], + "operations": [ + "2017-03-01", + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries": [ + "2016-06-27-preview", + "2017-03-01", + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/agentPools": [ + "2019-06-01-preview" + ], + "registries/agentPools/listQueueStatus": [ + "2019-06-01-preview" + ], + "registries/agentPoolsOperationResults": [ + "2019-06-01-preview" + ], + "registries/builds": [ + "2018-02-01-preview" + ], + "registries/builds/cancel": [ + "2018-02-01-preview" + ], + "registries/builds/getLogLink": [ + "2018-02-01-preview" + ], + "registries/buildTasks": [ + "2018-02-01-preview" + ], + "registries/buildTasks/listSourceRepositoryProperties": [ + "2018-02-01-preview" + ], + "registries/buildTasks/steps": [ + "2018-02-01-preview" + ], + "registries/buildTasks/steps/listBuildArguments": [ + "2018-02-01-preview" + ], + "registries/cacheRules": [ + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/connectedRegistries": [ + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/connectedRegistries/deactivate": [ + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/credentialSets": [ + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/eventGridFilters": [ + "2017-10-01", + "2019-05-01", + "2022-12-01" + ], + "registries/exportPipelines": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/generateCredentials": [ + "2019-05-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/getBuildSourceUploadUrl": [ + "2018-02-01-preview" + ], + "registries/GetCredentials": [ + "2016-06-27-preview" + ], + "registries/importImage": [ + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/importPipelines": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/listBuildSourceUploadUrl": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/listCredentials": [ + "2017-03-01", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/listPolicies": [ + "2017-10-01" + ], + "registries/listUsages": [ + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/packages/archives": [ + "2023-06-01-preview" + ], + "registries/packages/archives/versions": [ + "2023-06-01-preview" + ], + "registries/pipelineRuns": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/privateEndpointConnectionProxies": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/privateEndpointConnectionProxies/validate": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/privateEndpointConnections": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/privateLinkResources": [ + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/queueBuild": [ + "2018-02-01-preview" + ], + "registries/regenerateCredential": [ + "2017-03-01", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/regenerateCredentials": [ + "2016-06-27-preview" + ], + "registries/replications": [ + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/runs": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/runs/cancel": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/runs/listLogSasUrl": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/scheduleRun": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/scopeMaps": [ + "2019-05-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/taskRuns": [ + "2019-06-01-preview" + ], + "registries/taskRuns/listDetails": [ + "2019-06-01-preview" + ], + "registries/tasks": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/tasks/listDetails": [ + "2018-09-01", + "2019-04-01", + "2019-06-01-preview" + ], + "registries/tokens": [ + "2019-05-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/updatePolicies": [ + "2017-10-01" + ], + "registries/webhooks": [ + "2017-06-01-preview", + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview", + "2023-07-01" + ], + "registries/webhooks/getCallbackConfig": [ + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/webhooks/listEvents": [ + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "registries/webhooks/ping": [ + "2017-10-01", + "2019-05-01", + "2019-12-01-preview", + "2020-11-01-preview", + "2021-06-01-preview", + "2021-08-01-preview", + "2021-09-01", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-12-01", + "2023-01-01-preview", + "2023-06-01-preview" + ] + }, + "Microsoft.ContainerRegistry.Admin": { + "locations/configurations": [ + "2019-11-01-preview" + ], + "locations/quotas": [ + "2019-11-01-preview" + ] + }, + "Microsoft.ContainerService": { + "containerServices": [ + "2015-11-01-preview", + "2016-03-30", + "2016-09-30", + "2017-01-31", + "2017-07-01" + ], + "fleetMemberships": [ + "2022-06-02-preview", + "2022-07-02-preview", + "2022-09-02-preview", + "2023-03-15-preview", + "2023-06-15-preview" + ], + "fleets": [ + "2022-06-02-preview", + "2022-07-02-preview", + "2022-09-02-preview", + "2023-03-15-preview", + "2023-06-15-preview" + ], + "fleets/members": [ + "2022-06-02-preview", + "2022-07-02-preview", + "2022-09-02-preview", + "2023-03-15-preview", + "2023-06-15-preview" + ], + "fleets/updateRuns": [ + "2023-03-15-preview", + "2023-06-15-preview" + ], + "locations": [ + "2015-11-01-preview", + "2016-03-30", + "2016-09-30", + "2017-01-31", + "2017-08-31" + ], + "locations/guardrailsVersions": [ + "2023-07-02-preview" + ], + "locations/kubernetesVersions": [ + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2022-03-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-02-preview", + "2023-01-02-preview", + "2023-02-02-preview", + "2023-03-02-preview", + "2023-04-02-preview", + "2023-05-02-preview", + "2023-06-02-preview", + "2023-07-02-preview" + ], + "locations/operationresults": [ + "2016-03-30", + "2017-08-31", + "2018-03-31", + "2018-08-01-preview", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "locations/operations": [ + "2016-03-30", + "2017-08-31", + "2018-03-31", + "2018-08-01-preview", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "locations/orchestrators": [ + "2017-09-30", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "locations/osOptions": [ + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "managedClusters": [ + "2017-08-31", + "2018-03-31", + "2018-08-01-preview", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "managedClusters/agentPools": [ + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "ManagedClusters/eventGridFilters": [ + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "managedClusters/maintenanceConfigurations": [ + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "managedClusters/privateEndpointConnections": [ + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "managedClusters/trustedAccessRoleBindings": [ + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-02-preview", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-02-preview", + "2023-01-02-preview", + "2023-02-02-preview", + "2023-03-02-preview", + "2023-04-02-preview", + "2023-05-02-preview", + "2023-06-02-preview", + "2023-07-02-preview" + ], + "managedclustersnapshots": [ + "2022-02-02-preview", + "2022-03-02-preview", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-02-preview", + "2022-07-02-preview", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-02-preview", + "2023-01-02-preview", + "2023-02-02-preview", + "2023-03-02-preview", + "2023-04-02-preview", + "2023-05-02-preview", + "2023-06-02-preview", + "2023-07-02-preview" + ], + "openShiftManagedClusters": [ + "2018-09-30-preview", + "2019-04-30", + "2019-09-30", + "2019-10-27-preview" + ], + "operations": [ + "2015-11-01-preview", + "2016-03-30", + "2016-09-30", + "2017-01-31", + "2017-07-01", + "2017-08-31", + "2018-03-31", + "2018-10-31", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-06-01", + "2020-07-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-07-01", + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ], + "snapshots": [ + "2021-08-01", + "2021-09-01", + "2021-10-01", + "2021-11-01-preview", + "2022-01-01", + "2022-01-02-preview", + "2022-02-01", + "2022-02-02-preview", + "2022-03-01", + "2022-03-02-preview", + "2022-04-01", + "2022-04-02-preview", + "2022-05-02-preview", + "2022-06-01", + "2022-06-02-preview", + "2022-07-01", + "2022-07-02-preview", + "2022-08-01", + "2022-08-02-preview", + "2022-08-03-preview", + "2022-09-01", + "2022-09-02-preview", + "2022-10-02-preview", + "2022-11-01", + "2022-11-02-preview", + "2023-01-01", + "2023-01-02-preview", + "2023-02-01", + "2023-02-02-preview", + "2023-03-01", + "2023-03-02-preview", + "2023-04-01", + "2023-04-02-preview", + "2023-05-01", + "2023-05-02-preview", + "2023-06-01", + "2023-06-02-preview", + "2023-07-01", + "2023-07-02-preview" + ] + }, + "Microsoft.ContainerStorage": { + "pools": [ + "2023-07-01-preview" + ], + "pools/snapshots": [ + "2023-07-01-preview" + ], + "pools/volumes": [ + "2023-07-01-preview" + ] + }, + "Microsoft.CostManagement": { + "Alerts": [ + "2018-08-01-preview", + "2019-10-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview" + ], + "BenefitRecommendations": [ + "2021-11-15-preview", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "BenefitUtilizationSummaries": [ + "2021-11-15-preview", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "BenefitUtilizationSummariesOperationResults": [ + "2023-03-01", + "2023-08-01" + ], + "BillingAccounts": [ + "2018-03-31", + "2023-03-01", + "2023-08-01" + ], + "budgets": [ + "2019-04-01-preview", + "2019-10-01", + "2021-10-01", + "2022-10-01", + "2022-10-01-preview", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "CalculateCost": [ + "2023-04-01-preview" + ], + "calculatePrice": [ + "2021-11-15-preview", + "2022-03-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "CheckConnectorEligibility": [ + "2019-03-01-preview" + ], + "CheckNameAvailability": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-06-01-preview", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "cloudConnectors": [ + "2019-03-01-preview" + ], + "connectors": [ + "2018-08-01-preview" + ], + "costAllocationRules": [ + "2020-03-01-preview", + "2023-08-01" + ], + "CostDetailsOperationResults": [ + "2022-05-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "Departments": [ + "2018-03-31", + "2023-03-01", + "2023-08-01" + ], + "Dimensions": [ + "2018-05-31", + "2018-08-01-preview", + "2018-08-31", + "2018-10-01-preview", + "2018-12-01-preview", + "2019-01-01", + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview" + ], + "EnrollmentAccounts": [ + "2018-03-31", + "2023-03-01", + "2023-08-01" + ], + "exports": [ + "2019-01-01", + "2019-01-01-preview", + "2019-09-01", + "2019-10-01", + "2019-11-01", + "2020-05-01-preview", + "2020-06-01", + "2020-12-01-preview", + "2021-01-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "ExternalBillingAccounts": [ + "2019-03-01-preview" + ], + "ExternalBillingAccounts/Alerts": [ + "2018-08-01-preview", + "2019-10-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview" + ], + "ExternalBillingAccounts/Dimensions": [ + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "ExternalBillingAccounts/Forecast": [ + "2018-12-01-preview", + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "ExternalBillingAccounts/Query": [ + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "externalSubscriptions": [ + "2019-03-01-preview", + "2023-03-01", + "2023-08-01" + ], + "ExternalSubscriptions/Alerts": [ + "2018-08-01-preview", + "2019-10-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview" + ], + "ExternalSubscriptions/Dimensions": [ + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "ExternalSubscriptions/Forecast": [ + "2018-12-01-preview", + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "ExternalSubscriptions/Query": [ + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "fetchMarketplacePrices": [ + "2022-03-01", + "2022-09-30", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "fetchMicrosoftPrices": [ + "2022-03-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "fetchPrices": [ + "2020-01-01-preview", + "2021-11-15-preview", + "2023-04-01-preview" + ], + "Forecast": [ + "2018-12-01-preview", + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "GenerateBenefitUtilizationSummariesReport": [ + "2023-03-01", + "2023-08-01" + ], + "GenerateCostDetailsReport": [ + "2022-05-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "GenerateDetailedCostReport": [ + "2020-12-01-preview", + "2021-01-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "GenerateReservationDetailsReport": [ + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "Insights": [ + "2020-08-01-preview" + ], + "markupRules": [ + "2022-10-05-preview" + ], + "OperationResults": [ + "2020-12-01-preview", + "2021-01-01", + "2021-10-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-06-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "operations": [ + "2018-08-01-preview", + "2018-08-31", + "2018-10-01", + "2019-01-01", + "2019-10-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "OperationStatus": [ + "2020-12-01-preview", + "2021-01-01", + "2021-10-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-06-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "Pricesheets": [ + "2022-02-01-preview", + "2022-04-01-preview", + "2022-06-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "Publish": [ + "2021-04-01-preview" + ], + "Query": [ + "2018-05-31", + "2018-08-01-preview", + "2018-08-31", + "2018-10-01-preview", + "2018-12-01-preview", + "2019-01-01", + "2019-03-01-preview", + "2019-04-01-preview", + "2019-05-01-preview", + "2019-10-01", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview" + ], + "register": [ + "2019-03-01-preview" + ], + "reportconfigs": [ + "2018-05-31", + "2023-08-01" + ], + "reports": [ + "2018-08-01-preview", + "2018-12-01-preview" + ], + "ReservationDetailsOperationResults": [ + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "scheduledActions": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-06-01-preview", + "2022-10-01", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "SendMessage": [ + "2023-04-01-preview" + ], + "settings": [ + "2019-01-01-preview", + "2019-11-01", + "2021-10-01", + "2022-10-01", + "2022-10-01-preview", + "2022-10-05-preview", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ], + "showbackRules": [ + "2019-02-01-alpha", + "2019-02-02-alpha", + "2019-02-03-alpha", + "2019-03-01-preview", + "2023-08-01" + ], + "StartConversation": [ + "2023-04-01-preview" + ], + "views": [ + "2019-04-01-preview", + "2019-10-01", + "2019-11-01", + "2020-06-01", + "2021-10-01", + "2022-08-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-10-05-preview", + "2023-03-01", + "2023-04-01-preview", + "2023-08-01" + ] + }, + "Microsoft.CostManagementExports": { + "Operations": [ + "2019-04-01" + ] + }, + "Microsoft.CustomerInsights": { + "hubs": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/authorizationPolicies": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/connectors": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/connectors/mappings": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/interactions": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/kpi": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/links": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/predictions": [ + "2017-04-26" + ], + "hubs/profiles": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/relationshipLinks": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/relationships": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/roleAssignments": [ + "2017-01-01", + "2017-04-26" + ], + "hubs/views": [ + "2017-01-01", + "2017-04-26" + ] + }, + "Microsoft.CustomerLockbox": { + "DisableLockbox": [ + "2018-02-28-preview" + ], + "EnableLockbox": [ + "2018-02-28-preview" + ], + "operations": [ + "2018-02-28-preview" + ], + "requests": [ + "2018-02-28-preview" + ], + "TenantOptedIn": [ + "2018-02-28-preview" + ] + }, + "Microsoft.CustomProviders": { + "associations": [ + "2018-09-01-preview" + ], + "locations": [ + "2018-09-01-preview" + ], + "locations/operationStatuses": [ + "2018-09-01-preview" + ], + "operations": [ + "2018-09-01-preview" + ], + "resourceProviders": [ + "2018-09-01-preview" + ] + }, + "Microsoft.D365CustomerInsights": { + "instances": [ + "2020-06-10-preview" + ], + "operations": [ + "2020-06-10-beta", + "2020-06-10-preview", + "2020-06-10-privatepreview" + ] + }, + "Microsoft.Dashboard": { + "checkNameAvailability": [ + "2021-09-01-preview", + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ], + "grafana": [ + "2021-09-01-preview", + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ], + "grafana/managedPrivateEndpoints": [ + "2022-10-01-preview" + ], + "grafana/privateEndpointConnections": [ + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ], + "grafana/privateLinkResources": [ + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ], + "locations": [ + "2021-09-01-preview", + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ], + "locations/checkNameAvailability": [ + "2021-09-01-preview", + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ], + "locations/operationStatuses": [ + "2021-09-01-preview", + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ], + "operations": [ + "2021-09-01-preview", + "2022-05-01-preview", + "2022-08-01", + "2022-10-01-preview" + ] + }, + "Microsoft.DatabaseWatcher": { + "locations": [ + "2023-03-01-preview" + ], + "operations": [ + "2023-03-01-preview" + ] + }, + "Microsoft.DataBox": { + "jobs": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "jobs/eventGridFilters": [ + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "locations": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "locations/availableSkus": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "locations/checkNameAvailability": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "locations/operationresults": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "locations/regionConfiguration": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "locations/validateAddress": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "locations/validateInputs": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ], + "operations": [ + "2018-01-01", + "2019-09-01", + "2020-04-01", + "2020-11-01", + "2021-03-01", + "2021-05-01", + "2021-08-01-preview", + "2021-12-01", + "2022-02-01", + "2022-09-01", + "2022-10-01", + "2022-12-01", + "2023-03-01" + ] + }, + "Microsoft.DataBoxEdge": { + "availableSkus": [ + "2020-05-01-preview", + "2020-07-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2021-02-01-preview" + ], + "dataBoxEdgeDevices": [ + "2017-09-01", + "2018-07-01", + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-01-01", + "2020-05-01-preview", + "2020-06-01", + "2020-07-01", + "2020-07-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-02-01", + "2023-07-01" + ], + "dataBoxEdgeDevices/bandwidthSchedules": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "DataBoxEdgeDevices/checkNameAvailability": [ + "2017-09-01", + "2018-07-01", + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-01-01", + "2020-05-01-preview", + "2020-06-01", + "2020-07-01", + "2020-07-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-02-01", + "2023-07-01" + ], + "dataBoxEdgeDevices/diagnosticProactiveLogCollectionSettings": [ + "2021-02-01", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/diagnosticRemoteSupportSettings": [ + "2021-02-01", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/orders": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/roles": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/roles/addons": [ + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/roles/monitoringConfig": [ + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/shares": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/storageAccountCredentials": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/storageAccounts": [ + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/storageAccounts/containers": [ + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/triggers": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "dataBoxEdgeDevices/users": [ + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-05-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-07-01" + ], + "operations": [ + "2017-09-01", + "2018-07-01", + "2019-03-01", + "2019-07-01", + "2019-08-01", + "2020-01-01", + "2020-05-01-preview", + "2020-06-01", + "2020-07-01", + "2020-07-01-preview", + "2020-09-01", + "2020-09-01-preview", + "2020-12-01", + "2021-02-01", + "2021-02-01-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-01", + "2022-04-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-02-01", + "2023-07-01" + ] + }, + "Microsoft.Databricks": { + "accessConnectors": [ + "2022-04-01-preview", + "2022-10-01-preview", + "2023-05-01" + ], + "locations": [ + "2018-03-01", + "2018-03-15", + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview", + "2023-02-01" + ], + "locations/getNetworkPolicies": [ + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview", + "2023-02-01" + ], + "locations/operationstatuses": [ + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview", + "2023-02-01" + ], + "operations": [ + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview", + "2023-02-01" + ], + "workspaces": [ + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview", + "2023-02-01" + ], + "workspaces/dbWorkspaces": [ + "2018-04-01" + ], + "workspaces/privateEndpointConnections": [ + "2021-04-01-preview", + "2022-04-01-preview", + "2023-02-01" + ], + "workspaces/virtualNetworkPeerings": [ + "2018-04-01", + "2021-04-01-preview", + "2022-04-01-preview", + "2023-02-01" + ] + }, + "Microsoft.DataCatalog": { + "catalogs": [ + "2015-07-01-preview", + "2016-03-30" + ], + "checkNameAvailability": [ + "2015-07-01-preview", + "2016-03-30" + ], + "locations": [ + "2015-07-01-preview", + "2016-03-30" + ], + "locations/jobs": [ + "2015-07-01-preview", + "2016-03-30" + ], + "operations": [ + "2015-07-01-preview", + "2016-03-30" + ] + }, + "Microsoft.DataCollaboration": { + "listinvitations": [ + "2020-05-04-preview", + "2022-05-04-preview" + ], + "locations": [ + "2020-05-04-preview", + "2022-05-04-preview" + ], + "locations/consumerInvitations": [ + "2020-05-04-preview", + "2022-05-04-preview" + ], + "locations/consumerInvitations/reject": [ + "2020-05-04-preview", + "2022-05-04-preview" + ], + "locations/operationResults": [ + "2020-05-04-preview", + "2022-05-04-preview" + ], + "operations": [ + "2020-05-04-preview", + "2022-05-04-preview" + ] + }, + "Microsoft.Datadog": { + "agreements": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "locations": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "locations/operationStatuses": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/getDefaultKey": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/listApiKeys": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/listHosts": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/listLinkedResources": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/listMonitoredResources": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/monitoredSubscriptions": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/refreshSetPasswordLink": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/setDefaultKey": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/singleSignOnConfigurations": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "monitors/tagRules": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "operations": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "registeredSubscriptions": [ + "2020-02-01-preview", + "2021-03-01", + "2022-06-01", + "2022-08-01", + "2023-01-01", + "2023-07-07" + ], + "subscriptionStatuses": [ + "2023-01-01", + "2023-07-07" + ] + }, + "Microsoft.DataFactory": { + "checkAzureDataFactoryNameAvailability": [ + "2015-01-01-preview", + "2015-05-01-preview", + "2015-07-01-preview", + "2015-08-01", + "2015-09-01", + "2015-10-01" + ], + "checkDataFactoryNameAvailability": [ + "2015-01-01-preview", + "2015-05-01-preview" + ], + "CheckNameAvailability": [ + "2018-06-01" + ], + "dataFactories": [ + "2014-04-01", + "2015-01-01-preview", + "2015-05-01-preview", + "2015-07-01-preview", + "2015-08-01", + "2015-09-01", + "2015-10-01" + ], + "dataFactories/diagnosticSettings": [ + "2014-04-01" + ], + "dataFactories/metricDefinitions": [ + "2014-04-01" + ], + "dataFactorySchema": [ + "2015-01-01-preview", + "2015-05-01-preview", + "2015-07-01-preview", + "2015-08-01", + "2015-09-01", + "2015-10-01" + ], + "factories": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/adfcdcs": [ + "2018-06-01" + ], + "factories/credentials": [ + "2018-06-01" + ], + "factories/dataflows": [ + "2018-06-01" + ], + "factories/datasets": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/globalParameters": [ + "2018-06-01" + ], + "factories/integrationRuntimes": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/linkedservices": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/managedVirtualNetworks": [ + "2018-06-01" + ], + "factories/managedVirtualNetworks/managedPrivateEndpoints": [ + "2018-06-01" + ], + "factories/pipelines": [ + "2017-09-01-preview", + "2018-06-01" + ], + "factories/privateEndpointConnections": [ + "2018-06-01" + ], + "factories/triggers": [ + "2017-09-01-preview", + "2018-06-01" + ], + "locations": [ + "2017-09-01-preview", + "2018-06-01" + ], + "locations/configureFactoryRepo": [ + "2017-09-01-preview", + "2018-06-01" + ], + "locations/getFeatureValue": [ + "2018-06-01" + ], + "operations": [ + "2015-01-01-preview", + "2015-05-01-preview", + "2015-07-01-preview", + "2015-08-01", + "2015-09-01", + "2015-10-01", + "2017-03-01-preview", + "2017-09-01-preview", + "2018-06-01" + ] + }, + "Microsoft.DataLakeAnalytics": { + "accounts": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/computePolicies": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/dataLakeStoreAccounts": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/firewallRules": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/storageAccounts": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/storageAccounts/containers": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "accounts/storageAccounts/containers/listSasTokens": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "locations": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "locations/capability": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "locations/checkNameAvailability": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "locations/operationresults": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "locations/usages": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ], + "operations": [ + "2015-10-01-preview", + "2016-11-01", + "2019-11-01-preview" + ] + }, + "Microsoft.DataLakeStore": { + "accounts": [ + "2015-10-01-preview", + "2016-11-01" + ], + "accounts/eventGridFilters": [ + "2015-10-01-preview", + "2016-11-01" + ], + "accounts/firewallRules": [ + "2015-10-01-preview", + "2016-11-01" + ], + "accounts/trustedIdProviders": [ + "2016-11-01" + ], + "accounts/virtualNetworkRules": [ + "2016-11-01" + ], + "locations": [ + "2015-10-01-preview", + "2016-11-01" + ], + "locations/capability": [ + "2015-10-01-preview", + "2016-11-01" + ], + "locations/checkNameAvailability": [ + "2015-10-01-preview", + "2016-11-01" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2015-10-01-preview", + "2016-11-01" + ], + "locations/operationresults": [ + "2015-10-01-preview", + "2016-11-01" + ], + "locations/usages": [ + "2015-10-01-preview", + "2016-11-01" + ], + "operations": [ + "2015-10-01-preview", + "2016-11-01" + ] + }, + "Microsoft.DataMigration": { + "databaseMigrations": [ + "2020-09-01-preview", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "locations": [ + "2017-04-15-privatepreview", + "2017-11-15-preview", + "2017-11-15-privatepreview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "locations/checkNameAvailability": [ + "2017-04-15-privatepreview", + "2017-11-15-preview", + "2017-11-15-privatepreview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "locations/operationResults": [ + "2017-04-15-privatepreview", + "2017-11-15-preview", + "2017-11-15-privatepreview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "locations/operationStatuses": [ + "2017-04-15-privatepreview", + "2017-11-15-preview", + "2017-11-15-privatepreview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "Locations/OperationTypes": [ + "2020-09-01-preview", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "Locations/sqlMigrationServiceOperationResults": [ + "2020-09-01-preview", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "operations": [ + "2020-09-01-preview", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services": [ + "2017-04-15-privatepreview", + "2017-11-15-preview", + "2017-11-15-privatepreview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/projects": [ + "2017-04-15-privatepreview", + "2017-11-15-preview", + "2017-11-15-privatepreview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/projects/files": [ + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/projects/tasks": [ + "2017-11-15-preview", + "2018-03-15-preview", + "2018-03-31-preview", + "2018-04-19", + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "services/serviceTasks": [ + "2018-07-15-preview", + "2021-06-30", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ], + "sqlMigrationServices": [ + "2020-09-01-preview", + "2021-10-30-preview", + "2022-01-30-preview", + "2022-03-30-preview" + ] + }, + "Microsoft.DataProtection": { + "backupInstances": [ + "2022-03-31-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2023-04-01-preview" + ], + "backupVaults": [ + "2020-01-01-alpha", + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "backupVaults/backupInstances": [ + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "backupVaults/backupPolicies": [ + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "backupVaults/backupResourceGuardProxies": [ + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "locations": [ + "2020-01-01-alpha", + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "locations/checkFeatureSupport": [ + "2020-01-01-alpha", + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "locations/checkNameAvailability": [ + "2020-01-01-alpha", + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "locations/crossRegionRestore": [ + "2023-04-01-preview" + ], + "locations/fetchCrossRegionRestoreJob": [ + "2023-04-01-preview" + ], + "locations/fetchCrossRegionRestoreJobs": [ + "2023-04-01-preview" + ], + "locations/fetchSecondaryRecoveryPoints": [ + "2023-04-01-preview" + ], + "locations/operationResults": [ + "2020-01-01-alpha", + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "locations/operationStatus": [ + "2020-01-01-alpha", + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "locations/validateCrossRegionRestore": [ + "2023-04-01-preview" + ], + "operations": [ + "2020-01-01-alpha", + "2021-01-01", + "2021-02-01-preview", + "2021-06-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ], + "resourceGuards": [ + "2021-02-01-preview", + "2021-07-01", + "2021-10-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-03-01", + "2022-03-31-preview", + "2022-04-01", + "2022-05-01", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01", + "2023-04-01-preview", + "2023-05-01" + ] + }, + "Microsoft.DataReplication": { + "operations": [ + "2021-02-16-preview" + ], + "replicationFabrics": [ + "2021-02-16-preview" + ], + "replicationVaults": [ + "2021-02-16-preview" + ] + }, + "Microsoft.DataShare": { + "accounts": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares/dataSets": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares/invitations": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shares/providersharesubscriptions": [ + "2019-11-01", + "2020-09-01", + "2021-08-01" + ], + "accounts/shares/synchronizationSettings": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shareSubscriptions": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/sharesubscriptions/consumerSourceDataSets": [ + "2019-11-01", + "2020-09-01", + "2021-08-01" + ], + "accounts/shareSubscriptions/dataSetMappings": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "accounts/shareSubscriptions/triggers": [ + "2018-11-01-preview", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "listinvitations": [ + "2018-11-01-alpha" + ], + "locations": [ + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "locations/activateEmail": [ + "2018-11-01-alpha", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "locations/consumerInvitations": [ + "2018-11-01-alpha", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "locations/operationResults": [ + "2019-11-01", + "2020-09-01", + "2021-08-01" + ], + "locations/registerEmail": [ + "2018-11-01-alpha", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "locations/rejectInvitation": [ + "2018-11-01-alpha", + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ], + "operations": [ + "2019-11-01", + "2020-09-01", + "2020-10-01-preview", + "2021-08-01" + ] + }, + "Microsoft.DBforMariaDB": { + "checkNameAvailability": [ + "2018-06-01", + "2018-06-01-preview" + ], + "locations": [ + "2018-06-01", + "2018-06-01-preview" + ], + "locations/azureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview" + ], + "locations/operationResults": [ + "2018-06-01", + "2018-06-01-preview" + ], + "locations/performanceTiers": [ + "2018-06-01", + "2018-06-01-preview" + ], + "locations/privateEndpointConnectionAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionProxyOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/recommendedActionSessionsAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/recommendedActionSessionsOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/securityAlertPoliciesAzureAsyncOperation": [ + "2018-06-01" + ], + "locations/securityAlertPoliciesOperationResults": [ + "2018-06-01" + ], + "locations/serverKeyAzureAsyncOperation": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "locations/serverKeyOperationResults": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "operations": [ + "2018-06-01", + "2018-06-01-preview" + ], + "servers": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/advisors": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/configurations": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/databases": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/firewallRules": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/keys": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/privateEndpointConnectionProxies": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/privateLinkResources": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/queryTexts": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/recoverableServers": [ + "2018-06-01", + "2018-06-01-preview" + ], + "servers/resetQueryPerformanceInsightData": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/securityAlertPolicies": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/start": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/stop": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/topQueryStatistics": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/virtualNetworkRules": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/waitStatistics": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ] + }, + "Microsoft.DBforMySQL": { + "assessForMigration": [ + "2022-06-01-privatepreview" + ], + "checkNameAvailability": [ + "2017-12-01", + "2017-12-01-preview" + ], + "flexibleServers": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-06-01-preview", + "2022-06-01-privatepreview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "flexibleServers/administrators": [ + "2021-12-01-preview", + "2022-01-01" + ], + "flexibleServers/backups": [ + "2021-12-01-preview", + "2022-01-01", + "2022-09-30-preview" + ], + "flexibleServers/configurations": [ + "2021-12-01-preview", + "2022-01-01" + ], + "flexibleServers/databases": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01" + ], + "flexibleServers/firewallRules": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01" + ], + "flexibleServers/keys": [ + "2020-07-01-preview", + "2020-07-01-privatepreview" + ], + "flexibleServers/privateEndpointConnections": [ + "2022-09-30-preview", + "2023-06-30" + ], + "getPrivateDnsZoneSuffix": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-06-01-preview", + "2022-06-01-privatepreview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "locations": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/administratorAzureAsyncOperation": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/administratorOperationResults": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/azureAsyncOperation": [], + "locations/capabilities": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-06-01-preview", + "2022-06-01-privatepreview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "locations/checkNameAvailability": [ + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-06-01-preview", + "2022-06-01-privatepreview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "locations/checkVirtualNetworkSubnetUsage": [ + "2020-07-01-preview", + "2020-07-01-privatepreview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-06-01-preview", + "2022-06-01-privatepreview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "locations/listMigrations": [ + "2022-01-01", + "2022-06-01-preview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "locations/operationResults": [], + "locations/performanceTiers": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/privateEndpointConnectionAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionProxyOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/recommendedActionSessionsAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/recommendedActionSessionsOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/securityAlertPoliciesAzureAsyncOperation": [ + "2017-12-01" + ], + "locations/securityAlertPoliciesOperationResults": [ + "2017-12-01" + ], + "locations/serverKeyAzureAsyncOperation": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "locations/serverKeyOperationResults": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "locations/updateMigration": [ + "2022-01-01", + "2022-06-01-preview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "operations": [ + "2017-12-01", + "2017-12-01-preview", + "2021-05-01", + "2021-05-01-preview", + "2021-12-01-preview", + "2022-01-01", + "2022-06-01-preview", + "2022-06-01-privatepreview", + "2022-09-30-preview", + "2022-09-30-privatepreview" + ], + "servers": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/administrators": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/advisors": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/configurations": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/databases": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/firewallRules": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/keys": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/privateEndpointConnectionProxies": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/privateLinkResources": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/queryTexts": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/recoverableServers": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/resetQueryPerformanceInsightData": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/securityAlertPolicies": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/start": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/stop": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/topQueryStatistics": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/upgrade": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/virtualNetworkRules": [ + "2017-12-01", + "2017-12-01-preview", + "2018-06-01-privatepreview" + ], + "servers/waitStatistics": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ] + }, + "Microsoft.DBforPostgreSQL": { + "availableEngineVersions": [ + "2020-10-05-privatepreview", + "2022-11-08", + "2023-03-02-preview" + ], + "checkNameAvailability": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2020-11-05-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-03-08-privatepreview", + "2022-05-01-preview", + "2022-05-01-privatepreview", + "2022-11-01-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "flexibleServers": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2021-04-10-privatepreview", + "2021-06-01", + "2021-06-01-preview", + "2021-06-15-privatepreview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-03-08-privatepreview", + "2022-05-01-preview", + "2022-05-01-privatepreview", + "2022-11-01-preview", + "2022-12-01", + "2023-01-01-privatepreview", + "2023-03-01-preview" + ], + "flexibleServers/administrators": [ + "2022-03-08-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "flexibleServers/configurations": [ + "2021-06-01", + "2021-06-01-preview", + "2021-06-15-privatepreview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "flexibleServers/databases": [ + "2020-11-05-preview", + "2021-06-01", + "2021-06-01-preview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "flexibleServers/firewallRules": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2021-04-10-privatepreview", + "2021-06-01", + "2021-06-01-preview", + "2021-06-15-privatepreview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "flexibleServers/keys": [ + "2020-02-14-privatepreview" + ], + "flexibleServers/migrations": [ + "2021-06-15-privatepreview", + "2022-05-01-preview", + "2023-03-01-preview" + ], + "flexibleServers/privateEndpointConnectionProxies": [ + "2022-06-01-privatepreview", + "2023-01-01-privatepreview" + ], + "flexibleServers/privateEndpointConnections": [ + "2023-01-01-privatepreview" + ], + "flexibleServers/privateLinkResources": [ + "2023-01-01-privatepreview" + ], + "getPrivateDnsZoneSuffix": [], + "locations": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/administratorAzureAsyncOperation": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/administratorOperationResults": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/azureAsyncOperation": [], + "locations/capabilities": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2021-06-01", + "2021-06-01-preview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-03-08-privatepreview", + "2022-05-01-preview", + "2022-05-01-privatepreview", + "2022-11-01-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "locations/checkNameAvailability": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2021-06-01", + "2021-06-01-preview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-03-08-privatepreview", + "2022-05-01-preview", + "2022-05-01-privatepreview", + "2022-11-01-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "locations/checkVirtualNetworkSubnetUsage": [ + "2020-02-14-preview", + "2020-02-14-privatepreview", + "2021-06-01", + "2021-06-01-preview", + "2022-03-08-preview", + "2022-05-01-preview", + "2022-05-01-privatepreview", + "2022-11-01-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "locations/getCachedServerName": [ + "2022-03-08-privatepreview" + ], + "locations/operationResults": [], + "locations/performanceTiers": [ + "2017-12-01", + "2017-12-01-preview" + ], + "locations/privateEndpointConnectionAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/privateEndpointConnectionProxyOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/recommendedActionSessionsAzureAsyncOperation": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/recommendedActionSessionsOperationResults": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "locations/securityAlertPoliciesAzureAsyncOperation": [ + "2017-12-01" + ], + "locations/securityAlertPoliciesOperationResults": [ + "2017-12-01" + ], + "locations/serverKeyAzureAsyncOperation": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "locations/serverKeyOperationResults": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "operations": [ + "2021-06-01", + "2021-06-01-preview", + "2022-01-20-preview", + "2022-03-08-preview", + "2022-05-01-preview", + "2022-05-01-privatepreview", + "2022-11-01-preview", + "2022-12-01", + "2023-03-01-preview" + ], + "serverGroupsv2": [ + "2020-10-05-privatepreview", + "2022-11-08", + "2023-03-02-preview" + ], + "serverGroupsv2/coordinatorConfigurations": [ + "2022-11-08" + ], + "serverGroupsv2/firewallRules": [ + "2020-10-05-privatepreview", + "2022-11-08" + ], + "serverGroupsv2/nodeConfigurations": [ + "2022-11-08" + ], + "serverGroupsv2/privateEndpointConnections": [ + "2022-11-08" + ], + "serverGroupsv2/roles": [ + "2020-10-05-privatepreview", + "2022-11-08" + ], + "servers": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/administrators": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/advisors": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/configurations": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/databases": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/firewallRules": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/keys": [ + "2020-01-01", + "2020-01-01-preview", + "2020-01-01-privatepreview" + ], + "servers/privateEndpointConnectionProxies": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/privateLinkResources": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/queryTexts": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/recoverableServers": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/resetQueryPerformanceInsightData": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/securityAlertPolicies": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/topQueryStatistics": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ], + "servers/virtualNetworkRules": [ + "2017-12-01", + "2017-12-01-preview" + ], + "servers/waitStatistics": [ + "2018-06-01", + "2018-06-01-preview", + "2018-06-01-privatepreview" + ] + }, + "Microsoft.DelegatedNetwork": { + "controller": [ + "2020-08-08-preview", + "2021-03-15", + "2023-05-18-preview", + "2023-06-27-preview" + ], + "delegatedSubnets": [ + "2020-08-08-preview", + "2021-03-15", + "2023-05-18-preview", + "2023-06-27-preview" + ], + "operations": [ + "2020-08-08-preview", + "2021-03-15", + "2023-05-18-preview", + "2023-06-27-preview" + ], + "orchestrators": [ + "2020-08-08-preview", + "2021-03-15", + "2023-05-18-preview", + "2023-06-27-preview" + ] + }, + "Microsoft.Deployment.Admin": { + "locations/fileContainers": [ + "2018-07-01", + "2019-01-01" + ], + "locations/productPackages": [ + "2018-07-01", + "2019-01-01" + ] + }, + "Microsoft.DeploymentManager": { + "artifactSources": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "operationResults": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "operations": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "rollouts": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "serviceTopologies": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "serviceTopologies/services": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "serviceTopologies/services/serviceUnits": [ + "2018-09-01-preview", + "2019-11-01-preview" + ], + "steps": [ + "2018-09-01-preview", + "2019-11-01-preview" + ] + }, + "Microsoft.DesktopVirtualization": { + "appattachpackages": [ + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview" + ], + "applicationGroups": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview", + "2023-07-07-preview" + ], + "applicationGroups/applications": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview", + "2023-07-07-preview" + ], + "applicationgroups/desktops": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview" + ], + "applicationgroups/startmenuitems": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview" + ], + "hostPools": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview", + "2023-07-07-preview" + ], + "hostPools/msixPackages": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview", + "2023-07-07-preview" + ], + "hostPools/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-10-14-preview", + "2023-07-07-preview" + ], + "hostpools/sessionhosts": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview" + ], + "hostpools/sessionhosts/usersessions": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview" + ], + "hostpools/usersessions": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview" + ], + "operations": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-08-04-preview", + "2021-09-03-preview", + "2021-09-17-privatepreview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-07-05-preview", + "2022-08-09-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2022-12-09-privatepreview", + "2023-01-28-privatepreview", + "2023-01-30-preview", + "2023-03-03-privatepreview", + "2023-03-21-privatepreview", + "2023-03-30-privatepreview", + "2023-04-06-preview", + "2023-05-15-privatepreview", + "2023-05-18-privatepreview", + "2023-07-07-preview" + ], + "scalingPlans": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview", + "2023-07-07-preview" + ], + "scalingPlans/personalSchedules": [ + "2023-07-07-preview" + ], + "scalingPlans/pooledSchedules": [ + "2022-04-01-preview", + "2022-09-09", + "2022-10-14-preview", + "2023-07-07-preview" + ], + "workspaces": [ + "2019-01-23-preview", + "2019-09-24-preview", + "2019-12-10-preview", + "2020-09-21-preview", + "2020-10-19-preview", + "2020-11-02-preview", + "2020-11-10-preview", + "2021-01-14-preview", + "2021-02-01-preview", + "2021-03-09-preview", + "2021-04-01-preview", + "2021-05-13-preview", + "2021-07-12", + "2021-09-03-preview", + "2022-01-12-privatepreview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-06-03-privatepreview", + "2022-09-01-privatepreview", + "2022-09-09", + "2022-10-14-preview", + "2023-03-21-privatepreview", + "2023-07-07-preview" + ], + "workspaces/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-09-03-preview", + "2022-02-10-preview", + "2022-04-01-preview", + "2022-10-14-preview", + "2023-07-07-preview" + ] + }, + "Microsoft.DevAI": { + "instances": [ + "2022-02-17-preview" + ], + "instances/experiments": [ + "2022-02-17-preview" + ], + "instances/sandboxes": [ + "2022-02-17-preview" + ], + "instances/sandboxes/experiments": [ + "2022-02-17-preview" + ], + "Locations": [ + "2019-01-01" + ], + "Locations/operationstatuses": [ + "2019-10-01" + ], + "Operations": [ + "2021-02-04-preview", + "2022-02-17-preview" + ], + "registeredSubscriptions": [ + "2019-01-01" + ] + }, + "Microsoft.DevCenter": { + "checkNameAvailability": [ + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/attachednetworks": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/catalogs": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/catalogs/devboxdefinitions": [ + "2023-06-01-preview" + ], + "devcenters/devboxdefinitions": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/environmentTypes": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/galleries": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/galleries/images": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/galleries/images/versions": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "devcenters/images": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "Locations": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "Locations/OperationStatuses": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "Locations/usages": [ + "2023-04-01", + "2023-06-01-preview" + ], + "networkConnections": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "networkconnections/healthchecks": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "networkconnections/outboundNetworkDependenciesEndpoints": [ + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "operations": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "projects": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "projects/allowedEnvironmentTypes": [ + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "projects/attachednetworks": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "projects/devboxdefinitions": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "projects/environmentTypes": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "projects/pools": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ], + "projects/pools/schedules": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-12-preview", + "2022-11-11-preview", + "2023-01-01-preview", + "2023-04-01", + "2023-06-01-preview" + ] + }, + "Microsoft.DevHub": { + "locations": [ + "2022-04-01-preview", + "2022-10-11-preview" + ], + "locations/generatePreviewArtifacts": [ + "2022-10-11-preview" + ], + "locations/githuboauth": [ + "2022-04-01-preview", + "2022-10-11-preview" + ], + "operations": [ + "2022-04-01-preview", + "2022-10-11-preview" + ], + "workflows": [ + "2022-04-01-preview", + "2022-10-11-preview" + ] + }, + "Microsoft.Devices": { + "checkNameAvailability": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2021-07-15-preview", + "2022-04-30-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "checkProvisioningServiceNameAvailability": [ + "2017-08-21-preview", + "2017-11-15", + "2018-01-22", + "2020-01-01", + "2020-03-01", + "2021-10-15", + "2022-02-05", + "2022-12-12", + "2023-03-01-preview" + ], + "IotHubs": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-04-01-preview", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2022-11-15-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "IotHubs/certificates": [ + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2022-11-15-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "IotHubs/eventGridFilters": [ + "2018-01-15-preview", + "2018-07-31", + "2021-02-01-preview" + ], + "IotHubs/eventHubEndpoints/ConsumerGroups": [ + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2022-11-15-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "IotHubs/failover": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-04-01-preview", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "iotHubs/privateEndpointConnections": [ + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2022-11-15-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "IotHubs/securitySettings": [ + "2019-09-01" + ], + "locations": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2017-08-21-preview", + "2017-09-25-preview", + "2017-11-15", + "2018-01-22", + "2018-01-22-preview", + "2018-04-01", + "2018-04-01-preview", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-09-01", + "2019-11-04", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "locations/operationResults": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-04-01-preview", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "locations/provisioningServiceOperationResults": [ + "2017-08-21-preview", + "2017-11-15", + "2018-01-22", + "2020-01-01", + "2020-03-01", + "2021-10-15", + "2022-02-05", + "2022-12-12", + "2023-03-01-preview" + ], + "operationResults": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2017-08-21-preview", + "2017-09-25-preview", + "2017-11-15", + "2018-01-22", + "2018-01-22-preview", + "2018-04-01", + "2018-04-01-preview", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-09-01", + "2019-11-04", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "operations": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2023-06-30", + "2023-06-30-preview" + ], + "provisioningServiceOperationResults": [ + "2017-08-21-preview", + "2017-11-15", + "2018-01-22", + "2020-01-01", + "2020-03-01", + "2020-09-01-preview", + "2021-10-15", + "2022-02-05", + "2022-12-12", + "2023-03-01-preview" + ], + "provisioningServices": [ + "2017-08-21-preview", + "2017-11-15", + "2018-01-22", + "2020-01-01", + "2020-03-01", + "2020-09-01-preview", + "2021-10-15", + "2022-02-05", + "2022-12-12", + "2023-03-01-preview" + ], + "provisioningServices/certificates": [ + "2017-08-21-preview", + "2017-11-15", + "2018-01-22", + "2020-01-01", + "2020-03-01", + "2020-09-01-preview", + "2021-10-15", + "2022-02-05", + "2022-12-12", + "2023-03-01-preview" + ], + "provisioningServices/privateEndpointConnections": [ + "2020-03-01", + "2020-09-01-preview", + "2021-10-15", + "2022-02-05", + "2022-12-12", + "2023-03-01-preview" + ], + "usages": [ + "2015-08-15-preview", + "2016-02-03", + "2017-01-19", + "2017-07-01", + "2018-01-22", + "2018-04-01", + "2018-12-01-preview", + "2019-03-22", + "2019-03-22-preview", + "2019-07-01-preview", + "2019-11-04", + "2020-03-01", + "2020-04-01", + "2020-06-15", + "2020-07-10-preview", + "2020-08-01", + "2020-08-31", + "2020-08-31-preview", + "2021-02-01-preview", + "2021-03-03-preview", + "2021-03-31", + "2021-07-01", + "2021-07-01-preview", + "2021-07-02", + "2021-07-02-preview", + "2022-04-30-preview", + "2023-06-30", + "2023-06-30-preview" + ] + }, + "Microsoft.DeviceUpdate": { + "accounts": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "accounts/instances": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "accounts/privateEndpointConnectionProxies": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "accounts/privateEndpointConnections": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "accounts/privateLinkResources": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "checkNameAvailability": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "locations": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "locations/operationStatuses": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "operations": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ], + "registeredSubscriptions": [ + "2020-03-01-preview", + "2022-04-01-preview", + "2022-10-01", + "2022-12-01-preview", + "2023-07-01" + ] + }, + "Microsoft.DevOps": { + "pipelines": [ + "2019-07-01-preview", + "2020-07-13-preview" + ] + }, + "Microsoft.DevSpaces": { + "controllers": [ + "2019-04-01" + ] + }, + "Microsoft.DevTestLab": { + "labs": [ + "2015-05-21-preview", + "2016-05-15", + "2017-04-26-preview", + "2018-09-15", + "2018-10-15-preview" + ], + "labs/artifactsources": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/costs": [ + "2016-05-15", + "2018-09-15" + ], + "labs/customimages": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/environments": [ + "2015-05-21-preview" + ], + "labs/formulas": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/notificationchannels": [ + "2016-05-15", + "2018-09-15" + ], + "labs/policysets/policies": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/schedules": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "labs/servicerunners": [ + "2016-05-15", + "2017-04-26-preview", + "2018-09-15", + "2018-10-15-preview" + ], + "labs/users": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/disks": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/environments": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/secrets": [ + "2016-05-15", + "2018-09-15" + ], + "labs/users/servicefabrics": [ + "2018-09-15" + ], + "labs/users/servicefabrics/schedules": [ + "2018-09-15" + ], + "labs/virtualmachines": [ + "2015-05-21-preview", + "2016-05-15", + "2017-04-26-preview", + "2018-09-15", + "2018-10-15-preview" + ], + "labs/virtualmachines/schedules": [ + "2016-05-15", + "2018-09-15" + ], + "labs/virtualnetworks": [ + "2015-05-21-preview", + "2016-05-15", + "2018-09-15" + ], + "locations": [ + "2015-05-21-preview", + "2016-05-15", + "2017-04-26-preview", + "2018-09-15", + "2018-10-15-preview" + ], + "locations/operations": [ + "2015-05-21-preview", + "2016-05-15", + "2017-04-26-preview", + "2018-09-15", + "2018-10-15-preview" + ], + "operations": [ + "2015-05-21-preview", + "2016-05-15", + "2017-04-26-preview", + "2018-09-15", + "2018-10-15-preview" + ], + "schedules": [ + "2015-05-21-preview", + "2016-05-15", + "2017-04-26-preview", + "2018-09-15", + "2018-10-15-preview" + ] + }, + "Microsoft.Diagnostics": { + "apollo": [ + "2020-07-01-preview" + ], + "azureKB": [ + "2020-07-01-preview" + ], + "checkNameAvailability": [ + "2020-07-01-preview" + ], + "insights": [ + "2020-07-01-preview" + ], + "operationResults": [ + "2020-07-01-preview" + ], + "operations": [ + "2020-07-01-preview" + ], + "solutions": [ + "2020-07-01-preview" + ] + }, + "Microsoft.DigitalTwins": { + "digitalTwinsInstances": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "digitalTwinsInstances/endpoints": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "digitalTwinsInstances/operationResults": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "digitalTwinsInstances/privateEndpointConnections": [ + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "digitalTwinsInstances/timeSeriesDatabaseConnections": [ + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "locations": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "locations/checkNameAvailability": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "locations/operationResults": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "locations/operationsStatuses": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ], + "operations": [ + "2020-03-01-preview", + "2020-10-31", + "2020-12-01", + "2021-06-30-preview", + "2022-05-31", + "2022-10-31", + "2023-01-31" + ] + }, + "Microsoft.DocumentDB": { + "cassandraClusters": [ + "2021-03-01-preview", + "2021-04-01-preview", + "2021-05-01-preview", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "cassandraClusters/dataCenters": [ + "2021-03-01-preview", + "2021-04-01-preview", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccountNames": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/apis/databases": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/collections": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/collections/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/containers": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/containers/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/graphs": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/graphs/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/databases/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces/tables": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/keyspaces/tables/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/tables": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/apis/tables/settings": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31" + ], + "databaseAccounts/cassandraKeyspaces": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/cassandraKeyspaces/tables": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/cassandraKeyspaces/tables/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/cassandraKeyspaces/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/cassandraKeyspaces/views": [ + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "databaseAccounts/cassandraKeyspaces/views/throughputSettings": [ + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "databaseAccounts/dataTransferJobs": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "databaseAccounts/encryptionScopes": [ + "2021-03-01-preview", + "2021-04-01-preview", + "2021-05-01-preview", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/graphs": [ + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "databaseAccounts/gremlinDatabases": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/gremlinDatabases/graphs": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/gremlinDatabases/graphs/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/gremlinDatabases/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/mongodbDatabases": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/mongodbDatabases/collections": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/mongodbDatabases/collections/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/mongodbDatabases/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/mongodbRoleDefinitions": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/mongodbUserDefinitions": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/notebookWorkspaces": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/privateEndpointConnections": [ + "2019-08-01-preview", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/services": [ + "2021-04-01-preview", + "2021-07-01-preview", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases/clientEncryptionKeys": [ + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15-preview", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases/containers": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases/containers/storedProcedures": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases/containers/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases/containers/triggers": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases/containers/userDefinedFunctions": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlDatabases/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlRoleAssignments": [ + "2020-06-01-preview", + "2021-03-01-preview", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/sqlRoleDefinitions": [ + "2020-06-01-preview", + "2021-03-01-preview", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/tables": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "databaseAccounts/tables/throughputSettings": [ + "2019-08-01", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "locations": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "locations/checkMongoClusterNameAvailability": [ + "2022-10-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "locations/mongoClusterAzureAsyncOperation": [ + "2022-10-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "locations/mongoClusterOperationResults": [ + "2022-10-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "locations/operationResults": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "locations/operationsStatus": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "locations/restorableDatabaseAccounts": [ + "2020-06-01-preview", + "2021-03-01-preview", + "2021-04-01-preview", + "2021-05-01-preview", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "mongoClusters": [ + "2022-10-15-preview", + "2023-03-01-preview", + "2023-03-15-preview" + ], + "mongoClusters/firewallRules": [ + "2023-03-01-preview", + "2023-03-15-preview" + ], + "operationResults": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "operations": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "operationsStatus": [ + "2014-04-01", + "2015-04-08", + "2015-11-06", + "2016-03-19", + "2016-03-31", + "2019-08-01", + "2019-08-01-preview", + "2019-12-12", + "2020-03-01", + "2020-04-01", + "2020-06-01-preview", + "2020-09-01", + "2021-01-15", + "2021-03-01-preview", + "2021-03-15", + "2021-04-01-preview", + "2021-04-15", + "2021-05-01-preview", + "2021-05-15", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ], + "restorableDatabaseAccounts": [ + "2020-06-01-preview", + "2021-03-01-preview", + "2021-04-01-preview", + "2021-05-01-preview", + "2021-06-15", + "2021-07-01-preview", + "2021-10-15", + "2021-10-15-preview", + "2021-11-15-preview", + "2022-02-15-preview", + "2022-05-15", + "2022-05-15-preview", + "2022-08-15", + "2022-08-15-preview", + "2022-11-15", + "2022-11-15-preview", + "2023-03-01-preview", + "2023-03-15", + "2023-03-15-preview", + "2023-04-15" + ] + }, + "Microsoft.DomainRegistration": { + "checkDomainAvailability": [ + "2015-02-01", + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "domains": [ + "2015-02-01", + "2015-04-01", + "2015-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "domains/domainOwnershipIdentifiers": [ + "2015-02-01", + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "domains/transferOut": [ + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "generateSsoRequest": [ + "2015-02-01", + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "listDomainRecommendations": [ + "2015-02-01", + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "operations": [ + "2015-02-01", + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "topLevelDomains": [ + "2015-02-01", + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "validateDomainRegistrationInformation": [ + "2015-02-01", + "2015-04-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ] + }, + "Microsoft.Dynamics365FraudProtection": { + "instances": [ + "2021-02-01-preview" + ] + }, + "Microsoft.Easm": { + "operations": [ + "2022-04-01-preview", + "2023-04-01-preview" + ], + "workspaces": [ + "2022-04-01-preview", + "2023-04-01-preview" + ], + "workspaces/labels": [ + "2022-04-01-preview", + "2023-04-01-preview" + ], + "workspaces/tasks": [ + "2023-04-01-preview" + ] + }, + "Microsoft.EdgeOrder": { + "addresses": [ + "2020-12-01-preview", + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "listConfigurations": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "listProductFamilies": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "locations": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "locations/hciCatalog": [ + "2023-05-01-preview" + ], + "locations/hciCatalog/platforms": [ + "2023-05-01-preview" + ], + "locations/hciCatalog/projects": [ + "2023-05-01-preview" + ], + "locations/hciCatalog/vendors": [ + "2023-05-01-preview" + ], + "locations/hciFlightCatalog": [ + "2023-05-01-preview" + ], + "locations/hciFlightCatalog/platforms": [ + "2023-05-01-preview" + ], + "locations/hciFlightCatalog/projects": [ + "2023-05-01-preview" + ], + "locations/hciFlightCatalog/vendors": [ + "2023-05-01-preview" + ], + "locations/operationresults": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "locations/orders": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "operations": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "orderItems": [ + "2020-12-01-preview", + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "orders": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ], + "productFamiliesMetadata": [ + "2021-12-01", + "2022-05-01-preview", + "2023-05-01-preview" + ] + }, + "Microsoft.EdgeOrderPartner": { + "operations": [ + "2020-12-01-preview", + "2021-12-01", + "2022-07-01-preview" + ] + }, + "Microsoft.Education": { + "labs": [ + "2021-12-01-preview" + ], + "labs/students": [ + "2021-12-01-preview" + ] + }, + "Microsoft.Elastic": { + "checkNameAvailability": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview", + "2022-09-01-preview", + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ], + "elasticVersions": [ + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ], + "getElasticOrganizationToAzureSubscriptionMapping": [ + "2023-06-15-preview" + ], + "getOrganizationApiKey": [ + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ], + "locations": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview", + "2022-09-01-preview", + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ], + "locations/operationStatuses": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview", + "2022-09-01-preview", + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ], + "monitors": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview", + "2022-09-01-preview", + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ], + "monitors/tagRules": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview", + "2022-09-01-preview", + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ], + "operations": [ + "2020-07-01", + "2020-07-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-05-05-preview", + "2022-07-01-preview", + "2022-09-01-preview", + "2023-02-01-preview", + "2023-05-01-preview", + "2023-06-01", + "2023-06-15-preview", + "2023-07-01-preview" + ] + }, + "Microsoft.ElasticSan": { + "elasticSans": [ + "2021-11-20-preview", + "2022-12-01-preview", + "2023-01-01" + ], + "elasticSans/privateEndpointConnections": [ + "2022-12-01-preview" + ], + "elasticSans/volumegroups": [ + "2021-11-20-preview", + "2022-12-01-preview", + "2023-01-01" + ], + "elasticSans/volumegroups/volumes": [ + "2021-11-20-preview", + "2022-12-01-preview" + ], + "locations": [ + "2021-11-20-preview" + ], + "locations/asyncoperations": [ + "2021-11-20-preview", + "2022-12-01-preview", + "2023-01-01" + ], + "operations": [ + "2021-11-20-preview", + "2022-12-01-preview", + "2023-01-01" + ] + }, + "Microsoft.EngagementFabric": { + "Accounts": [ + "2018-09-01" + ], + "Accounts/Channels": [ + "2018-09-01" + ] + }, + "Microsoft.EnterpriseKnowledgeGraph": { + "services": [ + "2018-12-03" + ] + }, + "Microsoft.EnterpriseSupport": { + "EnterpriseSupports": [ + "2023-05-01-preview" + ], + "operationStatuses": [ + "2023-05-01-preview" + ] + }, + "Microsoft.EntitlementManagement": { + "Operations": [ + "2023-03-01-preview" + ] + }, + "Microsoft.EventGrid": { + "{parentType}/privateEndpointConnections": [ + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "domains": [ + "2018-09-15-preview", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "domains/eventSubscriptions": [ + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "domains/topics": [ + "2018-09-15-preview", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "domains/topics/eventSubscriptions": [ + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "eventSubscriptions": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "extensionTopics": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "locations": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "locations/eventSubscriptions": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "locations/operationResults": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "locations/operationsStatus": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "locations/topicTypes": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "namespaces": [ + "2023-06-01-preview" + ], + "namespaces/caCertificates": [ + "2023-06-01-preview" + ], + "namespaces/clientGroups": [ + "2023-06-01-preview" + ], + "namespaces/clients": [ + "2023-06-01-preview" + ], + "namespaces/permissionBindings": [ + "2023-06-01-preview" + ], + "namespaces/topics": [ + "2023-06-01-preview" + ], + "namespaces/topics/eventSubscriptions": [ + "2023-06-01-preview" + ], + "namespaces/topicSpaces": [ + "2023-06-01-preview" + ], + "operationResults": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "operations": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "operationsStatus": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "partnerConfigurations": [ + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "partnerDestinations": [ + "2021-10-15-preview", + "2023-06-01-preview" + ], + "partnerNamespaces": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "partnerNamespaces/channels": [ + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "partnerNamespaces/eventChannels": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2023-06-01-preview" + ], + "partnerRegistrations": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "partnerTopics": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "partnerTopics/eventSubscriptions": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "systemTopics": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "systemTopics/eventSubscriptions": [ + "2020-04-01-preview", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "topics": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "topics/eventSubscriptions": [ + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ], + "topicTypes": [ + "2017-06-15-preview", + "2017-09-15-preview", + "2018-01-01", + "2018-05-01-preview", + "2018-09-15-preview", + "2019-01-01", + "2019-02-01-preview", + "2019-06-01", + "2020-01-01-preview", + "2020-04-01-preview", + "2020-06-01", + "2020-10-15-preview", + "2021-06-01-preview", + "2021-10-15-preview", + "2021-12-01", + "2022-06-15", + "2023-06-01-preview" + ], + "verifiedPartners": [ + "2021-10-15-preview", + "2022-06-15", + "2023-06-01-preview" + ] + }, + "Microsoft.EventHub": { + "availableClusterRegions": [ + "2018-01-01-preview" + ], + "checkNameAvailability": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "checkNamespaceAvailability": [ + "2014-09-01", + "2015-08-01" + ], + "clusters": [ + "2018-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "locations": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "locations/clusterOperationResults": [ + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "locations/namespaceOperationResults": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "locations/operationStatus": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/applicationGroups": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/disasterRecoveryConfigs": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/disasterrecoveryconfigs/checkNameAvailability": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/eventhubs": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/eventhubs/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/eventhubs/consumergroups": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/ipfilterrules": [ + "2018-01-01-preview" + ], + "namespaces/networkRuleSets": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/networkSecurityPerimeterAssociationProxies": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/networkSecurityPerimeterConfigurations": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/privateEndpointConnectionProxies": [ + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/privateEndpointConnections": [ + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/schemagroups": [ + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "namespaces/virtualnetworkrules": [ + "2018-01-01-preview" + ], + "operations": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview", + "2023-01-01-preview" + ], + "sku": [ + "2014-09-01", + "2015-08-01", + "2017-04-01" + ] + }, + "Microsoft.ExtendedLocation": { + "customLocations": [ + "2021-03-15-preview", + "2021-08-15", + "2021-08-31-preview" + ], + "customLocations/enabledResourceTypes": [ + "2021-03-15-preview", + "2021-08-15", + "2021-08-31-preview" + ], + "customLocations/resourceSyncRules": [ + "2021-08-31-preview" + ], + "locations": [ + "2020-07-15-privatepreview", + "2021-03-15-preview" + ], + "locations/operationresults": [ + "2021-03-15-preview" + ], + "locations/operationsstatus": [ + "2021-03-15-preview" + ], + "operations": [ + "2020-07-15-privatepreview", + "2021-03-15-preview", + "2021-08-15", + "2021-08-31-preview" + ] + }, + "Microsoft.Fabric": { + "capacities": [ + "2022-07-01-preview" + ], + "locations": [ + "2022-07-01-preview" + ], + "locations/checkNameAvailability": [ + "2022-07-01-preview" + ], + "locations/operationresults": [ + "2022-07-01-preview" + ], + "locations/operationstatuses": [ + "2022-07-01-preview" + ], + "operations": [ + "2022-07-01-preview" + ] + }, + "Microsoft.Fabric.Admin": { + "fabricLocations/ipPools": [ + "2016-05-01" + ] + }, + "Microsoft.Falcon": { + "namespaces": [ + "2020-01-20-preview" + ] + }, + "Microsoft.Features": { + "featureConfigurations": [ + "2020-09-01", + "2021-07-01" + ], + "featureProviderNamespaces": [ + "2020-09-01", + "2021-07-01" + ], + "featureProviders": [ + "2020-01-01", + "2020-09-01", + "2021-07-01" + ], + "featureProviders/subscriptionFeatureRegistrations": [ + "2021-07-01" + ], + "features": [ + "2014-08-01-preview", + "2015-12-01", + "2021-07-01" + ], + "operations": [ + "2014-08-01-preview", + "2015-12-01", + "2021-07-01" + ], + "providers": [ + "2014-08-01-preview", + "2015-12-01", + "2021-07-01" + ], + "subscriptionFeatureRegistrations": [ + "2020-01-01", + "2020-09-01", + "2021-07-01" + ] + }, + "Microsoft.FluidRelay": { + "fluidRelayServers": [ + "2021-03-12-preview", + "2021-06-15-preview", + "2021-08-30-preview", + "2021-09-10-preview", + "2022-02-15", + "2022-02-16-preview", + "2022-02-23-preview", + "2022-04-03", + "2022-04-21", + "2022-05-11", + "2022-05-26", + "2022-06-01" + ], + "fluidRelayServers/fluidRelayContainers": [ + "2021-08-30-preview", + "2021-09-10-preview", + "2022-02-15", + "2022-04-21", + "2022-05-11", + "2022-05-26", + "2022-06-01" + ], + "Locations": [ + "2021-08-30-preview" + ], + "Locations/OperationStatuses": [ + "2021-08-30-preview" + ], + "Operations": [ + "2021-03-01-preview", + "2021-03-12-preview", + "2022-02-15", + "2022-04-21", + "2022-05-11", + "2022-05-26", + "2022-06-01" + ] + }, + "Microsoft.GraphServices": { + "accounts": [ + "2022-09-22-preview", + "2023-04-13" + ], + "Locations": [ + "2022-09-22-preview", + "2023-04-13" + ], + "Locations/OperationStatuses": [ + "2022-09-22-preview", + "2023-04-13" + ], + "Operations": [ + "2022-09-22-preview", + "2023-04-13" + ], + "RegisteredSubscriptions": [ + "2022-09-22-preview", + "2023-04-13" + ] + }, + "Microsoft.GuestConfiguration": { + "guestConfigurationAssignments": [ + "2018-01-20-preview", + "2018-06-30-preview", + "2018-11-20", + "2020-06-25", + "2021-01-25", + "2022-01-25" + ], + "operations": [ + "2018-01-20-preview", + "2018-06-30-preview", + "2018-11-20", + "2020-06-25", + "2021-01-25", + "2022-01-25" + ] + }, + "Microsoft.HanaOnAzure": { + "hanaInstances": [ + "2017-11-03-preview" + ], + "locations": [ + "2017-11-03-preview" + ], + "locations/operations": [ + "2017-11-03-preview" + ], + "locations/operationsStatus": [ + "2017-11-03-preview" + ], + "operations": [ + "2017-11-03-preview" + ], + "sapMonitors": [ + "2017-11-03-preview", + "2020-02-07-preview" + ], + "sapMonitors/providerInstances": [ + "2020-02-07-preview" + ] + }, + "Microsoft.HardwareSecurityModules": { + "cloudHsmClusters": [ + "2022-08-31-preview" + ], + "cloudHsmClusters/privateEndpointConnections": [ + "2022-08-31-preview" + ], + "dedicatedHSMs": [ + "2018-10-31-preview", + "2021-11-30" + ], + "locations": [ + "2018-10-31", + "2018-10-31-preview", + "2021-11-30" + ], + "operations": [ + "2018-10-31", + "2018-10-31-preview", + "2021-11-30", + "2022-08-31-preview" + ] + }, + "Microsoft.HDInsight": { + "clusterpools": [ + "2023-06-01-preview" + ], + "clusterpools/clusters": [ + "2023-06-01-preview" + ], + "clusters": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview", + "2023-08-15-preview" + ], + "clusters/applications": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview", + "2023-08-15-preview" + ], + "clusters/extensions": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview", + "2023-08-15-preview" + ], + "clusters/operationresults": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "clusters/privateEndpointConnections": [ + "2021-06-01", + "2023-04-15-preview", + "2023-08-15-preview" + ], + "locations": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "locations/azureasyncoperations": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "locations/billingSpecs": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "locations/capabilities": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "locations/checkNameAvailability": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "locations/operationresults": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "locations/operationStatuses": [ + "2021-09-15-preview", + "2023-06-01-preview" + ], + "locations/usages": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "locations/validateCreateRequest": [ + "2015-03-01-preview", + "2018-06-01-preview", + "2021-06-01", + "2023-04-15-preview" + ], + "operations": [ + "2021-09-15-preview", + "2023-06-01-preview" + ] + }, + "Microsoft.HealthBot": { + "healthBots": [ + "2020-10-20", + "2020-10-20-preview", + "2020-12-08", + "2020-12-08-preview", + "2021-06-10", + "2021-08-24", + "2022-08-08", + "2023-05-01" + ], + "Locations": [ + "2020-12-08", + "2021-06-10", + "2021-08-24", + "2022-08-08", + "2023-05-01" + ], + "Locations/OperationStatuses": [ + "2020-12-08", + "2021-06-10", + "2021-08-24", + "2022-08-08", + "2023-05-01" + ], + "Operations": [ + "2020-12-08", + "2021-06-10", + "2021-08-24", + "2022-08-08", + "2023-05-01" + ] + }, + "Microsoft.HealthcareApis": { + "checkNameAvailability": [ + "2018-08-20-preview", + "2019-09-16", + "2020-03-15", + "2020-03-30", + "2021-01-11", + "2021-03-31-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "locations": [ + "2018-08-20-preview", + "2019-09-16", + "2020-03-15", + "2020-03-30", + "2021-01-11", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "locations/operationresults": [ + "2018-08-20-preview", + "2019-09-16", + "2020-03-15", + "2020-03-30", + "2020-05-01-preview", + "2021-01-11", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "operations": [ + "2018-08-20-preview", + "2019-09-16", + "2020-03-15", + "2020-03-30", + "2021-01-11", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "services": [ + "2018-08-20-preview", + "2019-09-16", + "2020-03-15", + "2020-03-30", + "2021-01-11", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "services/iomtconnectors": [ + "2020-05-01-preview" + ], + "services/iomtconnectors/connections": [ + "2020-05-01-preview" + ], + "services/iomtconnectors/mappings": [ + "2020-05-01-preview" + ], + "services/privateEndpointConnectionProxies": [ + "2020-03-30", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "services/privateEndpointConnections": [ + "2020-03-30", + "2021-01-11", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "services/privateLinkResources": [ + "2020-03-30", + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "validateMedtechMappings": [ + "2022-01-31-preview" + ], + "workspaces": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "workspaces/analyticsconnectors": [ + "2022-10-01-preview" + ], + "workspaces/dicomservices": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "workspaces/eventGridFilters": [ + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "workspaces/fhirservices": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "workspaces/iotconnectors": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "workspaces/iotconnectors/fhirdestinations": [ + "2021-06-01-preview", + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "workspaces/privateEndpointConnectionProxies": [ + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ], + "workspaces/privateEndpointConnections": [ + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-10-01-preview", + "2022-12-01", + "2023-02-28" + ], + "workspaces/privateLinkResources": [ + "2021-11-01", + "2022-01-31-preview", + "2022-05-15", + "2022-06-01", + "2022-12-01", + "2023-02-28" + ] + }, + "Microsoft.HealthModel": { + "Operations": [ + "2022-11-01-preview" + ] + }, + "Microsoft.Help": { + "checkNameAvailability": [ + "2023-01-01-preview", + "2023-03-03-preview", + "2023-03-23-preview", + "2023-06-01" + ], + "diagnostics": [ + "2023-01-01-preview", + "2023-06-01" + ], + "discoverySolutions": [ + "2023-01-01-preview", + "2023-04-01-preview", + "2023-06-01" + ], + "operationResults": [ + "2023-01-01-preview", + "2023-03-03-preview", + "2023-06-01" + ], + "operations": [ + "2023-01-01-preview", + "2023-03-03-preview", + "2023-03-23-preview", + "2023-06-01" + ], + "solutions": [ + "2023-03-03-preview" + ], + "troubleshooters": [ + "2023-03-23-preview" + ] + }, + "Microsoft.HybridCloud": { + "cloudConnections": [ + "2023-01-01-preview" + ], + "cloudConnectors": [ + "2023-01-01-preview" + ] + }, + "Microsoft.HybridCompute": { + "locations": [ + "2019-08-02-preview", + "2019-12-12", + "2020-03-11-preview", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "locations/operationResults": [ + "2019-08-02-preview", + "2019-12-12", + "2020-03-11-preview", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "locations/operationStatus": [ + "2019-08-02-preview", + "2019-12-12", + "2020-03-11-preview", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "locations/privateLinkScopes": [ + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "locations/publishers": [ + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "locations/publishers/extensionTypes": [ + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "locations/publishers/extensionTypes/versions": [ + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "locations/updateCenterOperationResults": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "machines": [ + "2019-03-18", + "2019-03-18-preview", + "2019-08-02", + "2019-08-02-preview", + "2019-12-12", + "2020-03-11-preview", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "machines/assessPatches": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "machines/extensions": [ + "2019-08-02", + "2019-08-02-preview", + "2019-12-12", + "2020-03-11-preview", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "machines/hybridIdentityMetadata": [ + "2022-12-27", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "machines/installPatches": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "machines/privateLinkScopes": [ + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "operations": [ + "2019-03-18-preview", + "2019-08-02-preview", + "2019-12-12", + "2020-03-11-preview", + "2020-07-30-preview", + "2020-08-02", + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "osType": [ + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "osType/agentVersions": [ + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "osType/agentVersions/latest": [ + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "privateLinkScopes": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "privateLinkScopes/privateEndpointConnectionProxies": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "privateLinkScopes/privateEndpointConnections": [ + "2020-08-15-preview", + "2021-01-28-preview", + "2021-03-25-preview", + "2021-04-22-preview", + "2021-05-17-preview", + "2021-05-20", + "2021-06-10-preview", + "2021-12-10-preview", + "2022-03-10", + "2022-05-10-preview", + "2022-08-11-preview", + "2022-11-10", + "2022-12-27", + "2022-12-27-preview", + "2023-03-15-preview", + "2023-04-25-preview", + "2023-06-20-preview" + ], + "privateLinkScopes/scopedResources": [ + "2020-08-15-preview" + ] + }, + "Microsoft.HybridConnectivity": { + "endpoints": [ + "2021-10-06-preview", + "2022-05-01-preview", + "2023-03-15" + ], + "endpoints/serviceConfigurations": [ + "2023-03-15" + ], + "Locations": [ + "2021-07-08-privatepreview", + "2021-10-01-privatepreview", + "2021-10-06-preview", + "2022-05-01-preview", + "2023-03-15", + "2023-04-01-preview" + ], + "Locations/OperationStatuses": [ + "2021-10-06-preview", + "2022-05-01-preview", + "2023-03-15" + ], + "Operations": [ + "2021-07-08-privatepreview", + "2021-10-01-privatepreview", + "2021-10-06-preview", + "2022-05-01-preview", + "2023-03-15", + "2023-04-01-preview" + ] + }, + "Microsoft.HybridContainerService": { + "Locations": [ + "2021-08-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2023-11-01" + ], + "Locations/operationStatuses": [ + "2021-08-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2023-11-01" + ], + "Operations": [ + "2021-08-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-05-01-preview", + "2022-09-01-preview", + "2023-11-01" + ], + "provisionedClusters": [ + "2021-08-01-preview", + "2021-09-01-preview", + "2022-01-01-preview", + "2022-05-01-preview", + "2022-09-01-preview" + ], + "provisionedClusters/agentPools": [ + "2022-01-01-preview", + "2022-05-01-preview", + "2022-09-01-preview" + ], + "provisionedClusters/hybridIdentityMetadata": [ + "2021-09-01-preview", + "2022-01-01-preview", + "2022-05-01-preview", + "2022-09-01-preview" + ], + "provisionedClusters/upgradeProfiles": [ + "2022-09-01-preview" + ], + "storageSpaces": [ + "2022-05-01-preview", + "2022-09-01-preview" + ], + "virtualNetworks": [ + "2022-05-01-preview", + "2022-09-01-preview" + ] + }, + "Microsoft.HybridData": { + "dataManagers": [ + "2016-06-01", + "2019-06-01" + ], + "dataManagers/dataServices/jobDefinitions": [ + "2016-06-01", + "2019-06-01" + ], + "dataManagers/dataStores": [ + "2016-06-01", + "2019-06-01" + ] + }, + "Microsoft.HybridNetwork": { + "devices": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "Locations": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "Locations/OperationStatuses": [ + "2020-01-01-preview", + "2021-05-01" + ], + "locations/vendors/networkFunctions": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "networkFunctions": [ + "2020-01-01-preview", + "2021-05-01", + "2021-06-01-privatepreview", + "2022-01-01-preview", + "2022-09-01-preview", + "2023-01-01" + ], + "networkFunctions/components": [ + "2022-09-01-preview", + "2023-01-01" + ], + "networkFunctionVendors": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "Operations": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview", + "2022-09-01-preview", + "2023-01-01", + "2023-04-01-preview" + ], + "publishers": [ + "2023-01-01" + ], + "publishers/artifactStores": [ + "2023-01-01" + ], + "publishers/artifactStores/artifactManifests": [ + "2023-01-01" + ], + "publishers/networkFunctionDefinitionGroups": [ + "2023-01-01" + ], + "publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions": [ + "2023-01-01" + ], + "vendors": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "vendors/vendorSkus": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ], + "vendors/vendorSkus/previewSubscriptions": [ + "2020-01-01-preview", + "2021-05-01", + "2022-01-01-preview" + ] + }, + "Microsoft.Impact": { + "Operations": [ + "2022-11-01-preview", + "2023-02-01-preview", + "2023-07-01-preview" + ] + }, + "Microsoft.ImportExport": { + "jobs": [ + "2016-11-01", + "2020-08-01", + "2021-01-01" + ] + }, + "Microsoft.InfrastructureInsights.Admin": { + "regionHealths/alerts": [ + "2016-05-01" + ] + }, + "Microsoft.Insights": { + "actionGroups": [ + "2017-03-01-preview", + "2017-04-01", + "2018-03-01", + "2018-09-01", + "2019-03-01", + "2019-06-01", + "2021-09-01", + "2022-04-01", + "2022-06-01", + "2023-01-01", + "2023-05-01" + ], + "activityLogAlerts": [ + "2017-03-01-preview", + "2017-04-01", + "2020-10-01", + "2023-01-01-preview" + ], + "alertrules": [ + "2014-04-01", + "2015-04-01", + "2016-03-01" + ], + "autoscalesettings": [ + "2014-04-01", + "2015-04-01", + "2021-05-01-preview", + "2022-10-01", + "2023-01-01-preview" + ], + "components": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/{scopePath}": [ + "2015-05-01" + ], + "components/aggregate": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/analyticsItems": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/Annotations": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/api": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/apiKeys": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/currentbillingfeatures": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/defaultWorkItemConfig": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/events": [ + "2018-04-20" + ], + "components/exportconfiguration": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/extendQueries": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/favorites": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/featureCapabilities": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/getAvailableBillingFeatures": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/linkedStorageAccounts": [ + "2020-03-01-preview" + ], + "components/metadata": [ + "2018-04-20" + ], + "components/metricDefinitions": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/metrics": [ + "2014-04-01", + "2018-04-20" + ], + "components/move": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/myAnalyticsItems": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/myFavorites": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/operations": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/pricingPlans": [ + "2017-10-01" + ], + "components/ProactiveDetectionConfigs": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/purge": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/query": [ + "2018-04-20" + ], + "components/quotaStatus": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/syntheticmonitorlocations": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "components/webtests": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview", + "2022-06-15" + ], + "components/workItemConfigs": [ + "2014-04-01", + "2014-08-01", + "2014-12-01-preview", + "2015-05-01", + "2018-05-01-preview", + "2020-02-02", + "2020-02-02-preview" + ], + "createnotifications": [ + "2021-09-01", + "2022-04-01", + "2022-06-01", + "2023-01-01", + "2023-05-01", + "2023-05-01-preview" + ], + "dataCollectionEndpoints": [ + "2021-04-01", + "2021-09-01-preview", + "2022-06-01" + ], + "dataCollectionEndpoints/scopedPrivateLinkProxies": [ + "2021-04-01", + "2021-09-01-preview" + ], + "dataCollectionRuleAssociations": [ + "2019-11-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2022-06-01" + ], + "dataCollectionRules": [ + "2019-11-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2022-06-01" + ], + "diagnosticSettings": [ + "2015-07-01", + "2016-09-01", + "2017-05-01-preview", + "2020-01-01-preview", + "2021-05-01-preview" + ], + "diagnosticSettingsCategories": [ + "2017-05-01-preview", + "2021-05-01-preview" + ], + "eventCategories": [ + "2015-04-01" + ], + "eventtypes": [ + "2014-04-01", + "2014-11-01", + "2015-04-01", + "2016-09-01-preview", + "2017-03-01-preview" + ], + "extendedDiagnosticSettings": [ + "2017-02-01" + ], + "generateLiveToken": [ + "2020-06-02-preview", + "2021-10-14" + ], + "guestDiagnosticSettings": [ + "2018-06-01-preview" + ], + "guestDiagnosticSettingsAssociation": [ + "2018-06-01-preview" + ], + "listMigrationdate": [ + "2017-10-01" + ], + "locations": [ + "2014-04-01", + "2015-04-01" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2021-10-01" + ], + "locations/operationResults": [ + "2014-04-01", + "2015-04-01" + ], + "logDefinitions": [ + "2015-07-01" + ], + "logprofiles": [ + "2016-03-01" + ], + "logs": [ + "2018-03-01-preview", + "2018-08-01-preview" + ], + "metricAlerts": [ + "2017-09-01-preview", + "2018-03-01" + ], + "metricbaselines": [ + "2018-09-01", + "2019-03-01" + ], + "metricbatch": [ + "2019-01-01-preview" + ], + "metricDefinitions": [ + "2017-05-01-preview", + "2017-09-01-preview", + "2017-12-01-preview", + "2018-01-01", + "2021-05-01", + "2022-04-01-preview" + ], + "metricNamespaces": [ + "2017-12-01-preview" + ], + "metrics": [ + "2016-06-01", + "2016-09-01", + "2017-05-01-preview", + "2017-09-01-preview", + "2017-12-01-preview", + "2018-01-01", + "2019-07-01", + "2021-05-01" + ], + "migratealertrules": [ + "2018-03-01" + ], + "migrateToNewPricingModel": [ + "2017-10-01" + ], + "monitoredObjects": [ + "2021-09-01-preview" + ], + "myWorkbooks": [ + "2015-05-01", + "2016-06-15-preview", + "2018-06-01-preview", + "2018-06-15-preview", + "2018-06-17-preview", + "2020-02-12", + "2020-10-20", + "2021-03-08" + ], + "notificationstatus": [ + "2021-09-01", + "2022-04-01", + "2022-06-01", + "2023-01-01", + "2023-05-01", + "2023-05-01-preview" + ], + "operations": [ + "2014-04-01", + "2014-06-01", + "2015-04-01" + ], + "privateLinkScopeOperationStatuses": [ + "2019-10-17-preview", + "2021-07-01-preview", + "2021-09-01" + ], + "privateLinkScopes": [ + "2019-10-17-preview", + "2021-07-01-preview", + "2021-09-01" + ], + "privateLinkScopes/privateEndpointConnectionProxies": [ + "2019-10-17-preview", + "2021-07-01-preview", + "2021-09-01" + ], + "privateLinkScopes/privateEndpointConnections": [ + "2019-10-17-preview", + "2021-07-01-preview", + "2021-09-01" + ], + "privateLinkScopes/scopedResources": [ + "2019-10-17-preview", + "2021-07-01-preview", + "2021-09-01" + ], + "rollbackToLegacyPricingModel": [ + "2017-10-01" + ], + "scheduledQueryRules": [ + "2017-09-01-preview", + "2018-04-16", + "2020-05-01-preview", + "2021-02-01-preview", + "2021-08-01", + "2022-06-15", + "2022-08-01-preview", + "2023-03-15-preview" + ], + "tenantActionGroups": [ + "2023-03-01-preview", + "2023-05-01-preview" + ], + "topology": [ + "2019-10-17-preview" + ], + "transactions": [ + "2019-10-17-preview" + ], + "vmInsightsOnboardingStatuses": [ + "2018-11-27-preview" + ], + "webtests": [ + "2014-04-01", + "2014-08-01", + "2015-05-01", + "2018-05-01-preview", + "2020-10-05-preview", + "2022-06-15" + ], + "webtests/getTestResultFile": [ + "2020-02-10-preview" + ], + "workbooks": [ + "2015-05-01", + "2018-06-01-preview", + "2018-06-17-preview", + "2020-02-12", + "2020-10-20", + "2021-03-08", + "2021-08-01", + "2022-04-01", + "2023-06-01" + ], + "workbooktemplates": [ + "2019-10-17-preview", + "2020-11-20" + ] + }, + "Microsoft.Intune": { + "locations/androidPolicies": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/androidPolicies/apps": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/androidPolicies/groups": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/iosPolicies": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/iosPolicies/apps": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ], + "locations/iosPolicies/groups": [ + "2015-01-14-preview", + "2015-01-14-privatepreview" + ] + }, + "Microsoft.IoTCentral": { + "appTemplates": [ + "2018-09-01", + "2021-06-01", + "2021-11-01-preview" + ], + "checkNameAvailability": [ + "2017-07-01-privatepreview", + "2018-09-01", + "2021-06-01", + "2021-11-01-preview" + ], + "checkSubdomainAvailability": [ + "2018-09-01", + "2021-06-01", + "2021-11-01-preview" + ], + "iotApps": [ + "2017-07-01-privatepreview", + "2018-09-01", + "2021-06-01", + "2021-11-01-preview" + ], + "iotApps/privateEndpointConnections": [ + "2021-11-01-preview" + ], + "locations": [ + "2021-11-01-preview" + ], + "locations/operationResults": [ + "2021-11-01-preview" + ], + "operations": [ + "2017-07-01-privatepreview", + "2018-09-01", + "2021-06-01", + "2021-11-01-preview" + ] + }, + "Microsoft.IoTFirmwareDefense": { + "operations": [ + "2021-11-10-privatepreview", + "2022-09-15-privatepreview" + ], + "workspaces": [ + "2023-02-08-preview" + ], + "workspaces/firmwares": [ + "2023-02-08-preview" + ] + }, + "Microsoft.IoTSecurity": { + "alertTypes": [ + "2021-07-01-preview" + ], + "defenderSettings": [ + "2021-02-01-preview", + "2021-11-01-preview", + "2023-02-01-preview" + ], + "licenseSkus": [ + "2023-02-01-preview" + ], + "locations": [ + "2021-02-01-preview", + "2021-09-01-preview", + "2023-02-01-preview" + ], + "locations/deviceGroups": [ + "2021-02-01-preview", + "2021-11-01-preview", + "2023-02-01-preview" + ], + "locations/deviceGroups/alerts": [ + "2021-07-01-preview", + "2023-02-01-preview" + ], + "locations/deviceGroups/alerts/pcaps": [ + "2023-02-01-preview" + ], + "locations/deviceGroups/devices": [ + "2021-02-01-preview", + "2021-11-01-preview" + ], + "locations/deviceGroups/recommendations": [ + "2021-07-01-preview" + ], + "locations/deviceGroups/vulnerabilities": [ + "2021-07-01-preview" + ], + "locations/endpoints": [ + "2023-02-01-preview" + ], + "locations/sites": [ + "2021-09-01-preview" + ], + "locations/sites/sensors": [ + "2021-09-01-preview" + ], + "onPremiseSensors": [ + "2021-02-01-preview", + "2021-11-01-preview" + ], + "Operations": [ + "2021-02-01-preview" + ], + "recommendationTypes": [ + "2021-07-01-preview" + ], + "sensors": [ + "2021-02-01-preview", + "2021-09-01-preview" + ], + "sites": [ + "2021-02-01-preview", + "2021-09-01-preview", + "2023-02-01-preview" + ] + }, + "Microsoft.KeyVault": { + "checkMhsmNameAvailability": [ + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "checkNameAvailability": [ + "2015-06-01", + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "deletedManagedHSMs": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "deletedVaults": [ + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "locations": [ + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "locations/deletedManagedHSMs": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "locations/deletedVaults": [ + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "locations/managedHsmOperationResults": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "locations/operationResults": [ + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "managedHSMs": [ + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "managedHSMs/keys": [ + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "managedHSMs/keys/versions": [ + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "managedHSMs/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01" + ], + "operations": [ + "2014-12-19-preview", + "2015-06-01", + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "vaults": [ + "2015-06-01", + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "vaults/accessPolicies": [ + "2015-06-01", + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "vaults/eventGridFilters": [ + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "vaults/keys": [ + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "vaults/keys/versions": [ + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ], + "vaults/privateEndpointConnections": [ + "2018-02-14", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01" + ], + "vaults/secrets": [ + "2015-06-01", + "2016-10-01", + "2018-02-14", + "2018-02-14-preview", + "2019-09-01", + "2020-04-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-10-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-07-01", + "2022-11-01", + "2023-02-01", + "2023-08-01-PREVIEW" + ] + }, + "Microsoft.Kubernetes": { + "connectedClusters": [ + "2020-01-01-preview", + "2021-03-01", + "2021-04-01-preview", + "2021-10-01", + "2022-05-01-preview", + "2022-10-01-preview" + ], + "locations": [ + "2020-01-01-preview", + "2021-03-01", + "2021-04-01-preview", + "2021-10-01", + "2022-05-01-preview", + "2022-10-01-preview" + ], + "locations/operationStatuses": [ + "2020-01-01-preview", + "2021-03-01", + "2021-04-01-preview", + "2021-10-01", + "2022-05-01-preview", + "2022-10-01-preview" + ], + "Operations": [ + "2019-09-01-privatepreview", + "2019-11-01-preview", + "2020-01-01-preview", + "2021-03-01", + "2021-04-01-preview", + "2021-10-01", + "2022-05-01-preview", + "2022-10-01-preview" + ], + "registeredSubscriptions": [ + "2020-01-01-preview", + "2021-03-01", + "2021-04-01-preview", + "2021-10-01", + "2022-05-01-preview", + "2022-10-01-preview" + ] + }, + "Microsoft.KubernetesConfiguration": { + "extensions": [ + "2020-07-01-preview", + "2021-05-01-preview", + "2021-09-01", + "2021-11-01-preview", + "2022-01-01-preview", + "2022-03-01", + "2022-04-02-preview", + "2022-07-01", + "2022-11-01", + "2023-05-01" + ], + "extensionTypes": [ + "2022-01-15-preview", + "2023-05-01-preview" + ], + "fluxConfigurations": [ + "2021-06-01-preview", + "2021-11-01-preview", + "2022-01-01-preview", + "2022-03-01", + "2022-07-01", + "2022-11-01", + "2023-05-01" + ], + "locations/extensionTypes": [ + "2022-01-15-preview", + "2023-05-01-preview" + ], + "locations/extensionTypes/versions": [ + "2022-01-15-preview", + "2023-05-01-preview" + ], + "operations": [ + "2019-11-01-preview", + "2020-07-01-preview", + "2020-10-01-preview", + "2021-03-01", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-01-01-preview", + "2022-03-01", + "2022-11-01", + "2023-05-01", + "2023-05-01-preview" + ], + "privateLinkScopes": [ + "2022-04-02-preview" + ], + "privateLinkScopes/privateEndpointConnectionProxies": [ + "2022-04-02-preview" + ], + "privateLinkScopes/privateEndpointConnections": [ + "2022-04-02-preview" + ], + "sourceControlConfigurations": [ + "2019-11-01-preview", + "2020-07-01-preview", + "2020-10-01-preview", + "2021-03-01", + "2021-05-01-preview", + "2021-11-01-preview", + "2022-01-01-preview", + "2022-03-01", + "2022-07-01", + "2022-11-01", + "2023-05-01" + ] + }, + "Microsoft.Kusto": { + "clusters": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/attachedDatabaseConfigurations": [ + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/databases": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/databases/dataConnections": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/databases/eventhubconnections": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01" + ], + "clusters/databases/principalAssignments": [ + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/databases/scripts": [ + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/managedPrivateEndpoints": [ + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/principalAssignments": [ + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "clusters/privateEndpointConnections": [ + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "locations": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "locations/checkNameAvailability": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "locations/operationResults": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "locations/skus": [ + "2022-11-11", + "2022-12-29", + "2023-05-02" + ], + "operations": [ + "2017-09-07-privatepreview", + "2018-09-07-preview", + "2019-01-21", + "2019-05-15", + "2019-09-07", + "2019-11-09", + "2020-02-15", + "2020-06-14", + "2020-09-18", + "2021-01-01", + "2021-08-27", + "2022-02-01", + "2022-07-07", + "2022-11-11", + "2022-12-29", + "2023-05-02" + ] + }, + "Microsoft.LabServices": { + "labaccounts": [ + "2017-12-01-preview", + "2018-10-15", + "2019-01-01-preview" + ], + "labaccounts/galleryimages": [ + "2018-10-15" + ], + "labaccounts/labs": [ + "2018-10-15" + ], + "labaccounts/labs/environmentsettings": [ + "2018-10-15" + ], + "labaccounts/labs/environmentsettings/environments": [ + "2018-10-15" + ], + "labaccounts/labs/users": [ + "2018-10-15" + ], + "labPlans": [ + "2020-05-01-preview", + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "labPlans/images": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "labs": [ + "2020-05-01-preview", + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "labs/schedules": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "labs/users": [ + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "locations": [ + "2017-12-01-preview", + "2018-10-15", + "2019-01-01-preview", + "2020-05-01-preview", + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "locations/operationResults": [ + "2020-05-01-preview", + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "locations/operations": [ + "2017-12-01-preview", + "2018-10-15", + "2019-01-01-preview" + ], + "locations/usages": [ + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "operations": [ + "2017-12-01-preview", + "2018-10-15", + "2019-01-01-preview", + "2020-05-01-preview", + "2021-10-01-preview", + "2021-11-15-preview", + "2022-08-01", + "2023-06-07" + ], + "users": [ + "2017-12-01-preview", + "2018-10-15", + "2019-01-01-preview" + ] + }, + "Microsoft.LoadTestService": { + "checkNameAvailability": [ + "2020-09-01-preview", + "2021-09-01-preview", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-04-15-preview", + "2022-08-01-preview", + "2022-12-01" + ], + "loadTests": [ + "2021-12-01-preview", + "2022-04-15-preview", + "2022-12-01" + ], + "loadtests/outboundNetworkDependenciesEndpoints": [ + "2022-12-01" + ], + "Locations": [ + "2020-09-01-preview", + "2021-09-01-preview", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-04-15-preview", + "2022-08-01-preview", + "2022-12-01" + ], + "Locations/OperationStatuses": [ + "2022-12-01" + ], + "Locations/Quotas": [ + "2022-12-01" + ], + "operations": [ + "2020-09-01-preview", + "2021-09-01-preview", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-04-15-preview", + "2022-08-01-preview", + "2022-12-01" + ], + "registeredSubscriptions": [ + "2020-09-01-preview", + "2021-09-01-preview", + "2021-11-01-preview", + "2021-12-01-preview", + "2022-04-01-preview", + "2022-04-15-preview", + "2022-08-01-preview", + "2022-12-01" + ] + }, + "Microsoft.Logic": { + "integrationAccounts": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/agreements": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/assemblies": [ + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/batchConfigurations": [ + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/certificates": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/maps": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/partners": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/rosettanetprocessconfigurations": [ + "2016-06-01" + ], + "integrationAccounts/schemas": [ + "2015-08-01-preview", + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationAccounts/sessions": [ + "2016-06-01", + "2018-07-01-preview", + "2019-05-01" + ], + "integrationServiceEnvironments": [ + "2018-03-01-preview", + "2018-07-01-preview", + "2019-05-01", + "2019-06-01-preview" + ], + "integrationServiceEnvironments/managedApis": [ + "2018-07-01-preview", + "2019-05-01", + "2019-06-01-preview" + ], + "locations": [ + "2015-02-01-preview", + "2015-08-01-preview", + "2016-06-01", + "2016-10-01", + "2017-07-01", + "2018-07-01-preview", + "2019-05-01" + ], + "locations/validateWorkflowExport": [ + "2022-09-01-preview" + ], + "locations/workflowExport": [ + "2022-09-01-preview" + ], + "locations/workflows": [ + "2015-02-01-preview", + "2015-08-01-preview", + "2016-06-01", + "2016-10-01", + "2017-07-01", + "2018-07-01-preview", + "2019-05-01" + ], + "operations": [ + "2015-02-01-preview", + "2015-08-01-preview", + "2016-06-01", + "2016-10-01", + "2017-07-01", + "2018-07-01-preview", + "2019-05-01" + ], + "workflows": [ + "2015-02-01-preview", + "2015-08-01-preview", + "2016-06-01", + "2016-10-01", + "2017-07-01", + "2018-07-01-preview", + "2019-05-01" + ], + "workflows/accessKeys": [ + "2015-02-01-preview" + ] + }, + "Microsoft.Logz": { + "locations": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "locations/operationStatuses": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/accounts": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/accounts/tagRules": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/metricsSource": [ + "2022-01-01-preview" + ], + "monitors/metricsSource/tagRules": [ + "2022-01-01-preview" + ], + "monitors/singleSignOnConfigurations": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "monitors/tagRules": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "operations": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ], + "registeredSubscriptions": [ + "2020-10-01", + "2020-10-01-preview", + "2022-01-01-preview" + ] + }, + "Microsoft.M365SecurityAndCompliance": { + "privateLinkServicesForEDMUpload": [ + "2021-03-25-preview" + ], + "privateLinkServicesForEDMUpload/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365ComplianceCenter": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365SecurityCenter": [ + "2021-03-25-preview" + ], + "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForMIPPolicySync": [ + "2021-03-25-preview" + ], + "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForO365ManagementActivityAPI": [ + "2021-03-25-preview" + ], + "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ + "2021-03-25-preview" + ], + "privateLinkServicesForSCCPowershell": [ + "2021-03-25-preview" + ], + "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ + "2021-03-25-preview" + ] + }, + "Microsoft.MachineLearning": { + "commitmentPlans": [ + "2016-05-01-preview", + "2017-01-01" + ], + "locations": [ + "2016-05-01-preview", + "2017-01-01" + ], + "locations/operations": [ + "2016-05-01-preview", + "2017-01-01" + ], + "locations/operationsStatus": [ + "2016-05-01-preview", + "2017-01-01" + ], + "operations": [ + "2016-05-01-preview", + "2017-01-01" + ], + "webServices": [ + "2016-05-01-preview", + "2017-01-01" + ], + "workspaces": [ + "2016-04-01", + "2019-10-01" + ] + }, + "Microsoft.MachineLearningCompute": { + "operationalizationClusters": [ + "2017-06-01-preview", + "2017-08-01-preview" + ] + }, + "Microsoft.MachineLearningExperimentation": { + "accounts": [ + "2017-05-01-preview" + ], + "accounts/workspaces": [ + "2017-05-01-preview" + ], + "accounts/workspaces/projects": [ + "2017-05-01-preview" + ] + }, + "Microsoft.MachineLearningServices": { + "locations": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/computeOperationsStatus": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/mfeOperationResults": [ + "2020-12-01-preview", + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/mfeOperationsStatus": [ + "2020-12-01-preview", + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/quotas": [ + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/registryOperationsStatus": [ + "2022-05-01-privatepreview", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/updatequotas": [ + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/usages": [ + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/vmsizes": [ + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "locations/workspaceOperationsStatus": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "operations": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries": [ + "2022-05-01-privatepreview", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/codes": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/codes/versions": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/components": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/components/versions": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/data": [ + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/data/versions": [ + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/environments": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/environments/versions": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/models": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "registries/models/versions": [ + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/batchEndpoints": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/batchEndpoints/deployments": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/codes": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/codes/versions": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/components": [ + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/components/versions": [ + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/computes": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2019-11-01", + "2020-01-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/connections": [ + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/data": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/data/versions": [ + "2021-03-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/datasets": [ + "2020-05-01-preview", + "2021-10-01" + ], + "workspaces/datastores": [ + "2020-05-01-preview", + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/environments": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/environments/versions": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/eventGridFilters": [ + "2018-03-01-preview", + "2018-11-19", + "2019-05-01", + "2019-06-01", + "2020-02-02", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2021-10-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/featuresets": [ + "2023-02-01-preview", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/featuresets/versions": [ + "2023-02-01-preview", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/featurestoreEntities": [ + "2023-02-01-preview", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/featurestoreEntities/versions": [ + "2023-02-01-preview", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/jobs": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/labelingJobs": [ + "2020-09-01-preview", + "2021-03-01-preview", + "2022-06-01-preview", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/linkedServices": [ + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-09-01-preview" + ], + "workspaces/linkedWorkspaces": [ + "2020-05-01-preview", + "2020-05-15-preview" + ], + "workspaces/models": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/models/versions": [ + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/onlineEndpoints": [ + "2020-12-01-preview", + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/onlineEndpoints/deployments": [ + "2020-12-01-preview", + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/onlineEndpoints/deployments/skus": [ + "2020-12-01-preview", + "2021-03-01-preview", + "2021-10-01", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/outboundRules": [ + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/privateEndpointConnections": [ + "2020-01-01", + "2020-02-18-preview", + "2020-03-01", + "2020-04-01", + "2020-04-01-preview", + "2020-05-01-preview", + "2020-05-15-preview", + "2020-06-01", + "2020-08-01", + "2020-09-01-preview", + "2021-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-07-01", + "2022-01-01-preview", + "2022-02-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/schedules": [ + "2022-06-01-preview", + "2022-10-01", + "2022-10-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01", + "2023-04-01-preview", + "2023-06-01-preview" + ], + "workspaces/services": [ + "2020-05-01-preview", + "2020-05-15-preview", + "2020-09-01-preview", + "2021-01-01", + "2021-04-01" + ] + }, + "Microsoft.Maintenance": { + "applyUpdates": [ + "2016-01-01", + "2017-01-01", + "2017-04-26", + "2018-06-01-preview", + "2018-10-01", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-09-01-preview" + ], + "configurationAssignments": [ + "2018-06-01-preview", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview", + "2022-11-01-preview", + "2023-04-01" + ], + "maintenanceConfigurations": [ + "2016-01-01", + "2017-01-01", + "2017-04-26", + "2018-06-01-preview", + "2018-10-01", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-09-01-preview" + ], + "operations": [ + "2016-01-01", + "2017-01-01", + "2017-04-26", + "2018-06-01-preview", + "2018-10-01", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-09-01-preview" + ], + "publicMaintenanceConfigurations": [ + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-09-01-preview" + ], + "updates": [ + "2016-01-01", + "2017-01-01", + "2017-04-26", + "2018-06-01-preview", + "2018-10-01", + "2020-04-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-05-01", + "2021-09-01-preview", + "2022-07-01-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-09-01-preview" + ] + }, + "Microsoft.ManagedIdentity": { + "Identities": [ + "2015-08-31-PREVIEW", + "2018-11-30", + "2021-09-30-PREVIEW", + "2022-01-31-PREVIEW", + "2023-01-31" + ], + "operations": [ + "2015-08-31-PREVIEW", + "2018-11-30", + "2021-09-30-PREVIEW", + "2022-01-31-PREVIEW", + "2023-01-31" + ], + "userAssignedIdentities": [ + "2015-08-31-preview", + "2018-11-30", + "2021-09-30-preview", + "2022-01-31-preview", + "2023-01-31" + ], + "userAssignedIdentities/federatedIdentityCredentials": [ + "2022-01-31-preview", + "2023-01-31" + ] + }, + "Microsoft.ManagedNetwork": { + "managedNetworks": [ + "2019-06-01-preview" + ], + "managedNetworks/managedNetworkGroups": [ + "2019-06-01-preview" + ], + "managedNetworks/managedNetworkPeeringPolicies": [ + "2019-06-01-preview" + ], + "scopeAssignments": [ + "2019-06-01-preview" + ] + }, + "Microsoft.ManagedNetworkFabric": { + "accessControlLists": [ + "2023-02-01-preview", + "2023-06-15" + ], + "internetGatewayRules": [ + "2023-06-15" + ], + "internetGateways": [ + "2023-06-15" + ], + "ipCommunities": [ + "2023-02-01-preview", + "2023-06-15" + ], + "ipExtendedCommunities": [ + "2023-02-01-preview", + "2023-06-15" + ], + "ipPrefixes": [ + "2023-02-01-preview", + "2023-06-15" + ], + "l2IsolationDomains": [ + "2023-02-01-preview", + "2023-06-15" + ], + "l3IsolationDomains": [ + "2023-02-01-preview", + "2023-06-15" + ], + "l3IsolationDomains/externalNetworks": [ + "2023-02-01-preview", + "2023-06-15" + ], + "l3IsolationDomains/internalNetworks": [ + "2023-02-01-preview", + "2023-06-15" + ], + "Locations": [ + "2022-01-15-privatepreview", + "2023-02-01-preview", + "2023-06-15" + ], + "Locations/OperationStatuses": [ + "2023-06-15" + ], + "neighborGroups": [ + "2023-06-15" + ], + "networkDevices": [ + "2023-02-01-preview", + "2023-06-15" + ], + "networkDevices/networkInterfaces": [ + "2023-02-01-preview", + "2023-06-15" + ], + "networkFabricControllers": [ + "2023-02-01-preview", + "2023-06-15" + ], + "networkFabrics": [ + "2023-02-01-preview", + "2023-06-15" + ], + "networkFabrics/networkToNetworkInterconnects": [ + "2023-02-01-preview", + "2023-06-15" + ], + "networkPacketBrokers": [ + "2023-06-15" + ], + "networkRacks": [ + "2023-02-01-preview", + "2023-06-15" + ], + "networkTapRules": [ + "2023-06-15" + ], + "networkTaps": [ + "2023-06-15" + ], + "Operations": [ + "2022-01-15-privatepreview", + "2023-02-01-preview", + "2023-06-15" + ], + "routePolicies": [ + "2023-02-01-preview", + "2023-06-15" + ] + }, + "Microsoft.ManagedServices": { + "marketplaceRegistrationDefinitions": [ + "2018-06-01-preview", + "2019-04-01-preview", + "2019-06-01", + "2019-09-01", + "2020-02-01-preview", + "2022-01-01-preview", + "2022-10-01" + ], + "operations": [ + "2018-06-01-preview", + "2019-04-01-preview", + "2019-06-01", + "2019-09-01", + "2020-02-01-preview", + "2022-01-01-preview", + "2022-10-01" + ], + "operationStatuses": [ + "2019-04-01-preview", + "2019-06-01", + "2019-09-01", + "2020-02-01-preview", + "2022-01-01-preview", + "2022-10-01" + ], + "registrationAssignments": [ + "2018-06-01-preview", + "2019-04-01-preview", + "2019-06-01", + "2019-09-01", + "2020-02-01-preview", + "2022-01-01-preview", + "2022-10-01" + ], + "registrationDefinitions": [ + "2018-06-01-preview", + "2019-04-01-preview", + "2019-06-01", + "2019-09-01", + "2020-02-01-preview", + "2022-01-01-preview", + "2022-10-01" + ] + }, + "Microsoft.ManagedStorageClass": { + "Locations": [ + "2023-02-01-preview" + ], + "Locations/OperationStatuses": [ + "2023-02-01-preview" + ], + "managedstorageclass": [ + "2023-02-01-preview" + ] + }, + "Microsoft.Management": { + "checkNameAvailability": [ + "2018-01-01-preview", + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "getEntities": [ + "2018-01-01-preview", + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "managementGroups": [ + "2017-05-31-preview", + "2017-06-30-preview", + "2017-08-31-preview", + "2017-11-01-preview", + "2018-01-01-preview", + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "managementGroups/settings": [ + "2018-03-01-beta", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "managementGroups/subscriptions": [ + "2017-11-01-preview", + "2018-01-01-preview", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "operationResults": [ + "2018-01-01-preview", + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "operationResults/asyncOperation": [ + "2017-05-31-preview", + "2017-06-30-preview", + "2017-08-31-preview", + "2017-11-01-preview", + "2018-01-01-preview", + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "operations": [ + "2017-05-31-preview", + "2017-06-30-preview", + "2017-08-31-preview", + "2017-11-01-preview", + "2018-01-01-preview", + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "resources": [ + "2017-05-31-preview", + "2017-06-30-preview", + "2017-08-31-preview", + "2017-11-01-preview" + ], + "startTenantBackfill": [ + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ], + "tenantBackfillStatus": [ + "2018-03-01-beta", + "2018-03-01-preview", + "2019-11-01", + "2020-02-01", + "2020-05-01", + "2020-10-01", + "2021-04-01", + "2023-04-01" + ] + }, + "Microsoft.ManagementPartner": { + "partners": [ + "2018-02-01" + ] + }, + "Microsoft.ManufacturingPlatform": { + "locations": [ + "2023-02-01-preview" + ], + "Operations": [ + "2023-02-01-preview" + ] + }, + "Microsoft.Maps": { + "accounts": [ + "2017-01-01-preview", + "2018-05-01", + "2020-02-01-preview", + "2021-02-01", + "2021-07-01-preview", + "2021-12-01-preview", + "2023-06-01" + ], + "accounts/creators": [ + "2020-02-01-preview", + "2021-02-01", + "2021-07-01-preview", + "2021-12-01-preview", + "2023-06-01", + "2023-08-01-preview" + ], + "accounts/eventGridFilters": [ + "2018-05-01", + "2020-02-01-preview", + "2021-02-01", + "2021-07-01-preview", + "2021-12-01-preview", + "2023-06-01" + ], + "accounts/privateAtlases": [ + "2020-02-01-preview" + ], + "operations": [ + "2017-01-01-preview", + "2018-05-01", + "2020-02-01-preview", + "2021-02-01", + "2021-07-01-preview", + "2021-12-01-preview", + "2023-06-01" + ] + }, + "Microsoft.Marketplace": { + "listAvailableOffers": [ + "2018-03-01-beta" + ], + "locations": [ + "2018-08-01-beta", + "2021-06-01", + "2021-10-01", + "2022-07-31" + ], + "locations/edgeZones": [ + "2018-08-01-beta", + "2021-06-01", + "2021-10-01", + "2022-07-31" + ], + "locations/edgeZones/products": [ + "2018-08-01-beta", + "2021-06-01", + "2021-10-01", + "2022-07-31" + ], + "macc": [ + "2018-08-01-beta" + ], + "mysolutions": [ + "2023-03-01-preview" + ], + "offers": [ + "2018-08-01-beta", + "2021-06-01", + "2021-10-01", + "2022-12-01-preview" + ], + "offerTypes": [ + "2018-03-01-beta" + ], + "offerTypes/publishers": [ + "2018-03-01-beta" + ], + "offerTypes/publishers/offers": [ + "2018-03-01-beta" + ], + "offerTypes/publishers/offers/plans": [ + "2018-03-01-beta" + ], + "offerTypes/publishers/offers/plans/agreements": [ + "2018-03-01-beta" + ], + "offerTypes/publishers/offers/plans/configs": [ + "2018-03-01-beta" + ], + "offerTypes/publishers/offers/plans/configs/importImage": [ + "2018-03-01-beta" + ], + "operations": [ + "2018-03-01-beta", + "2021-12-01", + "2022-02-02", + "2022-03-01", + "2022-07-31", + "2022-09-01", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01-preview" + ], + "privategalleryitems": [ + "2018-03-01-beta" + ], + "privateStoreClient": [ + "2018-03-01-beta", + "2018-08-01-beta" + ], + "privateStores": [ + "2020-01-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/adminRequestApprovals": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/anyExistingOffersInTheCollections": [ + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/billingAccounts": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/bulkCollectionsAction": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections/approveAllItems": [ + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections/disableApproveAllItems": [ + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections/mapOffersToContexts": [ + "2023-01-01" + ], + "privateStores/collections/offers": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections/offers/upsertOfferWithMultiContext": [ + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections/queryRules": [ + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections/setRules": [ + "2022-09-01", + "2023-01-01" + ], + "privateStores/collections/transferOffers": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/collectionsToSubscriptionsMapping": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/fetchAllSubscriptionsInTenant": [ + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/listNewPlansNotifications": [ + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/listStopSellOffersPlansNotifications": [ + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/listSubscriptionsContext": [ + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/offers": [ + "2020-01-01", + "2021-06-01-beta" + ], + "privateStores/offers/acknowledgeNotification": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/queryApprovedPlans": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/queryNotificationsState": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/queryOffers": [ + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/queryUserOffers": [ + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/queryUserRules": [ + "2022-09-01", + "2023-01-01" + ], + "privateStores/requestApprovals": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/requestApprovals/query": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "privateStores/requestApprovals/withdrawPlan": [ + "2020-12-01", + "2021-06-01", + "2021-12-01", + "2022-03-01", + "2022-09-01", + "2023-01-01" + ], + "products": [ + "2018-08-01-beta", + "2021-06-01", + "2021-10-01", + "2022-12-01-preview" + ], + "products/reviews": [ + "2023-01-01-preview" + ], + "products/reviews/comments": [ + "2023-01-01-preview" + ], + "products/reviews/helpful": [ + "2023-01-01-preview" + ], + "products/usermetadata": [ + "2023-01-01-preview" + ], + "publishers": [ + "2019-06-30-preview" + ], + "publishers/offers": [ + "2019-06-30-preview" + ], + "publishers/offers/amendments": [ + "2019-06-30-preview" + ], + "register": [ + "2020-01-01" + ], + "search": [ + "2022-02-02", + "2023-01-01-preview" + ] + }, + "Microsoft.MarketplaceNotifications": { + "operations": [ + "2021-03-03" + ], + "reviewsnotifications": [ + "2021-03-03" + ] + }, + "Microsoft.MarketplaceOrdering": { + "agreements": [ + "2015-06-01", + "2021-01-01" + ], + "offertypes": [ + "2015-06-01", + "2021-01-01" + ], + "offerTypes/publishers/offers/plans/agreements": [ + "2015-06-01", + "2021-01-01" + ], + "operations": [ + "2015-06-01", + "2021-01-01" + ] + }, + "Microsoft.Media": { + "checknameavailability": [ + "2015-04-01", + "2015-10-01" + ], + "locations": [ + "2016-05-01-preview", + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2020-05-01", + "2021-05-01", + "2021-05-01-preview", + "2021-05-01-privatepreview", + "2021-06-01", + "2021-11-01", + "2021-11-01-preview", + "2023-01-01" + ], + "locations/checkNameAvailability": [ + "2016-05-01-preview", + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2020-05-01", + "2021-05-01", + "2021-05-01-preview", + "2021-05-01-privatepreview", + "2021-06-01", + "2021-11-01", + "2021-11-01-preview", + "2023-01-01" + ], + "locations/mediaServicesOperationResults": [ + "2015-04-01", + "2015-10-01", + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01", + "2023-01-01" + ], + "locations/mediaServicesOperationStatuses": [ + "2015-04-01", + "2015-10-01", + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01", + "2023-01-01" + ], + "locations/videoAnalyzerOperationResults": [ + "2021-11-01-preview" + ], + "locations/videoAnalyzerOperationStatuses": [ + "2021-11-01-preview" + ], + "mediaservices": [ + "2015-04-01", + "2015-10-01", + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01", + "2023-01-01" + ], + "mediaServices/accountFilters": [ + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2023-01-01" + ], + "mediaServices/assets": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2023-01-01" + ], + "mediaServices/assets/assetFilters": [ + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2023-01-01" + ], + "mediaServices/assets/tracks": [ + "2021-11-01", + "2022-08-01", + "2023-01-01" + ], + "mediaServices/contentKeyPolicies": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2023-01-01" + ], + "mediaservices/eventGridFilters": [ + "2018-02-05" + ], + "mediaservices/liveEventOperations": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2022-11-01" + ], + "mediaservices/liveEvents": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2022-11-01" + ], + "mediaservices/liveEvents/liveOutputs": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2022-11-01" + ], + "mediaservices/liveOutputOperations": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2022-11-01" + ], + "mediaServices/mediaGraphs": [ + "2019-09-01-preview", + "2020-02-01-preview" + ], + "mediaservices/privateEndpointConnectionOperations": [ + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01", + "2023-01-01" + ], + "mediaservices/privateEndpointConnectionProxies": [ + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01", + "2023-01-01" + ], + "mediaservices/privateEndpointConnections": [ + "2020-05-01", + "2021-05-01", + "2021-06-01", + "2021-11-01", + "2023-01-01" + ], + "mediaservices/streamingEndpointOperations": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2022-11-01" + ], + "mediaservices/streamingEndpoints": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2022-11-01" + ], + "mediaServices/streamingLocators": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2023-01-01" + ], + "mediaServices/streamingPolicies": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-08-01", + "2023-01-01" + ], + "mediaServices/transforms": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-05-01-preview", + "2022-07-01" + ], + "mediaServices/transforms/jobs": [ + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2019-05-01-preview", + "2020-05-01", + "2021-06-01", + "2021-11-01", + "2022-05-01-preview", + "2022-07-01" + ], + "operations": [ + "2015-04-01", + "2015-10-01", + "2016-05-01-preview", + "2018-02-05", + "2018-03-30-preview", + "2018-06-01-preview", + "2018-07-01", + "2020-05-01", + "2021-05-01", + "2021-05-01-preview", + "2021-05-01-privatepreview", + "2021-06-01", + "2021-11-01", + "2021-11-01-preview", + "2023-01-01" + ], + "videoAnalyzers": [ + "2021-05-01-preview", + "2021-05-01-privatepreview", + "2021-11-01-preview" + ], + "videoAnalyzers/accessPolicies": [ + "2021-05-01-preview", + "2021-11-01-preview" + ], + "videoAnalyzers/edgeModules": [ + "2021-05-01-preview", + "2021-11-01-preview" + ], + "videoAnalyzers/livePipelines": [ + "2021-11-01-preview" + ], + "videoAnalyzers/pipelineJobs": [ + "2021-11-01-preview" + ], + "videoAnalyzers/pipelineTopologies": [ + "2021-11-01-preview" + ], + "videoAnalyzers/privateEndpointConnections": [ + "2021-11-01-preview" + ], + "videoAnalyzers/videos": [ + "2021-05-01-preview", + "2021-11-01-preview" + ] + }, + "Microsoft.Metaverse": { + "locations": [ + "2022-02-01-preview" + ], + "locations/operationStatuses": [ + "2022-02-01-preview" + ] + }, + "Microsoft.Migrate": { + "assessmentProjects": [ + "2018-06-30-preview", + "2019-05-01", + "2019-10-01", + "2020-01-01", + "2020-05-01-preview", + "2022-02-02-preview", + "2023-03-03", + "2023-04-01-preview" + ], + "assessmentProjects/groups": [ + "2019-10-01" + ], + "assessmentProjects/groups/assessments": [ + "2019-10-01" + ], + "assessmentProjects/hypervcollectors": [ + "2019-10-01" + ], + "assessmentProjects/importcollectors": [ + "2019-10-01" + ], + "assessmentprojects/privateEndpointConnections": [ + "2019-10-01" + ], + "assessmentProjects/servercollectors": [ + "2019-10-01" + ], + "assessmentProjects/vmwarecollectors": [ + "2019-10-01" + ], + "locations": [ + "2017-09-25-privatepreview", + "2017-11-11-preview", + "2018-02-02", + "2018-06-30-preview", + "2019-05-01", + "2019-10-01", + "2020-01-01", + "2020-05-01-preview", + "2022-02-02-preview", + "2023-03-03", + "2023-04-01-preview" + ], + "locations/assessmentOptions": [ + "2017-09-25-privatepreview", + "2017-11-11-preview", + "2018-02-02" + ], + "locations/checkNameAvailability": [ + "2017-09-25-privatepreview", + "2017-11-11-preview", + "2018-02-02" + ], + "locations/rmsOperationResults": [ + "2019-10-01-preview", + "2021-01-01", + "2021-08-01", + "2022-08-01" + ], + "migrateProjects": [ + "2018-09-01-preview", + "2019-06-01", + "2020-05-01", + "2020-06-01-preview" + ], + "migrateProjects/privateEndpointConnections": [ + "2020-05-01" + ], + "migrateProjects/solutions": [ + "2018-09-01-preview" + ], + "modernizeProjects": [ + "2022-05-01-preview" + ], + "modernizeProjects/migrateAgents": [ + "2022-05-01-preview" + ], + "modernizeProjects/workloadDeployments": [ + "2022-05-01-preview" + ], + "modernizeProjects/workloadInstances": [ + "2022-05-01-preview" + ], + "moveCollections": [ + "2019-10-01-preview", + "2021-01-01", + "2021-08-01", + "2022-08-01", + "2023-08-01" + ], + "moveCollections/moveResources": [ + "2019-10-01-preview", + "2021-01-01", + "2021-08-01", + "2022-08-01", + "2023-08-01" + ], + "operations": [ + "2017-09-25-privatepreview", + "2017-11-11-preview", + "2018-02-02", + "2018-06-30-preview", + "2019-05-01", + "2019-10-01" + ], + "projects": [ + "2017-09-25-privatepreview", + "2017-11-11-preview", + "2018-02-02" + ], + "projects/groups": [ + "2017-11-11-preview", + "2018-02-02" + ], + "projects/groups/assessments": [ + "2017-11-11-preview", + "2018-02-02" + ] + }, + "Microsoft.Mission": { + "catalogs": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "checkNameAvailability": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "communities": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "externalConnections": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "internalConnections": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "Locations": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "Locations/OperationStatuses": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "Operations": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "virtualEnclaves": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "virtualEnclaves/endpoints": [ + "2023-02-01-preview", + "2023-08-01-preview" + ], + "virtualEnclaves/workloads": [ + "2023-02-01-preview", + "2023-08-01-preview" + ] + }, + "Microsoft.MixedReality": { + "locations": [ + "2019-02-28-preview", + "2019-12-02-preview", + "2020-04-06-preview", + "2020-05-01", + "2021-01-01", + "2021-03-01-preview", + "2023-07-01-preview" + ], + "locations/checkNameAvailability": [ + "2019-02-28-preview", + "2019-12-02-preview", + "2020-04-06-preview", + "2020-05-01", + "2021-01-01", + "2021-03-01-preview", + "2023-07-01-preview" + ], + "objectAnchorsAccounts": [ + "2021-03-01-preview" + ], + "operations": [ + "2019-02-28-preview", + "2019-12-02-preview", + "2020-04-06-preview", + "2020-05-01", + "2021-01-01", + "2021-03-01-preview", + "2023-07-01-preview" + ], + "remoteRenderingAccounts": [ + "2019-12-02-preview", + "2020-04-06-preview", + "2021-01-01", + "2021-03-01-preview" + ], + "spatialAnchorsAccounts": [ + "2019-02-28-preview", + "2019-12-02-preview", + "2020-05-01", + "2021-01-01", + "2021-03-01-preview" + ] + }, + "Microsoft.MobileNetwork": { + "Locations": [ + "2022-04-01-preview", + "2022-11-01", + "2022-12-01-privatepreview", + "2023-06-01", + "2023-07-01-preview" + ], + "Locations/OperationStatuses": [ + "2022-04-01-preview", + "2022-11-01", + "2022-12-01-privatepreview", + "2023-06-01", + "2023-07-01-preview" + ], + "mobileNetworks": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "mobileNetworks/dataNetworks": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "mobileNetworks/services": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "mobileNetworks/simPolicies": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "mobileNetworks/sites": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "mobileNetworks/slices": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "Operations": [ + "2022-04-01-preview", + "2022-11-01", + "2022-12-01-privatepreview", + "2023-06-01", + "2023-07-01-preview" + ], + "packetCoreControlPlanes": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "packetCoreControlPlanes/diagnosticsPackages": [ + "2023-06-01" + ], + "packetCoreControlPlanes/packetCaptures": [ + "2023-06-01" + ], + "packetCoreControlPlanes/packetCoreDataPlanes": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "packetCoreControlPlanes/packetCoreDataPlanes/attachedDataNetworks": [ + "2022-03-01-preview", + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "packetCoreControlPlaneVersions": [ + "2022-04-01-preview", + "2022-11-01", + "2022-12-01-privatepreview", + "2023-06-01", + "2023-07-01-preview" + ], + "simGroups": [ + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "simGroups/sims": [ + "2022-04-01-preview", + "2022-11-01", + "2023-06-01" + ], + "sims": [ + "2022-03-01-preview" + ] + }, + "Microsoft.MobilePacketCore": { + "Locations": [ + "2023-04-15-preview", + "2023-05-15-preview" + ], + "Locations/OperationStatuses": [ + "2023-04-15-preview", + "2023-05-15-preview" + ], + "networkFunctions": [ + "2023-05-15-preview" + ] + }, + "Microsoft.ModSimWorkbench": { + "Locations": [ + "2021-03-01-preview" + ], + "Locations/operationStatuses": [ + "2021-03-01-preview" + ], + "Operations": [ + "2021-03-01-preview" + ] + }, + "Microsoft.Monitor": { + "accounts": [ + "2021-06-03-preview", + "2023-04-03" + ], + "locations": [ + "2021-06-01-preview", + "2021-06-03-preview", + "2023-04-01", + "2023-04-03" + ], + "locations/operationResults": [ + "2021-06-03-preview", + "2023-04-03" + ], + "locations/operationStatuses": [ + "2021-06-03-preview", + "2023-04-03" + ], + "operations": [ + "2021-06-01-preview", + "2021-06-03-preview", + "2023-04-01", + "2023-04-03" + ] + }, + "Microsoft.NetApp": { + "locations": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-07-15-preview", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/checkFilePathAvailability": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/CheckInventory": [ + "2021-08-01", + "2021-10-01", + "2021-12-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/checkNameAvailability": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/checkQuotaAvailability": [ + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/operationResults": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2021-12-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-07-01-preview", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/queryNetworkSiblingSet": [ + "2021-12-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/QuotaLimits": [ + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/regionInfo": [ + "2021-04-01-preview", + "2021-12-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "locations/regionInfos": [ + "2023-05-01-preview" + ], + "locations/updateNetworkSiblingSet": [ + "2021-12-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "netAppAccounts": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "netAppAccounts/backupPolicies": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview" + ], + "netAppAccounts/backupVaults": [ + "2022-11-01-preview" + ], + "netAppAccounts/backupVaults/backups": [ + "2022-11-01-preview" + ], + "netAppAccounts/capacityPools": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-07-01-preview", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "netAppAccounts/capacityPools/volumes": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2021-12-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-07-01-preview", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "netAppAccounts/capacityPools/volumes/backups": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-11-01" + ], + "netAppAccounts/capacityPools/volumes/mountTargets": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01" + ], + "netAppAccounts/capacityPools/volumes/snapshots": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-07-01-preview", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "netAppAccounts/capacityPools/volumes/subvolumes": [ + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview" + ], + "netAppAccounts/capacityPools/volumes/volumeQuotaRules": [ + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview" + ], + "netAppAccounts/snapshotPolicies": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-04-01-preview", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "netAppAccounts/volumeGroups": [ + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ], + "operations": [ + "2017-08-15", + "2019-05-01", + "2019-06-01", + "2019-07-01", + "2019-07-15-preview", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-02-01", + "2020-03-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-10-01", + "2021-12-01-preview", + "2022-01-01", + "2022-03-01", + "2022-05-01", + "2022-07-01", + "2022-07-01-preview", + "2022-09-01", + "2022-11-01", + "2022-11-01-preview", + "2023-01-01", + "2023-01-01-preview", + "2023-03-01", + "2023-03-01-preview", + "2023-05-01", + "2023-05-01-preview" + ] + }, + "Microsoft.Network": { + "applicationGatewayAvailableRequestHeaders": [ + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "applicationGatewayAvailableResponseHeaders": [ + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "applicationGatewayAvailableServerVariables": [ + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "applicationGatewayAvailableSslOptions": [ + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "applicationGatewayAvailableWafRuleSets": [ + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "applicationGateways": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "applicationGateways/privateEndpointConnections": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "ApplicationGatewayWebApplicationFirewallPolicies": [ + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "applicationSecurityGroups": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "azureFirewallFqdnTags": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "azureFirewalls": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "azureWebCategories": [ + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "bastionHosts": [ + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "bgpServiceCommunities": [ + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "checkFrontdoorNameAvailability": [ + "2018-08-01", + "2019-04-01", + "2019-05-01", + "2019-08-01", + "2020-01-01", + "2020-05-01", + "2020-07-01", + "2021-06-01" + ], + "checkTrafficManagerNameAvailability": [ + "2015-04-28-preview", + "2015-11-01", + "2017-03-01", + "2017-05-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "checkTrafficManagerNameAvailabilityV2": [ + "2022-04-01", + "2022-04-01-preview" + ], + "cloudServiceSlots": [ + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "connections": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "connections/sharedkey": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "customIpPrefixes": [ + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "ddosCustomPolicies": [ + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "ddosProtectionPlans": [ + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "dnsForwardingRulesets": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsForwardingRulesets/forwardingRules": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsForwardingRulesets/virtualNetworkLinks": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsOperationResults": [ + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsOperationStatuses": [ + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsResolvers": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsResolvers/inboundEndpoints": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsResolvers/outboundEndpoints": [ + "2020-04-01-preview", + "2022-07-01" + ], + "dnsZones": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/A": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/AAAA": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnszones/all": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/CAA": [ + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/CNAME": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/dnssecConfigs": [ + "2023-07-01-preview" + ], + "dnszones/DS": [ + "2023-07-01-preview" + ], + "dnsZones/MX": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnszones/NAPTR": [ + "2023-07-01-preview" + ], + "dnsZones/NS": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/PTR": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnszones/recordsets": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/SOA": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnsZones/SRV": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dnszones/TLSA": [ + "2023-07-01-preview" + ], + "dnsZones/TXT": [ + "2015-05-04-preview", + "2016-04-01", + "2017-09-01", + "2017-09-15-preview", + "2017-10-01", + "2018-03-01-preview", + "2018-05-01", + "2023-07-01-preview" + ], + "dscpConfigurations": [ + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteCircuits": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteCircuits/authorizations": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteCircuits/peerings": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteCircuits/peerings/connections": [ + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteCrossConnections": [ + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteCrossConnections/peerings": [ + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteGateways": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteGateways/expressRouteConnections": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "ExpressRoutePorts": [ + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRoutePorts/authorizations": [ + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRoutePortsLocations": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "expressRouteServiceProviders": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "firewallPolicies": [ + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "firewallPolicies/ruleCollectionGroups": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "firewallPolicies/ruleGroups": [ + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01" + ], + "firewallPolicies/signatureOverrides": [ + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "frontdoorOperationResults": [ + "2018-08-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-08-01", + "2019-10-01", + "2019-11-01", + "2020-01-01", + "2020-04-01", + "2020-05-01", + "2020-07-01", + "2020-11-01", + "2021-06-01", + "2022-05-01" + ], + "frontDoors": [ + "2018-08-01", + "2018-08-01-preview", + "2019-04-01", + "2019-05-01", + "2019-08-01", + "2020-01-01", + "2020-04-01", + "2020-05-01", + "2020-07-01", + "2021-06-01" + ], + "frontdoors/frontendEndpoints": [ + "2018-08-01", + "2019-04-01", + "2019-05-01", + "2019-08-01", + "2020-01-01", + "2020-04-01", + "2020-05-01", + "2020-07-01", + "2021-06-01" + ], + "frontdoors/frontendEndpoints/customHttpsConfiguration": [ + "2018-08-01", + "2019-04-01", + "2019-05-01", + "2019-08-01", + "2020-01-01", + "2020-04-01", + "2020-05-01", + "2020-07-01", + "2021-06-01" + ], + "frontDoors/rulesEngines": [ + "2020-01-01", + "2020-04-01", + "2020-05-01", + "2021-06-01" + ], + "frontdoorWebApplicationFirewallManagedRuleSets": [ + "2019-03-01", + "2019-10-01", + "2020-04-01", + "2020-11-01", + "2022-05-01" + ], + "FrontDoorWebApplicationFirewallPolicies": [ + "2018-08-01", + "2018-08-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-10-01", + "2020-04-01", + "2020-11-01", + "2021-06-01", + "2022-05-01" + ], + "getDnsResourceReference": [ + "2018-05-01", + "2023-07-01-preview" + ], + "interfaceEndpoints": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01" + ], + "internalNotify": [ + "2018-05-01", + "2023-07-01-preview" + ], + "internalPublicIpAddresses": [ + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "IpAllocations": [ + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "ipGroups": [ + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "loadBalancers": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "loadBalancers/backendAddressPools": [ + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "loadBalancers/inboundNatRules": [ + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "localNetworkGateways": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/ApplicationGatewayWafDynamicManifests": [ + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/autoApprovedPrivateLinkServices": [ + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/availableDelegations": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/availablePrivateEndpointTypes": [ + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/availableServiceAliases": [ + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/bareMetalTenants": [ + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/batchNotifyPrivateEndpointsForResourceMove": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/batchValidatePrivateEndpointsForResourceMove": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/checkAcceleratedNetworkingSupport": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/CheckDnsNameAvailability": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/checkPrivateLinkServiceVisibility": [ + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/commitInternalAzureNetworkManagerConfiguration": [ + "2022-01-01", + "2022-04-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01" + ], + "locations/dataTasks": [ + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/dnsResolverOperationResults": [ + "2020-04-01-preview", + "2022-07-01" + ], + "locations/dnsResolverOperationStatuses": [ + "2020-04-01-preview", + "2022-07-01" + ], + "locations/effectiveResourceOwnership": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/getAzureNetworkManagerConfiguration": [ + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/hybridEdgeZone": [ + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/internalAzureVirtualNetworkManagerOperation": [ + "2022-01-01", + "2022-04-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01" + ], + "locations/nfvOperationResults": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/nfvOperations": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/operationResults": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/operations": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/privateLinkServices": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/publishResources": [ + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/queryNetworkSecurityPerimeter": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-02-01-preview" + ], + "locations/serviceTagDetails": [ + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/serviceTags": [ + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/setAzureNetworkManagerConfiguration": [ + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/setLoadBalancerFrontendPublicIpAddresses": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/setResourceOwnership": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/supportedVirtualMachineSizes": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/usages": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/validateResourceOwnership": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "locations/virtualNetworkAvailableEndpointServices": [ + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "managementGroups/networkManagerConnections": [ + "2021-05-01-preview" + ], + "natGateways": [ + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "NetworkExperimentProfiles": [ + "2019-11-01" + ], + "NetworkExperimentProfiles/Experiments": [ + "2019-11-01" + ], + "networkGroupMemberships": [ + "2022-06-01-preview" + ], + "networkIntentPolicies": [ + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkInterfaces": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkInterfaces/tapConfigurations": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagerConnections": [ + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01" + ], + "networkManagers": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/connectivityConfigurations": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/networkGroups": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/networkGroups/staticMembers": [ + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/scopeConnections": [ + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/securityAdminConfigurations": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/securityAdminConfigurations/ruleCollections": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/securityAdminConfigurations/ruleCollections/rules": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-04-01-preview", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkManagers/securityUserConfigurations": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-02-01-preview", + "2022-04-01-preview" + ], + "networkManagers/securityUserConfigurations/ruleCollections": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-02-01-preview", + "2022-04-01-preview" + ], + "networkManagers/securityUserConfigurations/ruleCollections/rules": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2022-02-01-preview", + "2022-04-01-preview" + ], + "networkProfiles": [ + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkSecurityGroups": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkSecurityGroups/securityRules": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkSecurityPerimeters": [ + "2021-02-01-preview", + "2021-03-01-preview" + ], + "networkSecurityPerimeters/links": [ + "2021-02-01-preview" + ], + "networkSecurityPerimeters/profiles": [ + "2021-02-01-preview" + ], + "networkSecurityPerimeters/profiles/accessRules": [ + "2021-02-01-preview" + ], + "networkSecurityPerimeters/resourceAssociations": [ + "2021-02-01-preview" + ], + "networkVirtualAppliances": [ + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkVirtualAppliances/inboundSecurityRules": [ + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkVirtualAppliances/networkVirtualApplianceConnections": [ + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkVirtualAppliances/virtualApplianceSites": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkVirtualApplianceSkus": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkWatchers": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkWatchers/connectionMonitors": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkWatchers/flowLogs": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkWatchers/packetCaptures": [ + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "networkWatchers/pingMeshes": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "operations": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "p2svpnGateways": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "privateDnsOperationResults": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsOperationStatuses": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/A": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/AAAA": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/all": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/CNAME": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/MX": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/PTR": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/SOA": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/SRV": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/TXT": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZones/virtualNetworkLinks": [ + "2018-09-01", + "2020-01-01", + "2020-06-01" + ], + "privateDnsZonesInternal": [ + "2020-01-01", + "2020-06-01" + ], + "privateEndpointRedirectMaps": [ + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "privateEndpoints": [ + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "privateEndpoints/privateDnsZoneGroups": [ + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "privateEndpoints/privateLinkServiceProxies": [ + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "privateLinkServices": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "privateLinkServices/privateEndpointConnections": [ + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "publicIPAddresses": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "publicIPPrefixes": [ + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "routeFilters": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "routeFilters/routeFilterRules": [ + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "routeTables": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "routeTables/routes": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "securityPartnerProviders": [ + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "serviceEndpointPolicies": [ + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "serviceEndpointPolicies/serviceEndpointPolicyDefinitions": [ + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "trafficManagerGeographicHierarchies": [ + "2017-03-01", + "2017-05-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles": [ + "2015-04-28-preview", + "2015-11-01", + "2017-03-01", + "2017-05-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles/AzureEndpoints": [ + "2015-04-28-preview", + "2015-11-01", + "2017-03-01", + "2017-05-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles/ExternalEndpoints": [ + "2015-04-28-preview", + "2015-11-01", + "2017-03-01", + "2017-05-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles/heatMaps": [ + "2017-09-01-preview", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "trafficmanagerprofiles/NestedEndpoints": [ + "2015-04-28-preview", + "2015-11-01", + "2017-03-01", + "2017-05-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "trafficManagerUserMetricsKeys": [ + "2017-09-01-preview", + "2018-04-01", + "2018-08-01", + "2022-04-01", + "2022-04-01-preview" + ], + "virtualHubs": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualHubs/bgpConnections": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualHubs/hubRouteTables": [ + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualHubs/hubVirtualNetworkConnections": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualHubs/ipConfigurations": [ + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualHubs/routeMaps": [ + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualHubs/routeTables": [ + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualHubs/routingIntent": [ + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworkGateways": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworkGateways/natRules": [ + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworks": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworks/listDnsForwardingRulesets": [ + "2020-04-01-preview", + "2022-07-01" + ], + "virtualNetworks/listDnsResolvers": [ + "2020-04-01-preview", + "2022-07-01" + ], + "virtualNetworks/listNetworkManagerEffectiveConnectivityConfigurations": [ + "2022-01-01", + "2022-04-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworks/listNetworkManagerEffectiveSecurityAdminRules": [ + "2022-01-01", + "2022-04-01-preview", + "2022-05-01", + "2022-06-01-preview", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-03-01-preview", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworks/privateDnsZoneLinks": [ + "2020-06-01" + ], + "virtualNetworks/subnets": [ + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworks/taggedTrafficConsumers": [ + "2014-12-01-preview", + "2015-05-01-preview", + "2015-06-15", + "2016-03-30", + "2016-06-01", + "2016-07-01", + "2016-08-01", + "2016-09-01", + "2016-10-01", + "2016-11-01", + "2016-12-01", + "2017-03-01", + "2017-04-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworks/virtualNetworkPeerings": [ + "2016-06-01", + "2016-09-01", + "2016-12-01", + "2017-03-01", + "2017-06-01", + "2017-08-01", + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualNetworkTaps": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualRouters": [ + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-01-01-preview", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualRouters/peerings": [ + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualWans": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "virtualWans/p2sVpnServerConfigurations": [ + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01" + ], + "vpnGateways": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "vpnGateways/natRules": [ + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "vpnGateways/vpnConnections": [ + "2018-04-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-02-01", + "2021-03-01", + "2021-05-01", + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "vpnServerConfigurations": [ + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "vpnServerConfigurations/configurationPolicyGroups": [ + "2021-08-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ], + "vpnSites": [ + "2017-09-01", + "2017-10-01", + "2017-11-01", + "2018-01-01", + "2018-02-01", + "2018-03-01", + "2018-04-01", + "2018-05-01", + "2018-06-01", + "2018-07-01", + "2018-08-01", + "2018-10-01", + "2018-11-01", + "2018-12-01", + "2019-02-01", + "2019-04-01", + "2019-06-01", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-11-01", + "2019-12-01", + "2020-01-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-11-01", + "2021-01-01", + "2021-02-01", + "2021-03-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-12-01", + "2022-01-01", + "2022-05-01", + "2022-07-01", + "2022-09-01", + "2022-11-01", + "2023-02-01", + "2023-04-01", + "2023-05-01" + ] + }, + "Microsoft.Network.Admin": { + "locations/quotas": [ + "2015-06-15" + ] + }, + "Microsoft.NetworkAnalytics": { + "Locations": [ + "2022-11-15-preview" + ], + "Locations/OperationStatuses": [ + "2022-11-15-preview" + ], + "Operations": [ + "2022-11-15-preview" + ], + "registeredSubscriptions": [ + "2022-11-15-preview", + "2023-03-31-preview" + ] + }, + "Microsoft.NetworkCloud": { + "bareMetalMachines": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "cloudServicesNetworks": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "clusterManagers": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "clusters": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "clusters/admissions": [ + "2022-09-30-preview" + ], + "clusters/bareMetalMachineKeySets": [ + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "clusters/bmcKeySets": [ + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "clusters/metricsConfigurations": [ + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "defaultCniNetworks": [ + "2022-09-30-preview", + "2022-12-12-preview" + ], + "hybridAksClusters": [ + "2022-09-30-preview", + "2022-12-12-preview" + ], + "kubernetesClusters": [ + "2023-05-01-preview", + "2023-07-01" + ], + "kubernetesClusters/agentPools": [ + "2023-05-01-preview", + "2023-07-01" + ], + "l2Networks": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "l3Networks": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "locations": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "locations/operationStatuses": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "operations": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "racks": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "rackSkus": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "registeredSubscriptions": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "storageAppliances": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "trunkedNetworks": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "virtualMachines": [ + "2022-09-30-preview", + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "virtualMachines/consoles": [ + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ], + "volumes": [ + "2022-12-12-preview", + "2023-05-01-preview", + "2023-07-01" + ] + }, + "Microsoft.NetworkFunction": { + "azureTrafficCollectors": [ + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ], + "azureTrafficCollectors/collectorPolicies": [ + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ], + "locations": [ + "2021-08-01-preview", + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ], + "locations/nfvOperationResults": [ + "2021-08-01-preview", + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ], + "locations/nfvOperations": [ + "2021-08-01-preview", + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ], + "meshVpns": [ + "2021-08-01-preview" + ], + "meshVpns/connectionPolicies": [ + "2021-08-01-preview" + ], + "meshVpns/privateEndpointConnectionProxies": [ + "2021-08-01-preview" + ], + "meshVpns/privateEndpointConnections": [ + "2021-08-01-preview" + ], + "operations": [ + "2021-09-01-preview", + "2022-05-01", + "2022-08-01", + "2022-11-01" + ] + }, + "Microsoft.Notebooks": { + "NotebookProxies": [ + "2019-10-11-preview" + ], + "operations": [ + "2019-10-11-preview" + ] + }, + "Microsoft.NotificationHubs": { + "checkNameAvailability": [ + "2014-09-01", + "2016-03-01", + "2017-04-01" + ], + "checkNamespaceAvailability": [ + "2014-09-01", + "2016-03-01", + "2017-04-01", + "2020-01-01-preview", + "2023-01-01-preview" + ], + "namespaces": [ + "2014-09-01", + "2016-03-01", + "2017-04-01", + "2020-01-01-preview", + "2023-01-01-preview" + ], + "namespaces/AuthorizationRules": [ + "2014-09-01", + "2016-03-01", + "2017-04-01", + "2023-01-01-preview" + ], + "namespaces/notificationHubs": [ + "2014-09-01", + "2016-03-01", + "2017-04-01", + "2020-01-01-preview", + "2023-01-01-preview" + ], + "namespaces/notificationHubs/AuthorizationRules": [ + "2014-09-01", + "2016-03-01", + "2017-04-01", + "2023-01-01-preview" + ], + "namespaces/privateEndpointConnections": [ + "2023-01-01-preview" + ], + "operations": [ + "2014-09-01", + "2016-03-01", + "2017-04-01", + "2020-01-01-preview", + "2023-01-01-preview" + ] + }, + "Microsoft.Nutanix": { + "locations": [ + "2020-06-01", + "2020-06-01-preview" + ], + "operations": [ + "2020-06-01", + "2020-06-01-preview" + ] + }, + "Microsoft.ObjectStore": { + "osNamespaces": [ + "2019-06-01-preview", + "2021-09-01-preview" + ] + }, + "Microsoft.OffAzure": { + "HyperVSites": [ + "2018-05-01-preview", + "2019-06-06", + "2020-01-01", + "2020-07-07", + "2020-08-01-preview", + "2022-10-27" + ], + "HyperVSites/clusters": [ + "2020-01-01", + "2020-07-07" + ], + "HyperVSites/hosts": [ + "2020-01-01", + "2020-07-07" + ], + "ImportSites": [ + "2019-05-01-preview", + "2020-01-01-preview", + "2020-02-01" + ], + "locations": [ + "2020-07-07" + ], + "locations/operationResults": [ + "2020-07-07" + ], + "MasterSites": [ + "2020-07-07", + "2020-11-11-preview", + "2022-10-27" + ], + "masterSites/privateEndpointConnections": [ + "2020-07-07" + ], + "operations": [ + "2018-05-01-preview", + "2019-06-06", + "2020-01-01" + ], + "ServerSites": [ + "2019-05-01-preview", + "2020-01-01-preview", + "2020-08-01-preview", + "2020-09-09-preview", + "2022-10-27" + ], + "VMwareSites": [ + "2018-05-01-preview", + "2019-05-01-preview", + "2019-06-06", + "2020-01-01", + "2020-01-01-preview", + "2020-07-07", + "2020-07-10", + "2020-08-01-preview", + "2020-09-09-preview", + "2022-10-27" + ], + "VMwareSites/vCenters": [ + "2020-01-01", + "2020-07-07" + ] + }, + "Microsoft.OffAzureSpringBoot": { + "locations": [ + "2023-01-01-preview" + ], + "locations/operationStatuses": [ + "2023-01-01-preview" + ], + "operations": [ + "2023-01-01-preview" + ], + "springbootsites": [ + "2023-01-01-preview" + ], + "springbootsites/errorsummaries": [ + "2023-01-01-preview" + ], + "springbootsites/springbootapps": [ + "2023-01-01-preview" + ], + "springbootsites/springbootservers": [ + "2023-01-01-preview" + ], + "springbootsites/summaries": [ + "2023-01-01-preview" + ] + }, + "Microsoft.OpenEnergyPlatform": { + "checkNameAvailability": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ], + "energyServices": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ], + "energyServices/privateEndpointConnectionProxies": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ], + "energyServices/privateEndpointConnections": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ], + "energyServices/privateLinkResources": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ], + "Locations": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ], + "Locations/OperationStatuses": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ], + "Operations": [ + "2021-06-01-preview", + "2022-04-04-preview", + "2022-07-21-preview", + "2022-12-01-preview", + "2023-02-21-preview" + ] + }, + "Microsoft.OpenLogisticsPlatform": { + "applicationRegistrationInvites": [ + "2020-06-23-preview", + "2021-06-24-preview" + ], + "checkNameAvailability": [ + "2020-06-23-preview", + "2021-06-24-preview", + "2021-12-01-preview" + ], + "Locations": [ + "2020-06-23-preview", + "2021-06-24-preview", + "2021-12-01-preview" + ], + "locations/OperationStatuses": [ + "2020-06-23-preview", + "2021-06-24-preview", + "2021-12-01-preview" + ], + "operations": [ + "2020-06-23-preview", + "2021-06-24-preview", + "2021-12-01-preview" + ], + "shareInvites": [ + "2020-06-23-preview", + "2021-06-24-preview", + "2021-12-01-preview" + ] + }, + "Microsoft.OperationalInsights": { + "clusters": [ + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01", + "2020-10-01", + "2021-06-01" + ], + "deletedWorkspaces": [ + "2020-03-01-preview", + "2020-08-01", + "2020-10-01", + "2021-12-01-preview", + "2022-10-01" + ], + "linkTargets": [ + "2015-03-20", + "2020-03-01-preview" + ], + "locations": [ + "2015-03-20", + "2015-11-01-preview", + "2017-01-01-preview", + "2017-03-03-preview", + "2017-03-15-preview", + "2017-04-26-preview", + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01", + "2020-10-01" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2021-10-01" + ], + "locations/operationStatuses": [ + "2015-03-20", + "2015-11-01-preview", + "2017-01-01-preview", + "2017-03-03-preview", + "2017-03-15-preview", + "2017-04-26-preview", + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01", + "2020-10-01", + "2021-12-01-preview", + "2022-09-01-privatepreview", + "2022-10-01", + "2023-01-01-preview" + ], + "operations": [ + "2014-11-10", + "2015-11-01-preview", + "2020-03-01-preview", + "2020-08-01", + "2020-10-01", + "2021-12-01-preview", + "2022-10-01" + ], + "queryPacks": [ + "2019-09-01", + "2019-09-01-preview" + ], + "queryPacks/queries": [ + "2019-09-01", + "2019-09-01-preview" + ], + "storageInsightConfigs": [ + "2014-10-10", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces": [ + "2015-03-20", + "2015-11-01-preview", + "2017-01-01-preview", + "2017-03-03-preview", + "2017-03-15-preview", + "2017-04-26-preview", + "2020-03-01-preview", + "2020-08-01", + "2020-10-01", + "2021-03-01-privatepreview", + "2021-06-01", + "2021-12-01-preview", + "2022-10-01" + ], + "workspaces/dataExports": [ + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/dataSources": [ + "2015-11-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/features/machineGroups": [ + "2015-11-01-preview" + ], + "workspaces/linkedServices": [ + "2015-11-01-preview", + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/linkedStorageAccounts": [ + "2019-08-01-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/metadata": [ + "2017-10-01" + ], + "workspaces/query": [ + "2017-10-01" + ], + "workspaces/savedSearches": [ + "2015-03-20", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/scopedPrivateLinkProxies": [ + "2015-11-01-preview", + "2019-08-01-preview", + "2020-03-01-preview" + ], + "workspaces/storageInsightConfigs": [ + "2015-03-20", + "2015-11-01-preview", + "2017-01-01-preview", + "2017-03-03-preview", + "2017-03-15-preview", + "2017-04-26-preview", + "2020-03-01-preview", + "2020-08-01" + ], + "workspaces/tables": [ + "2017-04-26-preview", + "2020-03-01-preview", + "2020-08-01", + "2021-12-01-preview", + "2022-10-01" + ] + }, + "Microsoft.OperationsManagement": { + "ManagementAssociations": [ + "2015-11-01-preview" + ], + "ManagementConfigurations": [ + "2015-11-01-preview" + ], + "operations": [ + "2015-11-01-preview" + ], + "solutions": [ + "2015-11-01-preview" + ], + "views": [ + "2017-08-21-preview" + ] + }, + "Microsoft.OperatorVoicemail": { + "Locations": [ + "2023-03-01-preview" + ], + "Locations/checkNameAvailability": [ + "2023-03-01-preview" + ], + "Locations/OperationStatuses": [ + "2023-03-01-preview" + ], + "Operations": [ + "2023-03-01-preview" + ] + }, + "Microsoft.OracleDiscovery": { + "operations": [ + "2022-11-22-preview" + ] + }, + "Microsoft.Orbital": { + "availableGroundStations": [ + "2021-04-04-preview", + "2022-03-01", + "2022-11-01" + ], + "contactProfiles": [ + "2021-04-04-preview", + "2022-03-01", + "2022-11-01" + ], + "edgeSites": [ + "2021-04-04-preview", + "2022-06-01-preview" + ], + "globalCommunicationsSites": [ + "2021-04-04-preview", + "2022-06-01-preview" + ], + "groundStations": [ + "2021-04-04-preview", + "2022-06-01-preview" + ], + "l2Connections": [ + "2021-04-04-preview", + "2022-06-01-preview" + ], + "l3Connections": [ + "2021-04-04-preview" + ], + "locations": [ + "2022-11-01" + ], + "locations/operationResults": [ + "2022-03-01", + "2022-06-01-preview", + "2022-11-01" + ], + "operations": [ + "2022-11-01" + ], + "orbitalGateways": [ + "2021-04-04-preview" + ], + "spacecrafts": [ + "2021-04-04-preview", + "2022-03-01", + "2022-11-01" + ], + "spacecrafts/contacts": [ + "2021-04-04-preview", + "2022-03-01", + "2022-11-01" + ] + }, + "Microsoft.Peering": { + "cdnPeeringPrefixes": [ + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "checkServiceProviderAvailability": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "legacyPeerings": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "lookingGlass": [ + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "operations": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peerAsns": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringLocations": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peerings": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peerings/registeredAsns": [ + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peerings/registeredPrefixes": [ + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServiceCountries": [ + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServiceLocations": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServiceProviders": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServices": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServices/connectionMonitorTests": [ + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ], + "peeringServices/prefixes": [ + "2019-08-01-preview", + "2019-09-01-preview", + "2020-01-01-preview", + "2020-04-01", + "2020-10-01", + "2021-01-01", + "2021-06-01", + "2022-01-01", + "2022-06-01", + "2022-10-01" + ] + }, + "Microsoft.Pki": { + "Operations": [ + "2021-03-01-preview", + "2022-09-01-preview" + ] + }, + "Microsoft.PlayFab": { + "locations": [ + "2022-03-02-preview", + "2022-04-12-preview", + "2022-05-05-preview", + "2022-07-15-preview" + ], + "locations/operationStatuses": [ + "2022-03-02-preview", + "2022-04-12-preview", + "2022-05-05-preview", + "2022-07-15-preview" + ], + "operations": [ + "2022-03-02-preview", + "2022-04-12-preview", + "2022-05-05-preview", + "2022-07-15-preview" + ] + }, + "Microsoft.PolicyInsights": { + "asyncOperationResults": [ + "2018-07-01-preview", + "2019-10-01" + ], + "attestations": [ + "2019-10-01", + "2021-01-01", + "2022-09-01" + ], + "checkPolicyRestrictions": [ + "2020-07-01", + "2020-07-01-preview", + "2022-03-01", + "2023-03-01" + ], + "componentPolicyStates": [ + "2022-04-01" + ], + "eventGridFilters": [ + "2020-10-01" + ], + "operations": [ + "2017-08-09-preview", + "2017-10-17-preview", + "2017-12-12-preview", + "2018-04-04", + "2018-07-01-preview", + "2019-10-01", + "2022-04-01" + ], + "policyEvents": [ + "2017-08-09-preview", + "2017-10-17-preview", + "2017-12-12-preview", + "2018-04-04", + "2018-07-01-preview", + "2019-10-01" + ], + "policyMetadata": [ + "2019-10-01" + ], + "policyStates": [ + "2017-08-09-preview", + "2017-10-17-preview", + "2017-12-12-preview", + "2018-04-04", + "2018-07-01-preview", + "2019-10-01" + ], + "policyTrackedResources": [ + "2018-07-01-preview" + ], + "remediations": [ + "2018-07-01-preview", + "2019-07-01", + "2021-10-01" + ] + }, + "Microsoft.Portal": { + "consoles": [ + "2017-01-01-preview", + "2017-08-01-preview", + "2017-12-01-preview", + "2018-10-01", + "2020-04-01-preview", + "2023-02-01-preview" + ], + "dashboards": [ + "2015-08-01-preview", + "2018-10-01-preview", + "2019-01-01-preview", + "2020-09-01-alpha", + "2020-09-01-preview" + ], + "listTenantConfigurationViolations": [ + "2019-01-01-preview", + "2020-09-01-preview" + ], + "locations": [ + "2017-01-01-preview", + "2017-08-01-preview", + "2017-12-01-preview", + "2018-10-01", + "2020-04-01-preview", + "2023-02-01-preview" + ], + "locations/consoles": [ + "2017-01-01-preview", + "2017-08-01-preview", + "2017-12-01-preview", + "2018-10-01", + "2020-04-01-preview", + "2023-02-01-preview" + ], + "locations/userSettings": [ + "2017-01-01-preview", + "2017-08-01-preview", + "2017-12-01-preview", + "2018-10-01", + "2020-04-01-preview", + "2023-02-01-preview" + ], + "operations": [ + "2015-08-01-preview" + ], + "tenantConfigurations": [ + "2019-01-01-preview", + "2020-09-01-preview" + ], + "userSettings": [ + "2017-01-01-preview", + "2017-08-01-preview", + "2017-12-01-preview", + "2018-10-01", + "2020-04-01-preview", + "2023-02-01-preview" + ] + }, + "Microsoft.PowerBI": { + "locations": [ + "2016-01-29" + ], + "locations/checkNameAvailability": [ + "2016-01-29" + ], + "operations": [ + "2016-01-29", + "2020-06-01" + ], + "privateLinkServicesForPowerBI": [ + "2020-06-01" + ], + "privateLinkServicesForPowerBI/operationResults": [ + "2020-06-01" + ], + "privateLinkServicesForPowerBI/privateEndpointConnections": [ + "2020-06-01" + ], + "workspaceCollections": [ + "2016-01-29" + ] + }, + "Microsoft.PowerBIDedicated": { + "autoScaleVCores": [ + "2021-01-01", + "2021-05-01" + ], + "capacities": [ + "2017-01-01-preview", + "2017-10-01", + "2018-09-01-preview", + "2021-01-01", + "2021-05-01" + ], + "locations": [ + "2017-01-01-preview" + ], + "locations/checkNameAvailability": [ + "2017-01-01-preview", + "2017-10-01", + "2018-09-01-preview", + "2021-01-01", + "2021-05-01" + ], + "locations/operationresults": [ + "2017-01-01-preview", + "2017-10-01", + "2018-09-01-preview", + "2021-01-01", + "2021-05-01" + ], + "locations/operationstatuses": [ + "2017-01-01-preview", + "2017-10-01", + "2018-09-01-preview", + "2021-01-01", + "2021-05-01" + ], + "operations": [ + "2017-01-01-preview", + "2017-10-01", + "2018-09-01-preview", + "2021-01-01", + "2021-05-01" + ] + }, + "Microsoft.PowerPlatform": { + "accounts": [ + "2020-10-30-preview" + ], + "enterprisePolicies": [ + "2020-10-30", + "2020-10-30-preview" + ], + "enterprisePolicies/privateEndpointConnections": [ + "2020-10-30-preview" + ], + "locations": [ + "2020-10-30", + "2020-10-30-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2020-10-30", + "2020-10-30-preview" + ], + "locations/validateDeleteVirtualNetworkOrSubnets": [ + "2020-10-30", + "2020-10-30-preview" + ], + "operations": [ + "2020-04-01", + "2020-10-30", + "2020-10-30-preview" + ] + }, + "Microsoft.ProfessionalService": { + "checkNameAvailability": [ + "2023-07-01-preview" + ], + "eligibilityCheck": [ + "2023-07-01-preview" + ], + "operationResults": [ + "2023-07-01-preview" + ], + "operations": [ + "2023-07-01-preview" + ], + "resources": [ + "2023-07-01-preview" + ] + }, + "Microsoft.ProviderHub": { + "availableAccounts": [ + "2019-02-01-preview", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2023-04-01-preview" + ], + "operationStatuses": [ + "2019-02-01-preview", + "2019-10-01", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-07-01-preview", + "2023-04-01-preview" + ], + "providerRegistrations": [ + "2019-02-01-preview", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-07-01-preview", + "2023-04-01-preview" + ], + "providerRegistrations/checkinmanifest": [ + "2019-02-01-preview", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-07-01-preview", + "2023-04-01-preview" + ], + "providerRegistrations/customRollouts": [ + "2019-02-01-preview", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-07-01-preview", + "2023-04-01-preview" + ], + "providerRegistrations/defaultRollouts": [ + "2019-02-01-preview", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-07-01-preview", + "2023-04-01-preview" + ], + "providerRegistrations/notificationRegistrations": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/operations": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourceActions": [ + "2019-02-01-preview", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-01-01", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2023-04-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations": [ + "2019-02-01-preview", + "2020-06-01-preview", + "2020-09-01-preview", + "2020-10-01-preview", + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2022-07-01-preview", + "2023-04-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ], + "providerRegistrations/resourcetypeRegistrations/skus": [ + "2020-11-20", + "2021-05-01-preview", + "2021-06-01-preview", + "2021-09-01-preview" + ] + }, + "Microsoft.Purview": { + "accounts": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01" + ], + "accounts/kafkaConfigurations": [ + "2021-12-01" + ], + "accounts/privateEndpointConnections": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01" + ], + "checkNameAvailability": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01" + ], + "getDefaultAccount": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01", + "2023-05-01-preview" + ], + "locations": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01" + ], + "locations/listFeatures": [ + "2021-12-01" + ], + "locations/operationResults": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01" + ], + "locations/usages": [ + "2021-12-01" + ], + "operations": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01", + "2022-11-01-preview", + "2023-05-01-preview", + "2023-06-01-preview" + ], + "policies": [ + "2023-06-01-preview" + ], + "removeDefaultAccount": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01", + "2023-05-01-preview" + ], + "setDefaultAccount": [ + "2020-12-01-preview", + "2021-07-01", + "2021-12-01", + "2023-05-01-preview" + ] + }, + "Microsoft.Quantum": { + "Locations": [ + "2019-11-04-preview", + "2022-01-10-preview" + ], + "Locations/CheckNameAvailability": [ + "2019-11-04-preview", + "2022-01-10-preview" + ], + "locations/offerings": [ + "2019-11-04-preview", + "2022-01-10-preview" + ], + "Locations/OperationStatuses": [ + "2019-11-04-preview", + "2022-01-10-preview" + ], + "Operations": [ + "2019-11-04-preview", + "2022-01-10-preview" + ], + "workspaces": [ + "2019-11-04-preview", + "2022-01-10-preview" + ] + }, + "Microsoft.Quota": { + "groupQuotas": [ + "2023-06-01-preview" + ], + "groupQuotas/groupQuotaLimits": [ + "2023-06-01-preview" + ], + "groupQuotas/quotaAllocations": [ + "2023-06-01-preview" + ], + "groupQuotas/subscriptions": [ + "2023-06-01-preview" + ], + "operations": [ + "2021-03-15-preview", + "2023-02-01" + ], + "operationsStatus": [ + "2021-03-15-preview" + ], + "quotaRequests": [ + "2021-03-15-preview" + ], + "quotas": [ + "2021-03-15-preview", + "2023-02-01" + ], + "usages": [ + "2021-03-15-preview" + ] + }, + "Microsoft.RecommendationsService": { + "accounts": [ + "2021-02-01-preview", + "2022-02-01", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "accounts/modeling": [ + "2021-02-01-preview", + "2022-02-01", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "accounts/serviceEndpoints": [ + "2021-02-01-preview", + "2022-02-01", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "checkNameAvailability": [ + "2021-02-01-preview", + "2022-02-01", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "locations": [ + "2021-02-01-preview", + "2022-02-01", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "locations/operationStatuses": [ + "2021-02-01-preview", + "2022-02-01", + "2022-03-01-preview", + "2022-09-01-preview" + ], + "operations": [ + "2021-02-01-preview", + "2022-02-01", + "2022-03-01-preview", + "2022-09-01-preview" + ] + }, + "Microsoft.RecoveryServices": { + "backupProtectedItems": [ + "2017-07-01-preview" + ], + "locations": [ + "2016-06-01", + "2017-07-01", + "2021-03-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-06-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "locations/allocatedStamp": [ + "2015-08-15", + "2016-06-01" + ], + "locations/allocateStamp": [ + "2015-08-15", + "2016-06-01" + ], + "locations/backupAadProperties": [ + "2018-12-20", + "2018-12-20-preview", + "2021-11-15", + "2023-01-15" + ], + "locations/backupCrossRegionRestore": [ + "2018-12-20", + "2018-12-20-preview", + "2021-11-15", + "2023-01-15" + ], + "locations/backupCrrJob": [ + "2018-12-20", + "2018-12-20-preview", + "2021-11-15", + "2023-01-15" + ], + "locations/backupCrrJobs": [ + "2018-12-20", + "2018-12-20-preview", + "2021-11-15", + "2023-01-15" + ], + "locations/backupCrrOperationResults": [ + "2018-12-20", + "2018-12-20-preview", + "2021-11-15", + "2023-01-15" + ], + "locations/backupCrrOperationsStatus": [ + "2018-12-20", + "2018-12-20-preview", + "2021-11-15", + "2023-01-15" + ], + "locations/backupPreValidateProtection": [ + "2017-07-01", + "2021-03-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-06-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "locations/backupStatus": [ + "2016-06-01", + "2017-07-01", + "2021-03-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-06-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "locations/backupValidateFeatures": [ + "2017-07-01", + "2021-03-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-06-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "locations/capabilities": [ + "2022-01-31-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "locations/checkNameAvailability": [ + "2018-01-10" + ], + "operations": [ + "2015-03-15", + "2015-06-10", + "2015-08-10", + "2015-08-15", + "2015-11-10", + "2015-12-10", + "2015-12-15", + "2016-06-01", + "2016-08-10", + "2016-12-01", + "2017-07-01", + "2017-07-01-preview", + "2017-09-01", + "2018-01-10", + "2018-07-10", + "2018-07-10-preview", + "2019-05-13", + "2019-05-13-preview", + "2019-06-15", + "2020-02-02", + "2020-02-02-preview", + "2020-07-01", + "2020-07-01-preview", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-06-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "replicationEligibilityResults": [ + "2018-07-10", + "2021-02-10", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-06-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults": [ + "2015-03-15", + "2015-06-10", + "2015-08-10", + "2015-08-15", + "2015-11-10", + "2015-12-10", + "2015-12-15", + "2016-05-01", + "2016-06-01", + "2016-08-10", + "2016-12-01", + "2017-07-01", + "2017-07-01-preview", + "2018-01-10", + "2018-07-10", + "2018-07-10-preview", + "2019-05-13", + "2019-05-13-preview", + "2019-06-15", + "2020-02-02", + "2020-02-02-preview", + "2020-07-01", + "2020-07-01-preview", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-01-31-preview", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-06-01-preview", + "2022-08-01", + "2022-09-01-preview", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/backupconfig": [ + "2019-06-15", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/backupEncryptionConfigs": [ + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/backupFabrics/backupProtectionIntent": [ + "2017-07-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/backupFabrics/protectionContainers": [ + "2016-12-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/backupFabrics/protectionContainers/protectedItems": [ + "2016-06-01", + "2019-05-13", + "2019-06-15", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/backupPolicies": [ + "2016-06-01", + "2019-05-13", + "2019-06-15", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/backupResourceGuardProxies": [ + "2021-02-01-preview", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/backupstorageconfig": [ + "2016-12-01", + "2018-12-20", + "2021-04-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-15", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-01-15", + "2023-02-01", + "2023-04-01" + ], + "vaults/certificates": [ + "2016-06-01", + "2020-02-02", + "2020-10-01", + "2021-01-01", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-01-31-preview", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/extendedInformation": [ + "2016-06-01", + "2020-02-02", + "2020-10-01", + "2021-01-01", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-11-01-preview", + "2021-12-01", + "2022-01-01", + "2022-01-31-preview", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/privateEndpointConnections": [ + "2020-02-02", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-02-01", + "2021-02-01-preview", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-06-01-preview", + "2022-09-01-preview", + "2022-09-30-preview", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01" + ], + "vaults/replicationAlertSettings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems": [ + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationRecoveryServicesProviders": [ + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationFabrics/replicationvCenters": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationPolicies": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationProtectionIntents": [ + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationRecoveryPlans": [ + "2016-08-10", + "2018-01-10", + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ], + "vaults/replicationVaultSettings": [ + "2018-07-10", + "2021-02-10", + "2021-03-01", + "2021-04-01", + "2021-06-01", + "2021-07-01", + "2021-08-01", + "2021-10-01", + "2021-11-01", + "2021-12-01", + "2022-01-01", + "2022-02-01", + "2022-03-01", + "2022-04-01", + "2022-05-01", + "2022-08-01", + "2022-09-10", + "2022-10-01", + "2023-01-01", + "2023-02-01", + "2023-04-01", + "2023-06-01" + ] + }, + "Microsoft.RedHatOpenShift": { + "locations": [ + "2019-12-31-preview", + "2020-04-30", + "2021-09-01-preview", + "2022-04-01", + "2022-09-04", + "2023-04-01" + ], + "locations/openshiftversions": [ + "2022-09-04", + "2023-04-01" + ], + "locations/operationresults": [ + "2020-04-30", + "2021-09-01-preview", + "2022-04-01", + "2022-09-04", + "2023-04-01" + ], + "locations/operationsstatus": [ + "2020-04-30", + "2021-09-01-preview", + "2022-04-01", + "2022-09-04", + "2023-04-01" + ], + "openShiftClusters": [ + "2020-04-30", + "2021-09-01-preview", + "2022-04-01", + "2022-09-04", + "2023-04-01", + "2023-07-01-preview" + ], + "openshiftclusters/machinePool": [ + "2022-09-04", + "2023-04-01", + "2023-07-01-preview" + ], + "openshiftclusters/secret": [ + "2022-09-04", + "2023-04-01", + "2023-07-01-preview" + ], + "openshiftclusters/syncIdentityProvider": [ + "2022-09-04", + "2023-04-01", + "2023-07-01-preview" + ], + "openshiftclusters/syncSet": [ + "2022-09-04", + "2023-04-01", + "2023-07-01-preview" + ], + "operations": [ + "2019-12-31-preview", + "2020-04-30", + "2021-09-01-preview", + "2022-04-01", + "2022-09-04", + "2023-04-01" + ] + }, + "Microsoft.Relay": { + "checkNameAvailability": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "locations": [ + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "locations/namespaceOperationResults": [ + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/authorizationRules": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/hybridConnections": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/hybridConnections/authorizationRules": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/networkRuleSets": [ + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/privateEndpointConnectionProxies": [ + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/privateEndpointConnections": [ + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/wcfRelays": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "namespaces/wcfRelays/authorizationRules": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ], + "operations": [ + "2016-07-01", + "2017-04-01", + "2018-01-01-preview", + "2021-11-01" + ] + }, + "Microsoft.ResourceConnector": { + "appliances": [ + "2021-10-31-preview", + "2022-04-15-preview", + "2022-10-27" + ], + "locations": [ + "2020-09-15-privatepreview", + "2021-10-31-preview", + "2022-04-15-preview", + "2022-10-27" + ], + "locations/operationresults": [ + "2020-07-15-privatepreview", + "2021-10-31-preview" + ], + "locations/operationsstatus": [ + "2020-07-15-privatepreview", + "2021-10-31-preview" + ], + "operations": [ + "2020-07-15-privatepreview", + "2021-02-01", + "2021-10-31-preview", + "2022-04-15-preview" + ] + }, + "Microsoft.ResourceGraph": { + "operations": [ + "2018-09-01-preview", + "2019-04-01", + "2020-04-01-preview", + "2021-03-01", + "2021-06-01-preview", + "2022-10-01" + ], + "queries": [ + "2018-09-01-preview", + "2020-04-01-preview" + ], + "resourceChangeDetails": [ + "2018-09-01-preview", + "2020-04-01-preview", + "2020-09-01-preview" + ], + "resourceChanges": [ + "2018-09-01-preview", + "2020-04-01-preview", + "2020-09-01-preview" + ], + "resources": [ + "2018-09-01-preview", + "2019-04-01", + "2020-04-01-preview", + "2021-03-01", + "2021-06-01-preview", + "2022-10-01" + ], + "resourcesHistory": [ + "2018-09-01-preview", + "2020-04-01-preview", + "2020-09-01-preview", + "2021-06-01-preview" + ], + "subscriptionsStatus": [ + "2018-09-01-preview", + "2019-04-01" + ] + }, + "Microsoft.ResourceHealth": { + "availabilityStatuses": [ + "2015-01-01", + "2017-07-01", + "2018-07-01", + "2018-07-01-preview", + "2018-07-01-rc", + "2018-08-01-preview", + "2018-08-01-rc", + "2020-05-01", + "2020-05-01-preview", + "2022-05-01", + "2022-05-01-preview", + "2022-10-01", + "2022-10-01-preview" + ], + "childAvailabilityStatuses": [ + "2015-01-01-preview", + "2015-01-01-rc", + "2017-07-01", + "2017-07-01-beta", + "2017-07-01-preview", + "2017-07-01-rc", + "2018-07-01-beta", + "2018-07-01-preview", + "2018-07-01-rc", + "2018-08-01-preview", + "2018-08-01-rc", + "2018-11-06-beta", + "2022-10-01", + "2023-07-01-beta" + ], + "childResources": [ + "2015-01-01-preview", + "2015-01-01-rc", + "2017-07-01", + "2017-07-01-beta", + "2017-07-01-preview", + "2017-07-01-rc", + "2018-07-01-beta", + "2018-07-01-preview", + "2018-07-01-rc", + "2018-08-01-preview", + "2018-08-01-rc", + "2018-11-06-beta", + "2022-10-01" + ], + "emergingissues": [ + "2017-07-01-beta", + "2018-07-01", + "2018-07-01-alpha", + "2018-07-01-beta", + "2018-07-01-preview", + "2018-07-01-rc", + "2018-11-06-beta", + "2022-10-01", + "2022-10-01-alpha", + "2022-10-01-beta", + "2022-10-01-preview", + "2022-10-01-rc", + "2023-07-01-alpha", + "2023-07-01-beta" + ], + "events": [ + "2018-07-01", + "2018-07-01-rc", + "2020-09-01-rc", + "2022-05-01", + "2022-05-01-rc", + "2022-10-01", + "2022-10-01-rc" + ], + "metadata": [ + "2018-07-01", + "2018-07-01-alpha", + "2018-07-01-beta", + "2018-07-01-preview", + "2018-07-01-rc", + "2022-10-01", + "2022-10-01-alpha", + "2022-10-01-beta", + "2022-10-01-preview", + "2022-10-01-rc", + "2023-07-01-alpha", + "2023-07-01-beta" + ], + "operations": [ + "2015-01-01", + "2018-07-01", + "2018-07-01-preview", + "2020-05-01", + "2020-05-01-preview", + "2022-05-01", + "2022-05-01-alpha", + "2022-05-01-beta", + "2022-05-01-preview", + "2022-05-01-rc", + "2022-10-01", + "2022-10-01-alpha", + "2022-10-01-beta", + "2022-10-01-preview", + "2022-10-01-rc", + "2023-07-01-alpha", + "2023-07-01-beta" + ] + }, + "Microsoft.Resources": { + "builtInTemplateSpecs": [ + "2022-02-01" + ], + "builtInTemplateSpecs/versions": [ + "2022-02-01" + ], + "bulkDelete": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "calculateTemplateHash": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01", + "2022-09-01", + "2023-07-01" + ], + "changes": [ + "2022-03-01-preview", + "2022-05-01", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "checkPolicyCompliance": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "checkresourcename": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "deployments": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-05-10", + "2019-07-01", + "2019-08-01", + "2019-09-01", + "2019-10-01", + "2020-06-01", + "2020-08-01", + "2020-10-01", + "2021-01-01", + "2021-04-01", + "2022-09-01", + "2023-07-01" + ], + "deployments/operations": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01", + "2020-06-01", + "2020-10-01", + "2021-01-01", + "2021-04-01", + "2022-09-01", + "2023-07-01" + ], + "deploymentScripts": [ + "2019-10-01-preview", + "2020-10-01" + ], + "deploymentScripts/logs": [ + "2019-10-01-preview", + "2020-10-01" + ], + "deploymentStacks": [ + "2022-08-01-preview" + ], + "links": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "locations": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01" + ], + "locations/deploymentScriptOperationResults": [ + "2019-10-01-preview", + "2020-10-01" + ], + "locations/deploymentStackOperationStatus": [ + "2022-08-01-preview" + ], + "notifyResourceJobs": [ + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01" + ], + "operationresults": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01" + ], + "operations": [ + "2015-01-01" + ], + "providers": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "resourceGroups": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-05-10", + "2019-07-01", + "2019-08-01", + "2019-10-01", + "2020-06-01", + "2020-08-01", + "2020-10-01", + "2021-01-01", + "2021-04-01", + "2022-09-01", + "2023-07-01" + ], + "resources": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01" + ], + "snapshots": [ + "2022-11-01-preview" + ], + "subscriptions": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01", + "2019-10-01" + ], + "subscriptions/locations": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "subscriptions/operationresults": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "subscriptions/providers": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "subscriptions/resourceGroups": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "subscriptions/resourcegroups/resources": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01" + ], + "subscriptions/resources": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01" + ], + "subscriptions/tagnames": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2022-09-01", + "2023-07-01" + ], + "subscriptions/tagNames/tagValues": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2022-09-01", + "2023-07-01" + ], + "tagNamespaceOperationResults": [ + "2023-03-01-preview" + ], + "tagnamespaces": [ + "2023-03-01-preview" + ], + "tags": [ + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-10-01", + "2020-06-01", + "2020-08-01", + "2020-10-01", + "2021-01-01", + "2021-04-01", + "2022-09-01", + "2023-07-01" + ], + "templateSpecs": [ + "2019-06-01-preview", + "2021-03-01-preview", + "2021-05-01", + "2022-02-01" + ], + "templateSpecs/versions": [ + "2019-06-01-preview", + "2021-03-01-preview", + "2021-05-01", + "2022-02-01" + ], + "tenants": [ + "2014-04-01-preview", + "2015-01-01", + "2015-11-01", + "2016-02-01", + "2016-06-01", + "2016-07-01", + "2016-09-01", + "2017-03-01", + "2017-05-01", + "2017-05-10", + "2017-06-01", + "2017-08-01", + "2018-01-01", + "2018-02-01", + "2018-05-01", + "2018-07-01", + "2018-08-01", + "2018-09-01", + "2018-11-01", + "2019-03-01", + "2019-04-01", + "2019-05-01", + "2019-09-01", + "2020-01-01" + ], + "validateResources": [ + "2022-06-01" + ] + }, + "Microsoft.SaaS": { + "applications": [ + "2018-03-01-beta" + ], + "checknameavailability": [ + "2018-03-01-beta" + ], + "operationResults": [ + "2018-03-01-beta" + ], + "operations": [ + "2018-03-01-beta" + ], + "resources": [ + "2018-03-01-beta" + ], + "saasresources": [ + "2018-03-01-beta" + ] + }, + "Microsoft.SaaSHub": { + "canCreate": [ + "2023-01-01-preview" + ], + "checkNameAvailability": [ + "2023-01-01-preview" + ], + "cloudServices": [ + "2023-01-01-preview" + ], + "locations": [ + "2023-01-01-preview" + ], + "locations/operationStatuses": [ + "2023-01-01-preview" + ], + "operations": [ + "2023-01-01-preview" + ], + "operationStatuses": [ + "2023-01-01-preview" + ], + "registeredSubscriptions": [ + "2023-01-01-preview" + ] + }, + "Microsoft.Scheduler": { + "jobCollections": [ + "2014-08-01-preview", + "2016-01-01", + "2016-03-01" + ], + "jobCollections/jobs": [ + "2014-08-01-preview", + "2016-01-01", + "2016-03-01" + ] + }, + "Microsoft.Scom": { + "locations": [ + "2021-06-30-preview", + "2022-04-30-preview", + "2022-09-13-preview", + "2023-06-30", + "2023-07-07-preview" + ], + "locations/operationStatuses": [ + "2021-06-30-preview", + "2022-04-30-preview", + "2022-09-13-preview", + "2023-07-07-preview" + ], + "managedInstances": [ + "2021-06-30-preview", + "2022-04-30-preview", + "2022-09-13-preview", + "2023-07-07-preview" + ], + "managedInstances/managedGateways": [ + "2023-07-07-preview" + ], + "managedInstances/monitoredResources": [ + "2023-07-07-preview" + ], + "operations": [ + "2021-06-30-preview", + "2022-04-30-preview", + "2022-09-13-preview", + "2023-06-30", + "2023-07-07-preview" + ] + }, + "Microsoft.ScVmm": { + "availabilitySets": [ + "2020-06-05-preview", + "2022-05-21-preview" + ], + "clouds": [ + "2020-06-05-preview", + "2022-05-21-preview" + ], + "locations": [ + "2020-06-05-preview", + "2022-05-21-preview", + "2023-04-01-preview" + ], + "Locations/OperationStatuses": [ + "2020-06-05-preview", + "2022-05-21-preview", + "2023-04-01-preview" + ], + "operations": [ + "2020-06-05-preview", + "2022-05-21-preview", + "2023-04-01-preview" + ], + "virtualMachines": [ + "2020-06-05-preview", + "2022-05-21-preview" + ], + "virtualMachines/extensions": [ + "2022-05-21-preview" + ], + "virtualMachines/guestAgents": [ + "2022-05-21-preview" + ], + "virtualMachines/hybridIdentityMetadata": [ + "2022-05-21-preview" + ], + "virtualMachineTemplates": [ + "2020-06-05-preview", + "2022-05-21-preview" + ], + "virtualNetworks": [ + "2020-06-05-preview", + "2022-05-21-preview" + ], + "vmmServers": [ + "2020-06-05-preview", + "2022-05-21-preview" + ], + "vmmServers/inventoryItems": [ + "2020-06-05-preview", + "2022-05-21-preview" + ] + }, + "Microsoft.Search": { + "checkNameAvailability": [ + "2015-08-19", + "2019-10-01-Preview", + "2020-03-13", + "2020-08-01", + "2020-08-01-Preview", + "2021-04-01-Preview", + "2021-06-06-Preview", + "2022-09-01" + ], + "checkServiceNameAvailability": [ + "2014-07-31-Preview", + "2015-02-28" + ], + "locations": [ + "2021-06-06-Preview" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2021-06-06-Preview" + ], + "locations/operationResults": [ + "2021-06-06-Preview" + ], + "operations": [ + "2015-02-28", + "2015-08-19", + "2019-10-01-Preview", + "2020-03-13", + "2020-08-01", + "2020-08-01-Preview", + "2021-04-01-Preview", + "2021-06-06-Preview", + "2022-09-01" + ], + "resourceHealthMetadata": [ + "2015-08-19", + "2019-10-01-Preview", + "2020-03-13", + "2020-08-01", + "2020-08-01-Preview", + "2021-04-01-Preview", + "2021-06-06-Preview", + "2022-09-01" + ], + "searchServices": [ + "2014-07-31-Preview", + "2015-02-28", + "2015-08-19", + "2019-10-01-Preview", + "2020-03-13", + "2020-08-01", + "2020-08-01-preview", + "2021-04-01-preview", + "2021-06-06-Preview", + "2022-09-01" + ], + "searchServices/privateEndpointConnections": [ + "2019-10-01-preview", + "2020-03-13", + "2020-08-01", + "2020-08-01-preview", + "2021-04-01-preview", + "2022-09-01" + ], + "searchServices/sharedPrivateLinkResources": [ + "2020-08-01", + "2020-08-01-preview", + "2021-04-01-preview", + "2022-09-01" + ] + }, + "Microsoft.Security": { + "adaptiveNetworkHardenings": [ + "2015-06-01-preview", + "2020-01-01" + ], + "advancedThreatProtectionSettings": [ + "2017-08-01-preview", + "2019-01-01" + ], + "aggregations": [ + "2023-06-01-preview" + ], + "alerts": [ + "2015-06-01-preview", + "2019-01-01", + "2020-01-01", + "2021-01-01", + "2021-11-01", + "2022-01-01" + ], + "alertsSuppressionRules": [ + "2019-01-01-preview" + ], + "allowedConnections": [ + "2015-06-01-preview", + "2020-01-01" + ], + "apiCollections": [ + "2022-11-20-preview" + ], + "applications": [ + "2022-07-01-preview" + ], + "applicationWhitelistings": [ + "2015-06-01-preview", + "2020-01-01" + ], + "assessmentMetadata": [ + "2019-01-01-preview", + "2020-01-01", + "2021-06-01" + ], + "assessments": [ + "2019-01-01-preview", + "2020-01-01", + "2021-06-01" + ], + "assessments/governanceAssignments": [ + "2022-01-01-preview" + ], + "assignments": [ + "2021-08-01-preview" + ], + "autoDismissAlertsRules": [ + "2019-01-01-preview" + ], + "automations": [ + "2019-01-01-preview" + ], + "autoProvisioningSettings": [ + "2017-08-01-preview", + "2019-01-01" + ], + "complianceResults": [ + "2017-08-01" + ], + "Compliances": [ + "2017-08-01-preview" + ], + "connectors": [ + "2020-01-01-preview" + ], + "customAssessmentAutomations": [ + "2021-07-01-alpha", + "2021-07-01-beta", + "2021-07-01-preview" + ], + "customEntityStoreAssignments": [ + "2021-07-01-alpha", + "2021-07-01-beta", + "2021-07-01-preview" + ], + "customRecommendations": [ + "2023-05-01-preview" + ], + "dataCollectionAgents": [ + "2015-06-01-preview" + ], + "dataScanners": [ + "2021-12-01-preview" + ], + "defenderForStorageSettings": [ + "2017-08-01-preview", + "2022-12-01-preview" + ], + "deviceSecurityGroups": [ + "2017-08-01-preview", + "2019-08-01" + ], + "discoveredSecuritySolutions": [ + "2015-06-01-preview", + "2020-01-01" + ], + "externalSecuritySolutions": [ + "2015-06-01-preview", + "2020-01-01" + ], + "governanceRules": [ + "2022-01-01-preview" + ], + "healthReports": [ + "2023-02-01-preview", + "2023-05-01-preview" + ], + "informationProtectionPolicies": [ + "2017-08-01-preview" + ], + "ingestionSettings": [ + "2021-01-15-preview" + ], + "integrations": [ + "2023-07-01-preview" + ], + "iotSecuritySolutions": [ + "2017-08-01-preview", + "2019-08-01" + ], + "iotSecuritySolutions/analyticsModels": [ + "2017-08-01-preview", + "2019-08-01" + ], + "iotSecuritySolutions/analyticsModels/aggregatedAlerts": [ + "2017-08-01-preview", + "2019-08-01" + ], + "iotSecuritySolutions/analyticsModels/aggregatedRecommendations": [ + "2017-08-01-preview", + "2019-08-01" + ], + "iotSecuritySolutions/iotAlerts": [ + "2019-08-01" + ], + "iotSecuritySolutions/iotAlertTypes": [ + "2019-08-01" + ], + "iotSecuritySolutions/iotRecommendations": [ + "2019-08-01" + ], + "iotSecuritySolutions/iotRecommendationTypes": [ + "2019-08-01" + ], + "jitNetworkAccessPolicies": [ + "2015-06-01-preview", + "2020-01-01" + ], + "jitPolicies": [ + "2015-06-01-preview" + ], + "locations": [ + "2015-06-01-preview" + ], + "locations/alerts": [ + "2015-06-01-preview", + "2019-01-01", + "2020-01-01", + "2021-01-01", + "2021-11-01", + "2022-01-01" + ], + "locations/allowedConnections": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/applicationWhitelistings": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/discoveredSecuritySolutions": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/externalSecuritySolutions": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/jitNetworkAccessPolicies": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/securitySolutions": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/securitySolutionsReferenceData": [ + "2015-06-01-preview", + "2020-01-01" + ], + "locations/tasks": [ + "2015-06-01-preview" + ], + "locations/topologies": [ + "2015-06-01-preview", + "2020-01-01" + ], + "MdeOnboardings": [ + "2021-10-01-preview" + ], + "operations": [ + "2015-06-01-preview", + "2020-01-01" + ], + "policies": [ + "2015-06-01-preview" + ], + "pricings": [ + "2017-08-01-preview", + "2018-06-01", + "2022-03-01", + "2023-01-01" + ], + "pricings/securityOperators": [ + "2023-01-01-preview" + ], + "query": [ + "2022-04-01-alpha", + "2022-04-01-beta", + "2022-04-01-preview" + ], + "regulatoryComplianceStandards": [ + "2019-01-01", + "2019-01-01-preview" + ], + "regulatoryComplianceStandards/regulatoryComplianceControls": [ + "2019-01-01", + "2019-01-01-preview" + ], + "regulatoryComplianceStandards/regulatoryComplianceControls/regulatoryComplianceAssessments": [ + "2019-01-01", + "2019-01-01-preview" + ], + "secureScoreControlDefinitions": [ + "2020-01-01", + "2020-01-01-preview" + ], + "secureScoreControls": [ + "2020-01-01", + "2020-01-01-preview" + ], + "secureScores": [ + "2020-01-01", + "2020-01-01-preview" + ], + "secureScores/secureScoreControls": [ + "2020-01-01", + "2020-01-01-preview" + ], + "securityConnectors": [ + "2021-07-01-preview", + "2021-12-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2023-03-01-preview" + ], + "securityConnectors/devops": [ + "2023-09-01-preview" + ], + "securityConnectors/devops/azureDevOpsOrgs": [ + "2023-09-01-preview" + ], + "securityConnectors/devops/azureDevOpsOrgs/projects": [ + "2023-09-01-preview" + ], + "securityConnectors/devops/azureDevOpsOrgs/projects/repos": [ + "2023-09-01-preview" + ], + "securityContacts": [ + "2017-08-01-preview", + "2020-01-01-preview" + ], + "securitySolutions": [ + "2015-06-01-preview", + "2020-01-01" + ], + "securitySolutionsReferenceData": [ + "2015-06-01-preview", + "2020-01-01" + ], + "securityStandards": [ + "2023-05-01-preview" + ], + "securityStatuses": [ + "2015-06-01-preview" + ], + "securityStatusesSummaries": [ + "2015-06-01-preview" + ], + "sensitivitySettings": [ + "2023-02-15-preview" + ], + "serverVulnerabilityAssessments": [ + "2015-06-01-preview", + "2020-01-01" + ], + "serverVulnerabilityAssessmentsSettings": [ + "2022-01-01-preview", + "2023-05-01" + ], + "settings": [ + "2017-08-01-preview", + "2019-01-01", + "2021-06-01", + "2021-07-01", + "2022-05-01" + ], + "sqlVulnerabilityAssessments": [ + "2020-07-01-preview", + "2023-02-01-preview" + ], + "sqlVulnerabilityAssessments/baselineRules": [ + "2020-07-01-preview", + "2023-02-01-preview" + ], + "standardAssignments": [ + "2023-05-01-preview" + ], + "standards": [ + "2021-08-01-preview" + ], + "subAssessments": [ + "2019-01-01-preview", + "2020-01-01" + ], + "tasks": [ + "2015-06-01-preview" + ], + "topologies": [ + "2015-06-01-preview", + "2020-01-01" + ], + "vmScanners": [ + "2022-03-01-preview" + ], + "workspaceSettings": [ + "2017-08-01-preview", + "2019-01-01" + ] + }, + "Microsoft.SecurityAndCompliance": { + "privateLinkServicesForEDMUpload": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForEDMUpload/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365ComplianceCenter": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365ComplianceCenter/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365SecurityCenter": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForM365SecurityCenter/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForMIPPolicySync": [ + "2021-03-08" + ], + "privateLinkServicesForMIPPolicySync/privateEndpointConnections": [ + "2021-03-08" + ], + "privateLinkServicesForO365ManagementActivityAPI": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForO365ManagementActivityAPI/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForSCCPowershell": [ + "2021-01-11", + "2021-03-08" + ], + "privateLinkServicesForSCCPowershell/privateEndpointConnections": [ + "2021-01-11", + "2021-03-08" + ] + }, + "Microsoft.SecurityDetonation": { + "chambers": [ + "2019-08-01-preview", + "2020-07-01-preview", + "2021-07-01", + "2022-07-01" + ], + "checkNameAvailability": [ + "2019-08-01-preview", + "2020-07-01-preview", + "2021-07-01", + "2022-07-01" + ], + "operationResults": [ + "2019-08-01-preview", + "2020-07-01-preview", + "2021-07-01", + "2022-07-01" + ], + "operations": [ + "2019-08-01-preview", + "2020-07-01-preview", + "2021-07-01", + "2022-07-01" + ] + }, + "Microsoft.SecurityDevOps": { + "azureDevOpsConnectors": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "azureDevOpsConnectors/orgs": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "azureDevOpsConnectors/orgs/projects": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "azureDevOpsConnectors/orgs/projects/repos": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "azureDevOpsConnectors/repos": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "azureDevOpsConnectors/stats": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "gitHubConnectors": [ + "2021-10-01-preview", + "2022-09-01-preview", + "2023-06-01-preview" + ], + "gitHubConnectors/gitHubInstallations": [ + "2023-06-01-preview" + ], + "gitHubConnectors/gitHubInstallations/gitHubRepositories": [ + "2023-06-01-preview" + ], + "gitHubConnectors/owners": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "gitHubConnectors/owners/repos": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "gitHubConnectors/repos": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "gitHubConnectors/stats": [ + "2022-09-01-preview", + "2023-06-01-preview" + ], + "gitLabConnectors": [ + "2023-06-01-preview" + ], + "gitLabConnectors/groups": [ + "2023-06-01-preview" + ], + "gitLabConnectors/groups/projects": [ + "2023-06-01-preview" + ], + "gitLabConnectors/projects": [ + "2023-06-01-preview" + ], + "gitLabConnectors/stats": [ + "2023-06-01-preview" + ], + "Locations": [ + "2021-10-01-preview", + "2022-09-01-preview", + "2023-06-01-preview" + ], + "Locations/OperationStatuses": [ + "2021-10-01-preview", + "2022-09-01-preview", + "2023-06-01-preview" + ], + "Operations": [ + "2021-10-01-preview", + "2022-09-01-preview", + "2023-06-01-preview" + ] + }, + "Microsoft.SecurityInsights": { + "aggregations": [ + "2019-01-01-preview" + ], + "alertRules": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "alertRules/actions": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "alertRuleTemplates": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "automationRules": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "billingStatistics": [ + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "bookmarks": [ + "2019-01-01-preview", + "2020-01-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "bookmarks/relations": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "cases": [ + "2019-01-01-preview" + ], + "cases/comments": [ + "2019-01-01-preview" + ], + "cases/relations": [ + "2019-01-01-preview" + ], + "confidentialWatchlists": [ + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "contentPackages": [ + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "contentProductPackages": [ + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "contentProductTemplates": [ + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "contentTemplates": [ + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "dataConnectorDefinitions": [ + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "dataConnectors": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "dataConnectorsCheckRequirements": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "dynamicSummaries": [ + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "enrichment": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "entities": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "entityQueries": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "entityQueryTemplates": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "exportConnections": [ + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "fileImports": [ + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "hunts": [ + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "hunts/comments": [ + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "hunts/relations": [ + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "huntsessions": [ + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "incidents": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "incidents/comments": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "incidents/relations": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "incidents/tasks": [ + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "listrepositories": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "metadata": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "MitreCoverageRecords": [ + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "officeConsents": [ + "2019-01-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "onboardingStates": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "operations": [ + "2019-01-01-preview", + "2020-01-01", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "overview": [ + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "recommendations": [ + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "securityMLAnalyticsSettings": [ + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "settings": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "sourcecontrols": [ + "2021-03-01-preview", + "2021-09-01-preview", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "threatIntelligence": [ + "2019-01-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "threatIntelligence/indicators": [ + "2019-01-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "triggeredAnalyticsRuleRuns": [ + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "watchlists": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "watchlists/watchlistItems": [ + "2019-01-01-preview", + "2021-03-01-preview", + "2021-04-01", + "2021-09-01-preview", + "2021-10-01", + "2021-10-01-preview", + "2022-01-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-06-01-preview", + "2022-07-01-preview", + "2022-08-01", + "2022-08-01-preview", + "2022-09-01-preview", + "2022-10-01-preview", + "2022-11-01", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-02-01", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview" + ], + "workspaceManagerAssignments": [ + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "workspaceManagerConfigurations": [ + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "workspaceManagerGroups": [ + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ], + "workspaceManagerMembers": [ + "2023-03-01-preview", + "2023-04-01-preview", + "2023-05-01-preview", + "2023-06-01-preview", + "2023-07-01-preview", + "2023-08-01-preview" + ] + }, + "Microsoft.SerialConsole": { + "consoleServices": [ + "2018-05-01" + ], + "locations": [ + "2018-05-01" + ], + "locations/consoleServices": [ + "2018-05-01" + ], + "operations": [ + "2018-05-01" + ], + "serialPorts": [ + "2018-05-01" + ] + }, + "Microsoft.ServiceBus": { + "checkNameAvailability": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "checkNamespaceAvailability": [ + "2014-09-01", + "2015-08-01" + ], + "locations": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "locations/namespaceOperationResults": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "locations/operationStatus": [ + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/AuthorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/disasterRecoveryConfigs": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/disasterrecoveryconfigs/checkNameAvailability": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/eventgridfilters": [ + "2014-09-01", + "2015-08-01", + "2017-04-01" + ], + "namespaces/ipfilterrules": [ + "2018-01-01-preview" + ], + "namespaces/messagingplan": [ + "2014-09-01" + ], + "namespaces/migrationConfigurations": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/networkRuleSets": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/privateEndpointConnectionProxies": [ + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/privateEndpointConnections": [ + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/queues": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/queues/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics/authorizationRules": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics/subscriptions": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/topics/subscriptions/rules": [ + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "namespaces/virtualnetworkrules": [ + "2018-01-01-preview" + ], + "operations": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview", + "2022-10-01-preview" + ], + "premiumMessagingRegions": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview" + ], + "sku": [ + "2014-09-01", + "2015-08-01", + "2017-04-01", + "2018-01-01-preview", + "2021-01-01-preview", + "2021-06-01-preview", + "2021-11-01", + "2022-01-01-preview" + ] + }, + "Microsoft.ServiceFabric": { + "clusters": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2021-06-01" + ], + "clusters/applications": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2021-06-01" + ], + "clusters/applications/services": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2021-06-01" + ], + "clusters/applicationTypes": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2021-06-01" + ], + "clusters/applicationTypes/versions": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2021-06-01" + ], + "locations": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-02-01-preview", + "2020-02-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2020-12-15-preview", + "2020-12-15-privatepreview", + "2021-06-01" + ], + "locations/clusterVersions": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-02-01-preview", + "2020-02-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2020-12-15-preview", + "2020-12-15-privatepreview", + "2021-06-01" + ], + "locations/environments": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-02-01-preview", + "2020-02-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2020-12-15-preview", + "2020-12-15-privatepreview", + "2021-06-01" + ], + "locations/environments/managedClusterVersions": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "locations/managedClusterOperationResults": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "locations/managedClusterOperations": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "locations/managedClusterVersions": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "locations/managedUnsupportedVMSizes": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "locations/operationResults": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-02-01-preview", + "2020-02-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2020-12-15-preview", + "2020-12-15-privatepreview", + "2021-06-01" + ], + "locations/operations": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-02-01-preview", + "2020-02-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2020-12-15-preview", + "2020-12-15-privatepreview", + "2021-06-01" + ], + "locations/unsupportedVMSizes": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-02-01-preview", + "2020-02-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2020-12-15-preview", + "2020-12-15-privatepreview", + "2021-06-01" + ], + "managedClusters": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "managedclusters/applications": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "managedclusters/applications/services": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "managedclusters/applicationTypes": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "managedclusters/applicationTypes/versions": [ + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "managedClusters/nodeTypes": [ + "2020-01-01-preview", + "2021-01-01-preview", + "2021-05-01", + "2021-07-01-preview", + "2021-09-01-privatepreview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview", + "2023-03-01-preview", + "2023-07-01-preview" + ], + "operations": [ + "2016-03-01", + "2016-09-01", + "2017-07-01-preview", + "2017-07-01-privatepreview", + "2018-02-01", + "2018-02-01-privatepreview", + "2019-03-01", + "2019-03-01-preview", + "2019-03-01-privatepreview", + "2019-06-01-preview", + "2019-11-01-preview", + "2019-11-01-privatepreview", + "2020-01-01-preview", + "2020-02-01-preview", + "2020-02-01-privatepreview", + "2020-03-01", + "2020-12-01-preview", + "2020-12-01-privatepreview", + "2020-12-15-preview", + "2020-12-15-privatepreview", + "2021-01-01-preview", + "2021-05-01", + "2021-06-01", + "2021-07-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-02-01-preview", + "2022-06-01-preview", + "2022-08-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ] + }, + "Microsoft.ServiceFabricMesh": { + "applications": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "gateways": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "locations": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "locations/applicationOperations": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "locations/gatewayOperations": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "locations/networkOperations": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "locations/secretOperations": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "locations/volumeOperations": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "networks": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "operations": [ + "2018-09-01-preview" + ], + "secrets": [ + "2018-07-01-preview", + "2018-09-01-preview" + ], + "secrets/values": [ + "2018-09-01-preview" + ], + "volumes": [ + "2018-07-01-preview", + "2018-09-01-preview" + ] + }, + "Microsoft.ServiceLinker": { + "configurationNames": [ + "2022-11-01-preview", + "2023-04-01-preview" + ], + "daprConfigurations": [ + "2023-04-01-preview" + ], + "dryruns": [ + "2021-12-01-privatepreview", + "2022-11-01-preview", + "2023-04-01-preview" + ], + "linkers": [ + "2021-11-01-preview", + "2022-01-01-preview", + "2022-05-01", + "2022-11-01-preview", + "2023-04-01-preview" + ], + "locations": [ + "2021-01-01-privatepreview", + "2021-11-01-preview", + "2022-05-01", + "2022-07-01-privatepreview", + "2022-11-01-preview", + "2023-04-01-preview" + ], + "locations/connectors": [ + "2022-11-01-preview", + "2023-04-01-preview" + ], + "locations/dryruns": [ + "2022-11-01-preview", + "2023-04-01-preview" + ], + "locations/operationStatuses": [ + "2021-01-01-privatepreview", + "2021-11-01-preview", + "2022-05-01" + ], + "operations": [ + "2021-01-01-privatepreview", + "2021-11-01-preview", + "2022-05-01" + ] + }, + "Microsoft.ServiceNetworking": { + "locations": [ + "2022-10-01-preview", + "2023-05-01-preview" + ], + "locations/operationResults": [ + "2022-10-01-preview", + "2023-05-01-preview" + ], + "locations/operations": [ + "2022-10-01-preview", + "2023-05-01-preview" + ], + "operations": [ + "2022-10-01-preview", + "2023-05-01-preview" + ], + "trafficControllers": [ + "2022-10-01-preview", + "2023-05-01-preview" + ], + "trafficControllers/associations": [ + "2022-10-01-preview", + "2023-05-01-preview" + ], + "trafficControllers/frontends": [ + "2022-10-01-preview", + "2023-05-01-preview" + ] + }, + "Microsoft.ServicesHub": { + "connectors": [ + "2019-08-15-preview", + "2023-04-17-preview" + ], + "getRecommendationsContent": [ + "2023-03-24-preview" + ], + "operations": [ + "2019-08-15-preview" + ], + "supportOfferingEntitlement": [ + "2019-08-15-preview" + ], + "workspaces": [ + "2019-08-15-preview" + ] + }, + "Microsoft.SignalRService": { + "locations": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "locations/checkNameAvailability": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "locations/operationResults": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "locations/operationStatuses": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "locations/usages": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "operations": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "signalR": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "signalR/customCertificates": [ + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "signalR/customDomains": [ + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "SignalR/eventGridFilters": [ + "2018-03-01-preview", + "2018-10-01", + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "signalR/privateEndpointConnections": [ + "2020-05-01", + "2020-07-01-preview", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "signalR/replicas": [ + "2023-03-01-preview", + "2023-06-01-preview" + ], + "signalR/sharedPrivateLinkResources": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-02-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "webPubSub": [ + "2020-05-01", + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "webPubSub/customCertificates": [ + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "webPubSub/customDomains": [ + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "webPubSub/hubs": [ + "2021-10-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "webPubSub/privateEndpointConnections": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ], + "webPubSub/replicas": [ + "2023-03-01-preview", + "2023-06-01-preview" + ], + "webPubSub/sharedPrivateLinkResources": [ + "2021-04-01-preview", + "2021-06-01-preview", + "2021-09-01-preview", + "2021-10-01", + "2022-08-01-preview", + "2023-02-01", + "2023-03-01-preview", + "2023-06-01-preview" + ] + }, + "Microsoft.Singularity": { + "accounts": [ + "2020-12-01-preview" + ], + "accounts/accountQuotaPolicies": [ + "2020-12-01-preview" + ], + "accounts/groupPolicies": [ + "2020-12-01-preview" + ], + "accounts/jobs": [ + "2020-12-01-preview" + ], + "accounts/models": [ + "2020-12-01-preview" + ], + "accounts/networks": [ + "2020-12-01-preview" + ], + "accounts/secrets": [ + "2020-12-01-preview" + ], + "accounts/storageContainers": [ + "2020-12-01-preview" + ], + "images": [ + "2020-12-01-preview" + ], + "locations": [ + "2020-12-01-preview" + ], + "locations/instanceTypeSeries": [ + "2020-12-01-preview" + ], + "locations/instanceTypeSeries/instanceTypes": [ + "2020-12-01-preview" + ], + "locations/operationResults": [ + "2020-12-01-preview" + ], + "locations/operationStatus": [ + "2020-12-01-preview" + ], + "operations": [ + "2020-12-01-preview" + ], + "quotas": [ + "2020-12-01-preview" + ] + }, + "Microsoft.SoftwarePlan": { + "hybridUseBenefits": [ + "2019-06-01-preview", + "2019-12-01" + ], + "operations": [ + "2019-06-01-preview" + ] + }, + "Microsoft.Solutions": { + "applianceDefinitions": [ + "2016-09-01-preview" + ], + "appliances": [ + "2016-09-01-preview" + ], + "applicationDefinitions": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ], + "applications": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ], + "jitRequests": [ + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ], + "locations": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ], + "locations/operationstatuses": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ], + "Operations": [ + "2017-09-01", + "2017-12-01", + "2018-02-01", + "2018-03-01", + "2018-06-01", + "2018-09-01-preview", + "2019-07-01", + "2020-08-21-preview", + "2021-02-01-preview", + "2021-07-01" + ] + }, + "Microsoft.Sql": { + "checkNameAvailability": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "instancePools": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "locations/administratorAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/administratorOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/advancedThreatProtectionAzureAsyncOperation": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/advancedThreatProtectionOperationResults": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/auditingSettingsAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/auditingSettingsOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/capabilities": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/connectionPoliciesAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/connectionPoliciesOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/databaseAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/databaseEncryptionProtectorRevalidateAzureAsyncOperation": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/databaseEncryptionProtectorRevalidateOperationResults": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/databaseEncryptionProtectorRevertAzureAsyncOperation": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/databaseEncryptionProtectorRevertOperationResults": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/databaseOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/databaseRestoreAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/deleteVirtualNetworkOrSubnetsAzureAsyncOperation": [ + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/deleteVirtualNetworkOrSubnetsOperationResults": [ + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/devOpsAuditingSettingsAzureAsyncOperation": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/devOpsAuditingSettingsOperationResults": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/distributedAvailabilityGroupsAzureAsyncOperation": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/distributedAvailabilityGroupsOperationResults": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/dnsAliasAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/dnsAliasOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/elasticPoolAzureAsyncOperation": [ + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/elasticPoolOperationResults": [ + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/encryptionProtectorAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/encryptionProtectorOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/extendedAuditingSettingsAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/extendedAuditingSettingsOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/externalPolicyBasedAuthorizationsAzureAsycOperation": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/externalPolicyBasedAuthorizationsOperationResults": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/failoverGroupAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/failoverGroupOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/firewallRulesAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/firewallRulesOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/importExportAzureAsyncOperation": [ + "2020-02-02-preview", + "2020-08-01", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/importExportOperationResults": [ + "2020-02-02-preview", + "2020-08-01", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/instanceFailoverGroupAzureAsyncOperation": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/instanceFailoverGroupOperationResults": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/instanceFailoverGroups": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/instancePoolAzureAsyncOperation": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/instancePoolOperationResults": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/ipv6FirewallRulesAzureAsyncOperation": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/ipv6FirewallRulesOperationResults": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/jobAgentAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/jobAgentOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/ledgerDigestUploadsAzureAsyncOperation": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/ledgerDigestUploadsOperationResults": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionBackupAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionBackupOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionBackups": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionManagedInstanceBackupAzureAsyncOperation": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionManagedInstanceBackupOperationResults": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionManagedInstanceBackups": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionManagedInstances": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionPolicyAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionPolicyOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/longTermRetentionServers": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseCompleteRestoreAzureAsyncOperation": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseCompleteRestoreOperationResults": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseMoveAzureAsyncOperation": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseMoveOperationResults": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseRestoreAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDatabaseRestoreOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDnsAliasAsyncOperation": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedDnsAliasOperationResults": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceAdvancedThreatProtectionAzureAsyncOperation": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceAdvancedThreatProtectionOperationResults": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceDtcAzureAsyncOperation": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceEncryptionProtectorAzureAsyncOperation": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceEncryptionProtectorOperationResults": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceKeyAzureAsyncOperation": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceKeyOperationResults": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceLongTermRetentionPolicyAzureAsyncOperation": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceLongTermRetentionPolicyOperationResults": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstancePrivateEndpointConnectionAzureAsyncOperation": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstancePrivateEndpointConnectionOperationResults": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstancePrivateEndpointConnectionProxyAzureAsyncOperation": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstancePrivateEndpointConnectionProxyOperationResults": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceTdeCertAzureAsyncOperation": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedInstanceTdeCertOperationResults": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedLedgerDigestUploadsAzureAsyncOperation": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedLedgerDigestUploadsOperationResults": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedServerSecurityAlertPoliciesAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedServerSecurityAlertPoliciesOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedShortTermRetentionPolicyAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedShortTermRetentionPolicyOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedtransparentDataEncryptionAzureAsyncOperation": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/managedtransparentDataEncryptionOperationResults": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/notifyAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/outboundFirewallRulesAzureAsyncOperation": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/outboundFirewallRulesOperationResults": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/privateEndpointConnectionAzureAsyncOperation": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/privateEndpointConnectionOperationResults": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/privateEndpointConnectionProxyAzureAsyncOperation": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/privateEndpointConnectionProxyOperationResults": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/refreshExternalGovernanceStatusAzureAsyncOperation": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/refreshExternalGovernanceStatusMIAzureAsyncOperation": [ + "2023-02-01-preview" + ], + "locations/refreshExternalGovernanceStatusMIOperationResults": [ + "2023-02-01-preview" + ], + "locations/refreshExternalGovernanceStatusOperationResults": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/replicationLinksAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/replicationLinksOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/securityAlertPoliciesAzureAsyncOperation": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/securityAlertPoliciesOperationResults": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverAdministratorAzureAsyncOperation": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverAdministratorOperationResults": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverConfigurationOptionAzureAsyncOperation": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverKeyAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverKeyOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverTrustCertificatesAzureAsyncOperation": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverTrustCertificatesOperationResults": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverTrustGroupAzureAsyncOperation": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverTrustGroupOperationResults": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/serverTrustGroups": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/shortTermRetentionPolicyAzureAsyncOperation": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/shortTermRetentionPolicyOperationResults": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/sqlVulnerabilityAssessmentAzureAsyncOperation": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/sqlVulnerabilityAssessmentOperationResults": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/startManagedInstanceAzureAsyncOperation": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/startManagedInstanceOperationResults": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/stopManagedInstanceAzureAsyncOperation": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/stopManagedInstanceOperationResults": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/syncAgentOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/syncDatabaseIds": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/syncGroupAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/syncGroupOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/syncMemberOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/tdeCertAzureAsyncOperation": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/tdeCertOperationResults": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/transparentDataEncryptionAzureAsyncOperation": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/transparentDataEncryptionOperationResults": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/updateManagedInstanceDnsServersAzureAsyncOperation": [ + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/updateManagedInstanceDnsServersOperationResults": [ + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/usages": [ + "2014-04-01-preview", + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/virtualClusterAzureAsyncOperation": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/virtualClusterOperationResults": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/virtualNetworkRulesAzureAsyncOperation": [ + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/virtualNetworkRulesOperationResults": [ + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/vulnerabilityAssessmentScanAzureAsyncOperation": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "locations/vulnerabilityAssessmentScanOperationResults": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/administrators": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/advancedThreatProtectionSettings": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/azureADOnlyAuthentications": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/advancedThreatProtectionSettings": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/backupLongTermRetentionPolicies": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/backupShortTermRetentionPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/ledgerDigestUploads": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/schemas/tables/columns/sensitivityLabels": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/securityAlertPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/transparentDataEncryption": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/vulnerabilityAssessments": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/databases/vulnerabilityAssessments/rules/baselines": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/distributedAvailabilityGroups": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/dnsAliases": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/dtc": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/encryptionProtector": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/keys": [ + "2017-10-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/metricDefinitions": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/metrics": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/privateEndpointConnections": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/recoverableDatabases": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/restorableDroppedDatabases/backupShortTermRetentionPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/securityAlertPolicies": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/serverConfigurationOptions": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/serverTrustCertificates": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/sqlAgent": [ + "2018-06-01", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/startStopSchedules": [ + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/tdeCertificates": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "managedInstances/vulnerabilityAssessments": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "operations": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/administratorOperationResults": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/administrators": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/advancedThreatProtectionSettings": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/advisors": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/aggregatedDatabaseMetrics": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/auditingPolicies": [ + "2014-04-01" + ], + "servers/auditingSettings": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/automaticTuning": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/azureADOnlyAuthentications": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/communicationLinks": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/connectionPolicies": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-01-01", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/advancedThreatProtectionSettings": [ + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/advisors": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/auditingPolicies": [ + "2014-04-01" + ], + "servers/databases/auditingSettings": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/auditRecords": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/automaticTuning": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/backupLongTermRetentionPolicies": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/backupShortTermRetentionPolicies": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/connectionPolicies": [ + "2014-04-01" + ], + "servers/databases/dataMaskingPolicies": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/dataMaskingPolicies/rules": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/extendedAuditingSettings": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/extensions": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/geoBackupPolicies": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/ledgerDigestUploads": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/maintenanceWindows": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/metricDefinitions": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/databases/metrics": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/databases/recommendedSensitivityLabels": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/schemas/tables/columns/sensitivityLabels": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/securityAlertPolicies": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/sqlvulnerabilityassessments": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/sqlVulnerabilityAssessments/baselines": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/sqlVulnerabilityAssessments/baselines/rules": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/syncGroups": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/syncGroups/syncMembers": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/topQueries": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/databases/topQueries/queryText": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/databases/transparentDataEncryption": [ + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/VulnerabilityAssessment": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/vulnerabilityAssessments": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/vulnerabilityAssessments/rules/baselines": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/VulnerabilityAssessmentScans": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/VulnerabilityAssessmentSettings": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/workloadGroups": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databases/workloadGroups/workloadClassifiers": [ + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/databaseSecurityPolicies": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/devOpsAuditingSettings": [ + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/disasterRecoveryConfiguration": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/dnsAliases": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/elasticPoolEstimates": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/elasticPools": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01", + "2015-05-01-preview", + "2015-09-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/elasticPools/advisors": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/elasticpools/metricdefinitions": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/elasticpools/metrics": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/encryptionProtector": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/extendedAuditingSettings": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/failoverGroups": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/failoverGroups/tryPlannedBeforeForcedFailover": [ + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/firewallRules": [ + "2014-04-01", + "2015-05-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/import": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/importExportOperationResults": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/ipv6FirewallRules": [ + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/jobAccounts": [ + "2015-05-01-preview" + ], + "servers/jobAgents": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/jobAgents/credentials": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/jobAgents/jobs": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/jobAgents/jobs/executions": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/jobAgents/jobs/steps": [ + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/jobAgents/targetGroups": [ + "2017-03-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/keys": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/operationResults": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/outboundFirewallRules": [ + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/privateEndpointConnections": [ + "2018-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/recommendedElasticPools": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/recoverableDatabases": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/restorableDroppedDatabases": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/securityAlertPolicies": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/serviceObjectives": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview" + ], + "servers/sqlVulnerabilityAssessments": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/sqlVulnerabilityAssessments/baselines": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/sqlVulnerabilityAssessments/baselines/rules": [ + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/syncAgents": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/tdeCertificates": [ + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/usages": [ + "2014-01-01", + "2014-04-01", + "2014-04-01-preview", + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/virtualNetworkRules": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "servers/vulnerabilityAssessments": [ + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ], + "virtualClusters": [ + "2015-05-01-preview", + "2017-03-01-preview", + "2017-10-01-preview", + "2018-06-01-preview", + "2019-06-01-preview", + "2020-02-02-preview", + "2020-08-01-preview", + "2020-11-01-preview", + "2021-02-01-preview", + "2021-05-01-preview", + "2021-08-01-preview", + "2021-11-01", + "2021-11-01-preview", + "2022-02-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2023-02-01-preview" + ] + }, + "Microsoft.SqlVirtualMachine": { + "Locations": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "Locations/availabilityGroupListenerOperationResults": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "Locations/OperationTypes": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "Locations/registerSqlVmCandidate": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "Locations/sqlVirtualMachineGroupOperationResults": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "Locations/sqlVirtualMachineOperationResults": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "operations": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "sqlVirtualMachineGroups": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "sqlVirtualMachineGroups/availabilityGroupListeners": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ], + "sqlVirtualMachines": [ + "2017-03-01-preview", + "2021-11-01-preview", + "2022-02-01", + "2022-02-01-preview", + "2022-07-01-preview", + "2022-08-01-preview", + "2023-01-01-preview" + ] + }, + "Microsoft.StandbyPool": { + "Locations": [ + "2023-06-01-preview" + ], + "Locations/OperationStatuses": [ + "2023-06-01-preview" + ] + }, + "Microsoft.Storage": { + "checkNameAvailability": [ + "2015-05-01-preview", + "2015-06-15", + "2016-01-01", + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "deletedAccounts": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "locations": [ + "2016-01-01", + "2016-07-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "locations/asyncoperations": [ + "2015-05-01-preview", + "2015-06-15", + "2016-01-01", + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "locations/checkNameAvailability": [ + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "locations/deletedAccounts": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2016-07-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "locations/notifyNetworkSecurityPerimeterUpdatesAvailable": [ + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "locations/usages": [ + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "operations": [ + "2015-05-01-preview", + "2015-06-15", + "2016-01-01", + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts": [ + "2015-05-01-preview", + "2015-06-15", + "2016-01-01", + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/blobServices": [ + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/blobServices/containers": [ + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/blobServices/containers/immutabilityPolicies": [ + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/encryptionScopes": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/fileServices": [ + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/fileServices/shares": [ + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/inventoryPolicies": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/listAccountSas": [ + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/listServiceSas": [ + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/localUsers": [ + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/managementPolicies": [ + "2018-03-01-preview", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/objectReplicationPolicies": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/privateEndpointConnections": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/queueServices": [ + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/queueServices/queues": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/services": [ + "2014-04-01" + ], + "storageAccounts/services/metricDefinitions": [ + "2014-04-01" + ], + "storageAccounts/storageTaskAssignments": [ + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/tableServices": [ + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageAccounts/tableServices/tables": [ + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "storageTasks": [ + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ], + "usages": [ + "2015-05-01-preview", + "2015-06-15", + "2016-01-01", + "2016-05-01", + "2016-12-01", + "2017-06-01", + "2017-10-01", + "2018-02-01", + "2018-03-01-preview", + "2018-07-01", + "2018-11-01", + "2019-04-01", + "2019-06-01", + "2020-08-01-preview", + "2021-01-01", + "2021-02-01", + "2021-04-01", + "2021-05-01", + "2021-06-01", + "2021-08-01", + "2021-09-01", + "2022-05-01", + "2022-09-01", + "2023-01-01" + ] + }, + "Microsoft.Storage.Admin": { + "locations/quotas": [ + "2019-08-08" + ], + "locations/settings": [ + "2019-08-08" + ], + "storageServices": [ + "2019-08-08" + ] + }, + "Microsoft.StorageCache": { + "amlFilesystems": [ + "2021-11-01-preview", + "2023-03-01-preview", + "2023-05-01" + ], + "caches": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2021-10-01-preview", + "2022-01-01", + "2022-05-01", + "2022-09-01-preview", + "2023-01-01", + "2023-03-01-preview", + "2023-05-01" + ], + "caches/storageTargets": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2021-10-01-preview", + "2022-01-01", + "2022-05-01", + "2022-09-01-preview", + "2023-01-01", + "2023-03-01-preview", + "2023-05-01" + ], + "checkAmlFSSubnets": [ + "2021-11-01-preview", + "2023-03-01-preview", + "2023-05-01" + ], + "getRequiredAmlFSSubnetsSize": [ + "2021-11-01-preview", + "2023-03-01-preview", + "2023-05-01" + ], + "locations": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2021-10-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-05-01", + "2022-09-01-preview", + "2023-01-01", + "2023-03-01-preview", + "2023-05-01" + ], + "locations/ascoperations": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2021-10-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-05-01", + "2022-09-01-preview", + "2023-01-01", + "2023-03-01-preview", + "2023-05-01" + ], + "locations/usages": [ + "2022-01-01", + "2022-05-01", + "2022-09-01-preview", + "2023-01-01", + "2023-03-01-preview", + "2023-05-01" + ], + "operations": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2021-10-01-preview", + "2021-11-01-preview", + "2022-01-01", + "2022-05-01", + "2022-09-01-preview", + "2023-01-01", + "2023-03-01-preview", + "2023-05-01" + ], + "usageModels": [ + "2019-08-01-preview", + "2019-11-01", + "2020-03-01", + "2020-10-01", + "2021-03-01", + "2021-05-01", + "2021-09-01", + "2021-10-01-preview", + "2022-01-01", + "2022-05-01", + "2022-09-01-preview", + "2023-01-01", + "2023-03-01-preview", + "2023-05-01" + ] + }, + "Microsoft.StorageMover": { + "locations": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "locations/operationStatuses": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "operations": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "storageMovers": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "storageMovers/agents": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "storageMovers/endpoints": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "storageMovers/projects": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "storageMovers/projects/jobDefinitions": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ], + "storageMovers/projects/jobDefinitions/jobRuns": [ + "2022-07-01-preview", + "2023-03-01", + "2023-07-01-preview" + ] + }, + "Microsoft.StoragePool": { + "diskPools": [ + "2020-03-15-preview", + "2021-04-01-preview", + "2021-08-01" + ], + "diskPools/iscsiTargets": [ + "2020-03-15-preview", + "2021-04-01-preview", + "2021-08-01" + ] + }, + "Microsoft.StorageSync": { + "locations": [ + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "locations/checkNameAvailability": [ + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "locations/operationResults": [ + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "locations/operations": [ + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "locations/workflows": [ + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "operations": [ + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/privateEndpointConnections": [ + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/registeredServers": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/syncGroups": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/syncGroups/cloudEndpoints": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/syncGroups/serverEndpoints": [ + "2017-06-05-preview", + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ], + "storageSyncServices/workflows": [ + "2018-04-02", + "2018-07-01", + "2018-10-01", + "2019-02-01", + "2019-03-01", + "2019-06-01", + "2019-10-01", + "2020-03-01", + "2020-09-01", + "2022-06-01" + ] + }, + "Microsoft.StorageTasks": { + "locations": [ + "2023-01-01" + ], + "storageTasks": [ + "2023-01-01" + ] + }, + "Microsoft.StorSimple": { + "managers": [ + "2016-10-01", + "2017-06-01" + ], + "managers/accessControlRecords": [ + "2016-10-01", + "2017-06-01" + ], + "managers/bandwidthSettings": [ + "2017-06-01" + ], + "managers/certificates": [ + "2016-10-01" + ], + "managers/devices/alertSettings": [ + "2016-10-01", + "2017-06-01" + ], + "managers/devices/backupPolicies": [ + "2017-06-01" + ], + "managers/devices/backupPolicies/schedules": [ + "2017-06-01" + ], + "managers/devices/backupScheduleGroups": [ + "2016-10-01" + ], + "managers/devices/chapSettings": [ + "2016-10-01" + ], + "managers/devices/fileservers": [ + "2016-10-01" + ], + "managers/devices/fileservers/shares": [ + "2016-10-01" + ], + "managers/devices/iscsiservers": [ + "2016-10-01" + ], + "managers/devices/iscsiservers/disks": [ + "2016-10-01" + ], + "managers/devices/timeSettings": [ + "2017-06-01" + ], + "managers/devices/volumeContainers": [ + "2017-06-01" + ], + "managers/devices/volumeContainers/volumes": [ + "2017-06-01" + ], + "managers/extendedInformation": [ + "2016-10-01", + "2017-06-01" + ], + "managers/storageAccountCredentials": [ + "2016-10-01", + "2017-06-01" + ], + "managers/storageDomains": [ + "2016-10-01" + ] + }, + "Microsoft.StreamAnalytics": { + "clusters": [ + "2020-03-01", + "2020-03-01-preview" + ], + "clusters/privateEndpoints": [ + "2020-03-01", + "2020-03-01-preview" + ], + "locations": [ + "2015-03-01-preview", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-08-01-preview", + "2015-09-01", + "2015-10-01", + "2015-11-01", + "2016-03-01", + "2017-04-01-preview", + "2018-11-01", + "2019-06-01", + "2020-03-01", + "2021-10-01-preview" + ], + "locations/compileQuery": [ + "2017-04-01-preview", + "2021-10-01-preview" + ], + "locations/operationResults": [ + "2017-04-01-preview", + "2021-10-01-preview" + ], + "locations/quotas": [ + "2015-03-01-preview", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-08-01-preview", + "2015-09-01", + "2015-10-01", + "2015-11-01", + "2016-03-01", + "2017-04-01-preview", + "2018-11-01", + "2019-06-01", + "2020-03-01", + "2021-10-01-preview" + ], + "locations/sampleInput": [ + "2017-04-01-preview", + "2021-10-01-preview" + ], + "locations/testInput": [ + "2017-04-01-preview", + "2021-10-01-preview" + ], + "locations/testOutput": [ + "2017-04-01-preview", + "2021-10-01-preview" + ], + "locations/testQuery": [ + "2017-04-01-preview", + "2021-10-01-preview" + ], + "operations": [ + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-08-01-preview", + "2015-09-01", + "2015-10-01", + "2015-11-01", + "2016-03-01", + "2017-04-01-preview", + "2018-11-01", + "2019-06-01", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs": [ + "2015-03-01-preview", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-08-01-preview", + "2015-09-01", + "2015-10-01", + "2015-11-01", + "2016-03-01", + "2017-04-01-preview", + "2018-11-01", + "2019-06-01", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/functions": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/inputs": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/outputs": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ], + "streamingjobs/transformations": [ + "2016-03-01", + "2017-04-01-preview", + "2020-03-01", + "2021-10-01-preview" + ] + }, + "Microsoft.Subscription": { + "acceptChangeTenant": [ + "2019-10-01-preview", + "2021-01-01-privatepreview" + ], + "acceptOwnership": [ + "2021-01-01-privatepreview", + "2021-10-01" + ], + "acceptOwnershipStatus": [ + "2021-01-01-privatepreview", + "2021-10-01" + ], + "aliases": [ + "2019-10-01-preview", + "2020-09-01", + "2021-01-01-privatepreview", + "2021-10-01" + ], + "cancel": [ + "2019-03-01-preview", + "2019-10-01-preview", + "2020-09-01", + "2021-10-01" + ], + "changeTenantRequest": [ + "2019-10-01-preview", + "2021-01-01-privatepreview" + ], + "changeTenantStatus": [ + "2019-10-01-preview", + "2021-01-01-privatepreview" + ], + "CreateSubscription": [ + "2018-03-01-preview", + "2018-11-01-preview", + "2019-10-01-preview" + ], + "enable": [ + "2019-03-01-preview", + "2019-10-01-preview", + "2020-09-01", + "2021-10-01" + ], + "operationResults": [ + "2019-10-01-preview" + ], + "operations": [ + "2017-11-01-preview", + "2021-10-01" + ], + "policies": [ + "2021-01-01-privatepreview", + "2021-10-01" + ], + "rename": [ + "2019-03-01-preview", + "2019-10-01-preview", + "2020-09-01", + "2021-10-01" + ], + "subscriptionDefinitions": [ + "2017-11-01-preview" + ], + "SubscriptionOperations": [ + "2017-11-01-preview", + "2018-03-01-preview", + "2018-11-01-preview", + "2019-10-01-preview", + "2021-01-01-privatepreview", + "2021-10-01" + ], + "subscriptions": [ + "2019-10-01-preview", + "2021-01-01-privatepreview", + "2021-10-01" + ], + "validateCancel": [ + "2021-01-01-privatepreview" + ] + }, + "Microsoft.Subscriptions.Admin": { + "directoryTenants": [ + "2015-11-01" + ], + "locations": [ + "2015-11-01" + ], + "offers": [ + "2015-11-01" + ], + "offers/offerDelegations": [ + "2015-11-01" + ], + "plans": [ + "2015-11-01" + ], + "subscriptions": [ + "2015-11-01" + ], + "subscriptions/acquiredPlans": [ + "2015-11-01" + ] + }, + "Microsoft.Support": { + "checkNameAvailability": [ + "2019-05-01-preview", + "2020-04-01", + "2022-09-01-preview" + ], + "fileWorkspaces": [ + "2022-09-01-preview" + ], + "lookUpResourceId": [ + "2021-06-01-preview", + "2022-09-01-preview" + ], + "operationresults": [ + "2019-05-01-preview", + "2020-04-01", + "2022-09-01-preview" + ], + "operations": [ + "2015-03-01", + "2015-07-01-Preview", + "2019-05-01-preview", + "2020-04-01", + "2021-06-01-preview", + "2022-09-01-preview" + ], + "operationsstatus": [ + "2019-05-01-preview", + "2020-04-01", + "2022-09-01-preview" + ], + "services": [ + "2019-05-01-preview", + "2020-04-01", + "2022-09-01-preview" + ], + "services/problemclassifications": [ + "2019-05-01-preview", + "2020-04-01", + "2022-09-01-preview" + ], + "supportTickets": [ + "2019-05-01-preview", + "2020-04-01", + "2022-09-01-preview" + ], + "supportTickets/communications": [ + "2019-05-01-preview", + "2020-04-01", + "2022-09-01-preview" + ] + }, + "Microsoft.Synapse": { + "checkNameAvailability": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "kustoOperations": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "locations": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "locations/kustoPoolCheckNameAvailability": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "locations/kustoPoolOperationResults": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "locations/operationResults": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "locations/operationStatuses": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "locations/sqlDatabaseAzureAsyncOperation": [ + "2020-04-01-preview" + ], + "locations/sqlDatabaseOperationResults": [ + "2020-04-01-preview" + ], + "locations/sqlPoolAzureAsyncOperation": [ + "2020-04-01-preview" + ], + "locations/sqlPoolOperationResults": [ + "2020-04-01-preview" + ], + "locations/usages": [ + "2023-05-01" + ], + "operations": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "privateLinkHubs": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "workspaces": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "workspaces/administrators": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/auditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/azureADOnlyAuthentications": [ + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/bigDataPools": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "workspaces/dedicatedSQLminimalTlsSettings": [ + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/encryptionProtector": [ + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/extendedAuditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/firewallRules": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/integrationRuntimes": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/keys": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/kustoPools": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/attachedDatabaseConfigurations": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/databases": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/databases/dataConnections": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/databases/principalAssignments": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/kustoPools/principalAssignments": [ + "2021-04-01-preview", + "2021-06-01-preview" + ], + "workspaces/managedIdentitySqlControlSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/operationResults": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "workspaces/operationStatuses": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "workspaces/privateEndpointConnections": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/securityAlertPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlAdministrators": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlDatabases": [ + "2020-04-01-preview" + ], + "workspaces/sqlPools": [ + "2019-06-01-preview", + "2020-04-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview", + "2023-05-01" + ], + "workspaces/sqlPools/auditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/dataMaskingPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/dataMaskingPolicies/rules": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/extendedAuditingSettings": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/geoBackupPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/maintenancewindows": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/metadataSync": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/schemas/tables/columns/sensitivityLabels": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/securityAlertPolicies": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/transparentDataEncryption": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/vulnerabilityAssessments": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/vulnerabilityAssessments/rules/baselines": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/workloadGroups": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/sqlPools/workloadGroups/workloadClassifiers": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ], + "workspaces/trustedServiceByPassConfiguration": [ + "2021-06-01-preview" + ], + "workspaces/usages": [ + "2023-05-01" + ], + "workspaces/vulnerabilityAssessments": [ + "2019-06-01-preview", + "2020-12-01", + "2021-03-01", + "2021-04-01-preview", + "2021-05-01", + "2021-06-01", + "2021-06-01-preview" + ] + }, + "Microsoft.Syntex": { + "documentProcessors": [ + "2022-09-15-preview" + ], + "Locations": [ + "2022-09-15-preview" + ], + "Locations/OperationStatuses": [ + "2022-09-15-preview" + ], + "operations": [ + "2021-10-20-preview", + "2022-06-15-preview", + "2022-09-15-preview", + "2023-01-04-preview" + ] + }, + "Microsoft.TestBase": { + "locations": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-09-15-preview", + "2022-11-01-preview", + "2022-11-15-preview", + "2022-12-01-preview", + "2022-12-15-preview", + "2023-01-01-preview", + "2023-01-15-preview", + "2023-05-15-preview", + "2023-06-01-preview" + ], + "locations/operationstatuses": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-09-15-preview", + "2022-11-01-preview", + "2022-11-15-preview", + "2022-12-01-preview", + "2022-12-15-preview", + "2023-01-01-preview", + "2023-01-15-preview", + "2023-05-15-preview", + "2023-06-01-preview" + ], + "operations": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-09-15-preview", + "2022-11-01-preview", + "2022-11-15-preview", + "2022-12-01-preview", + "2022-12-15-preview", + "2023-01-01-preview", + "2023-01-15-preview", + "2023-05-15-preview", + "2023-06-01-preview" + ], + "skus": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-05-01-preview", + "2022-08-01-preview", + "2022-09-15-preview", + "2022-11-01-preview", + "2022-11-15-preview", + "2022-12-01-preview", + "2022-12-15-preview", + "2023-01-01-preview", + "2023-01-15-preview", + "2023-05-15-preview", + "2023-06-01-preview" + ], + "testBaseAccounts": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/actionRequests": [ + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/availableInplaceUpgradeOSs": [ + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/availableOSs": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/customerEvents": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/draftPackages": [ + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/emailEvents": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/featureUpdateSupportedOses": [ + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/firstPartyApps": [ + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/flightingRings": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/galleryApps": [ + "2023-06-01-preview" + ], + "testBaseAccounts/galleryApps/galleryAppSkus": [ + "2023-06-01-preview" + ], + "testBaseAccounts/packages": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/packages/favoriteProcesses": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/packages/osUpdates": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/packages/testResults": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/packages/testResults/analysisResults": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/testSummaries": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/testTypes": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ], + "testBaseAccounts/usages": [ + "2020-12-16-preview", + "2021-09-01", + "2021-12-01", + "2022-03-01-preview", + "2022-04-01-preview", + "2022-08-01-preview", + "2022-11-01-preview", + "2022-12-01-preview", + "2023-01-01-preview", + "2023-06-01-preview" + ] + }, + "Microsoft.TimeSeriesInsights": { + "environments": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ], + "environments/accessPolicies": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ], + "environments/eventSources": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ], + "environments/privateEndpointConnectionProxies": [ + "2020-05-15", + "2021-03-31-preview" + ], + "environments/privateEndpointConnections": [ + "2020-05-15", + "2021-03-31-preview" + ], + "environments/privateLinkResources": [ + "2020-05-15", + "2021-03-31-preview" + ], + "environments/referenceDataSets": [ + "2017-02-28-preview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-06-30-preview" + ], + "operations": [ + "2017-02-28-preview", + "2017-05-31-privatepreview", + "2017-11-15", + "2018-08-15-preview", + "2020-05-15", + "2021-03-31-preview", + "2021-08-15-privatepreview" + ] + }, + "Microsoft.UsageBilling": { + "operations": [ + "2021-05-01-preview", + "2022-09-01-preview", + "2022-12-01-preview", + "2023-02-01-preview", + "2023-04-01-preview" + ] + }, + "Microsoft.VideoIndexer": { + "accounts": [ + "2021-10-18-preview", + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01" + ], + "checknameavailability": [ + "2021-10-18-preview", + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01", + "2023-06-02-preview", + "2023-08-01-preview" + ], + "locations": [ + "2021-10-18-preview", + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01", + "2023-06-02-preview", + "2023-08-01-preview" + ], + "locations/classicaccounts": [ + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01" + ], + "locations/operationstatuses": [ + "2021-10-18-preview", + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01", + "2023-06-02-preview", + "2023-08-01-preview" + ], + "locations/userclassicaccounts": [ + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01" + ], + "operations": [ + "2021-10-18-preview", + "2021-10-27-preview", + "2021-11-10-preview", + "2022-04-13-preview", + "2022-07-20-preview", + "2022-08-01", + "2023-06-02-preview", + "2023-08-01-preview" + ] + }, + "Microsoft.VirtualMachineImages": { + "imageTemplates": [ + "2018-02-01-preview", + "2019-02-01-preview", + "2019-05-01-preview", + "2020-02-14", + "2021-10-01", + "2022-02-14", + "2022-07-01" + ], + "imageTemplates/runOutputs": [ + "2019-05-01-preview", + "2020-02-14", + "2021-10-01", + "2022-02-14", + "2022-07-01" + ], + "imageTemplates/triggers": [ + "2022-07-01" + ], + "locations": [ + "2019-05-01-preview", + "2020-02-14", + "2021-10-01", + "2022-02-14", + "2022-07-01" + ], + "locations/operations": [ + "2019-05-01-preview", + "2020-02-14", + "2021-10-01", + "2022-02-14", + "2022-07-01" + ], + "operations": [ + "2019-05-01-preview", + "2020-02-14", + "2021-10-01", + "2022-02-14", + "2022-07-01" + ] + }, + "microsoft.visualstudio": { + "account": [ + "2014-02-26", + "2014-04-01-preview", + "2017-11-01-preview" + ], + "account/extension": [ + "2014-02-26", + "2014-04-01-preview", + "2017-11-01-preview" + ], + "account/project": [ + "2014-02-26", + "2014-04-01-preview", + "2017-11-01-preview", + "2018-08-01-preview" + ], + "checkNameAvailability": [ + "2014-04-01-preview" + ], + "operations": [ + "2014-02-26", + "2014-04-01-preview" + ] + }, + "Microsoft.VMware": { + "Locations": [ + "2019-12-20-privatepreview", + "2020-10-01-preview" + ], + "Locations/OperationStatuses": [ + "2019-12-20-privatepreview", + "2020-10-01-preview" + ], + "Operations": [ + "2019-12-20-privatepreview", + "2020-10-01-preview" + ], + "VCenters/InventoryItems": [ + "2020-10-01-preview" + ] + }, + "Microsoft.VMwareCloudSimple": { + "dedicatedCloudNodes": [ + "2019-04-01" + ], + "dedicatedCloudServices": [ + "2019-04-01" + ], + "virtualMachines": [ + "2019-04-01" + ] + }, + "Microsoft.VoiceServices": { + "communicationsGateways": [ + "2022-12-01-preview", + "2023-01-31", + "2023-04-03" + ], + "communicationsGateways/contacts": [ + "2022-12-01-preview" + ], + "communicationsGateways/testLines": [ + "2022-12-01-preview", + "2023-01-31", + "2023-04-03" + ], + "locations": [ + "2022-12-01-preview", + "2023-01-31", + "2023-04-03", + "2023-07-13-preview" + ], + "locations/checkNameAvailability": [ + "2022-12-01-preview", + "2023-01-31", + "2023-04-03", + "2023-07-13-preview" + ], + "Operations": [ + "2022-12-01-preview", + "2023-01-31", + "2023-04-03", + "2023-07-13-preview" + ] + }, + "Microsoft.VSOnline": { + "accounts": [ + "2019-07-01-alpha", + "2019-07-01-beta", + "2019-07-01-preview" + ], + "operations": [ + "2019-07-01-alpha", + "2019-07-01-beta", + "2019-07-01-preview", + "2019-07-01-privatepreview", + "2020-05-26-alpha", + "2020-05-26-beta", + "2020-05-26-preview", + "2020-05-26-privatepreview" + ], + "plans": [ + "2019-07-01-alpha", + "2019-07-01-beta", + "2019-07-01-preview", + "2020-05-26-alpha", + "2020-05-26-beta", + "2020-05-26-preview" + ], + "registeredSubscriptions": [ + "2019-07-01-alpha", + "2019-07-01-beta", + "2019-07-01-preview", + "2019-07-01-privatepreview", + "2020-05-26-alpha", + "2020-05-26-beta", + "2020-05-26-preview", + "2020-05-26-privatepreview" + ] + }, + "Microsoft.Web": { + "availableStacks": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "billingMeters": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-08-01-preview", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "certificates": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-08-01-preview", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "checkNameAvailability": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-08-01-preview", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "connectionGateways": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview" + ], + "connections": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview", + "2018-07-01-preview" + ], + "containerApps": [ + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "csrs": [ + "2015-08-01" + ], + "customApis": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview", + "2018-07-01-preview" + ], + "customhostnameSites": [ + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "deletedSites": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "deploymentLocations": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "freeTrialStaticWebApps": [ + "2022-09-01" + ], + "functionAppStacks": [ + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "generateGithubAccessTokenForAppserviceCLI": [ + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "georegions": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "hostingEnvironments": [ + "2014-04-01", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-05-01-preview", + "2018-08-01", + "2018-11-01", + "2019-01-01", + "2019-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "hostingEnvironments/configurations": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "hostingEnvironments/eventGridFilters": [ + "2014-04-01", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-05-01-preview", + "2018-08-01", + "2018-11-01", + "2019-01-01", + "2019-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "hostingEnvironments/multiRolePools": [ + "2014-04-01", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-08-01", + "2018-11-01", + "2019-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "hostingEnvironments/privateEndpointConnections": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "hostingEnvironments/workerPools": [ + "2014-04-01", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-08-01", + "2018-11-01", + "2019-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "ishostingenvironmentnameavailable": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "ishostnameavailable": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "isusernameavailable": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "kubeEnvironments": [ + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "listSitesAssignedToHostName": [ + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview", + "2018-07-01-preview" + ], + "locations/apiOperations": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview", + "2018-07-01-preview", + "2022-09-01-preview" + ], + "locations/connectionGatewayInstallations": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview" + ], + "locations/deletedSites": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/deleteVirtualNetworkOrSubnets": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-08-01-preview", + "2016-03-01", + "2016-08-01", + "2016-11-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/extractApiDefinitionFromWsdl": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview" + ], + "locations/functionAppStacks": [ + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/getNetworkPolicies": [ + "2016-08-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/listWsdlInterfaces": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview" + ], + "locations/managedApis": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview", + "2018-07-01-preview", + "2022-09-01-preview" + ], + "locations/operationResults": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-01-01", + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/operations": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-01-01", + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/previewStaticSiteWorkflowFile": [ + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/runtimes": [ + "2015-08-01-preview", + "2016-06-01", + "2018-03-01-preview" + ], + "locations/validateDeleteVirtualNetworkOrSubnets": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-08-01-preview", + "2016-03-01", + "2016-08-01", + "2016-11-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "locations/webAppStacks": [ + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "managedHostingEnvironments": [ + "2015-08-01" + ], + "operations": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "publishingCredentials": [ + "2015-08-01" + ], + "publishingUsers": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "recommendations": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "resourceHealthMetadata": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "runtimes": [ + "2014-04-01", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "serverfarms": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "serverFarms/eventGridFilters": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "serverFarms/firstPartyApps": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "serverFarms/firstPartyApps/keyVaultSettings": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "serverfarms/virtualNetworkConnections/gateways": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "serverfarms/virtualNetworkConnections/routes": [ + "2015-08-01", + "2016-09-01", + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-01-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-08-01-preview", + "2015-11-01", + "2016-03-01", + "2016-08-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/backups": [ + "2015-08-01", + "2016-08-01" + ], + "sites/basicPublishingCredentialsPolicies": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/config": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/deployments": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/domainOwnershipIdentifiers": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/eventGridFilters": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-01-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-08-01-preview", + "2015-11-01", + "2016-03-01", + "2016-08-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/functions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/functions/keys": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/host/{keyType}": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/hostNameBindings": [ + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/hybridconnection": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/hybridConnectionNamespaces/relays": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/instances/deployments": [ + "2015-08-01" + ], + "sites/instances/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/migrate": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/networkConfig": [ + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/premieraddons": [ + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/privateAccess": [ + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/privateEndpointConnections": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/publicCertificates": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/siteextensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-01-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-11-01", + "2016-03-01", + "2016-08-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/backups": [ + "2015-08-01", + "2016-08-01" + ], + "sites/slots/basicPublishingCredentialsPolicies": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/config": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/deployments": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/domainOwnershipIdentifiers": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/eventGridFilters": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-01-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2015-11-01", + "2016-03-01", + "2016-08-01", + "2016-09-01", + "2017-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/functions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/functions/keys": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/host/{keyType}": [ + "2018-02-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/hostNameBindings": [ + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/hybridconnection": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/hybridConnectionNamespaces/relays": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/instances/deployments": [ + "2015-08-01" + ], + "sites/slots/instances/extensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/networkConfig": [ + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/premieraddons": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/privateAccess": [ + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/privateEndpointConnections": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/publicCertificates": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/siteextensions": [ + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/snapshots": [ + "2015-08-01" + ], + "sites/slots/sourcecontrols": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/virtualNetworkConnections": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/slots/virtualNetworkConnections/gateways": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/snapshots": [ + "2015-08-01" + ], + "sites/sourcecontrols": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/virtualNetworkConnections": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sites/virtualNetworkConnections/gateways": [ + "2015-08-01", + "2016-08-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "sourcecontrols": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites": [ + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/basicAuth": [ + "2022-09-01" + ], + "staticSites/builds": [ + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/builds/config": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/builds/databaseConnections": [ + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/builds/linkedBackends": [ + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/builds/userProvidedFunctionApps": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/config": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/customDomains": [ + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/databaseConnections": [ + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/linkedBackends": [ + "2019-08-01", + "2019-12-01-preview", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/privateEndpointConnections": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "staticSites/userProvidedFunctionApps": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "validate": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "verifyHostingEnvironmentVnet": [ + "2014-04-01", + "2014-04-01-preview", + "2014-06-01", + "2014-11-01", + "2015-02-01", + "2015-04-01", + "2015-05-01", + "2015-06-01", + "2015-07-01", + "2015-08-01", + "2016-03-01", + "2018-02-01", + "2018-11-01", + "2019-08-01", + "2020-06-01", + "2020-09-01", + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "webAppStacks": [ + "2020-10-01", + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01", + "2021-03-01", + "2022-03-01", + "2022-09-01" + ], + "workerApps": [ + "2020-12-01", + "2021-01-01", + "2021-01-15", + "2021-02-01" + ] + }, + "Microsoft.WindowsESU": { + "Locations": [ + "2019-09-16-preview" + ], + "Locations/OperationStatuses": [ + "2019-10-01" + ], + "multipleActivationKeys": [ + "2019-09-16-preview" + ], + "Operations": [ + "2019-09-16-preview" + ] + }, + "Microsoft.WindowsIoT": { + "deviceServices": [ + "2018-02-16-preview", + "2019-06-01" + ], + "operations": [ + "2018-02-16-preview", + "2019-06-01" + ] + }, + "Microsoft.WindowsPushNotificationServices": { + "checkNameAvailability": [ + "2022-09-12-preview" + ] + }, + "Microsoft.WorkloadBuilder": { + "Locations": [ + "2020-07-01-privatepreview", + "2021-03-01-privatepreview" + ], + "Locations/OperationStatuses": [ + "2020-07-01-privatepreview", + "2021-03-01-privatepreview" + ], + "Operations": [ + "2020-07-01-privatepreview", + "2021-03-01-privatepreview" + ] + }, + "Microsoft.WorkloadMonitor": { + "notificationSettings": [ + "2018-08-31-preview" + ] + }, + "Microsoft.Workloads": { + "Locations": [ + "2021-12-01-preview", + "2022-10-15-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-10-01-preview" + ], + "Locations/OperationStatuses": [ + "2021-12-01-preview", + "2022-10-15-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-10-01-preview" + ], + "Locations/sapVirtualInstanceMetadata": [ + "2021-12-01-preview", + "2022-11-01-preview", + "2023-04-01" + ], + "monitors": [ + "2021-12-01-preview", + "2022-11-01-preview", + "2023-04-01" + ], + "monitors/providerInstances": [ + "2021-12-01-preview", + "2022-11-01-preview", + "2023-04-01" + ], + "monitors/sapLandscapeMonitor": [ + "2022-11-01-preview", + "2023-04-01" + ], + "Operations": [ + "2021-12-01-preview", + "2022-10-15-preview", + "2022-11-01-preview", + "2023-04-01", + "2023-10-01-preview" + ], + "phpWorkloads": [ + "2021-12-01-preview" + ], + "phpWorkloads/wordpressInstances": [ + "2021-12-01-preview" + ], + "sapVirtualInstances": [ + "2021-12-01-preview", + "2022-11-01-preview", + "2023-04-01" + ], + "sapVirtualInstances/applicationInstances": [ + "2021-12-01-preview", + "2022-11-01-preview", + "2023-04-01" + ], + "sapVirtualInstances/centralInstances": [ + "2021-12-01-preview", + "2022-11-01-preview", + "2023-04-01" + ], + "sapVirtualInstances/databaseInstances": [ + "2021-12-01-preview", + "2022-11-01-preview", + "2023-04-01" + ] + }, + "NewRelic.Observability": { + "accounts": [ + "2022-07-01", + "2022-07-01-preview" + ], + "checkNameAvailability": [ + "2022-07-01", + "2022-07-01-preview" + ], + "locations": [ + "2022-07-01", + "2022-07-01-preview" + ], + "locations/operationStatuses": [ + "2022-07-01", + "2022-07-01-preview" + ], + "monitors": [ + "2022-07-01", + "2022-07-01-preview" + ], + "monitors/tagRules": [ + "2022-07-01", + "2022-07-01-preview" + ], + "operations": [ + "2022-07-01", + "2022-07-01-preview" + ], + "organizations": [ + "2022-07-01", + "2022-07-01-preview" + ], + "plans": [ + "2022-07-01", + "2022-07-01-preview" + ], + "registeredSubscriptions": [ + "2022-07-01", + "2022-07-01-preview" + ] + }, + "NGINX.NGINXPLUS": { + "locations": [ + "2021-05-01-preview", + "2022-08-01", + "2022-11-01-preview", + "2023-04-01" + ], + "locations/operationStatuses": [ + "2021-05-01-preview", + "2022-08-01", + "2022-11-01-preview", + "2023-04-01" + ], + "nginxDeployments": [ + "2021-05-01-preview", + "2022-08-01", + "2022-11-01-preview", + "2023-04-01" + ], + "nginxDeployments/certificates": [ + "2021-05-01-preview", + "2022-08-01", + "2022-11-01-preview", + "2023-04-01" + ], + "nginxDeployments/configurations": [ + "2021-05-01-preview", + "2022-08-01", + "2022-11-01-preview", + "2023-04-01" + ], + "operations": [ + "2021-05-01-preview", + "2022-08-01", + "2022-11-01-preview", + "2023-04-01" + ] + }, + "PaloAltoNetworks.Cloudngfw": { + "checkNameAvailability": [ + "2022-08-29", + "2022-08-29-preview" + ], + "firewalls": [ + "2022-08-29", + "2022-08-29-preview" + ], + "firewalls/statuses": [ + "2022-08-29", + "2022-08-29-preview" + ], + "globalRulestacks": [ + "2022-08-29", + "2022-08-29-preview" + ], + "globalRulestacks/certificates": [ + "2022-08-29", + "2022-08-29-preview" + ], + "globalRulestacks/fqdnlists": [ + "2022-08-29", + "2022-08-29-preview" + ], + "globalRulestacks/postRules": [ + "2022-08-29", + "2022-08-29-preview" + ], + "globalRulestacks/prefixlists": [ + "2022-08-29", + "2022-08-29-preview" + ], + "globalRulestacks/preRules": [ + "2022-08-29", + "2022-08-29-preview" + ], + "localRulestacks": [ + "2022-08-29", + "2022-08-29-preview" + ], + "localRulestacks/certificates": [ + "2022-08-29", + "2022-08-29-preview" + ], + "localRulestacks/fqdnlists": [ + "2022-08-29", + "2022-08-29-preview" + ], + "localRulestacks/localRules": [ + "2022-08-29", + "2022-08-29-preview" + ], + "localRulestacks/prefixlists": [ + "2022-08-29", + "2022-08-29-preview" + ], + "locations": [ + "2022-08-29", + "2022-08-29-preview" + ], + "Locations/operationStatuses": [ + "2022-08-29", + "2022-08-29-preview" + ], + "operations": [ + "2022-08-29", + "2022-08-29-preview" + ], + "registeredSubscriptions": [ + "2022-08-29", + "2022-08-29-preview" + ] + }, + "Qumulo.Storage": { + "checkNameAvailability": [ + "2022-06-27-preview", + "2022-10-12", + "2022-10-12-preview" + ], + "fileSystems": [ + "2022-06-27-preview", + "2022-10-12", + "2022-10-12-preview" + ], + "locations": [ + "2022-06-27-preview", + "2022-10-12", + "2022-10-12-preview" + ], + "locations/operationStatuses": [ + "2022-06-27-preview", + "2022-10-12", + "2022-10-12-preview" + ], + "operations": [ + "2022-06-27-preview", + "2022-10-12", + "2022-10-12-preview" + ], + "registeredSubscriptions": [ + "2022-06-27-preview", + "2022-10-12", + "2022-10-12-preview" + ] + }, + "SolarWinds.Observability": { + "checkNameAvailability": [ + "2023-01-01-preview" + ], + "locations": [ + "2023-01-01-preview" + ], + "locations/operationStatuses": [ + "2023-01-01-preview" + ], + "operations": [ + "2023-01-01-preview" + ], + "registeredSubscriptions": [ + "2023-01-01-preview" + ] + }, + "Wandisco.Fusion": { + "Locations": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "Locations/operationStatuses": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/dataTransferAgents": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/exclusionTemplates": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/liveDataMigrations": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/metadataMigrations": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/metadataTargets": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/pathMappings": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/targets": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "migrators/verifications": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "Operations": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ], + "registeredSubscriptions": [ + "2022-01-01-preview", + "2022-10-01-preview", + "2023-02-01-preview" + ] + } } From a75fa6898769021bd992af1d9e15ebb8824d021f Mon Sep 17 00:00:00 2001 From: Kris Baranek Date: Tue, 29 Aug 2023 18:35:11 +0200 Subject: [PATCH 130/130] Set-ModuleReadMe: handling empty test files (repeating after main merge) --- utilities/tools/Set-ModuleReadMe.ps1 | 583 ++++++++++++++------------- 1 file changed, 295 insertions(+), 288 deletions(-) diff --git a/utilities/tools/Set-ModuleReadMe.ps1 b/utilities/tools/Set-ModuleReadMe.ps1 index 9f55b4cca6..ad04149f84 100644 --- a/utilities/tools/Set-ModuleReadMe.ps1 +++ b/utilities/tools/Set-ModuleReadMe.ps1 @@ -975,331 +975,338 @@ function Set-DeploymentExamplesSection { '

Example {0}: {1}

' -f $pathIndex, $exampleTitle ) - ## ----------------------------------- ## - ## Handle by type (Bicep vs. JSON) ## - ## ----------------------------------- ## - if ((Split-Path $testFilePath -Extension) -eq '.bicep') { - - # ------------------------- # - # Prepare Bicep to JSON # - # ------------------------- # - - # [1/6] Search for the relevant parameter start & end index - $bicepTestStartIndex = ($rawContentArray | Select-String ("^module testDeployment '..\/.*main.bicep' = {$") | ForEach-Object { $_.LineNumber - 1 })[0] - - $bicepTestEndIndex = $bicepTestStartIndex - do { - $bicepTestEndIndex++ - } while ($rawContentArray[$bicepTestEndIndex] -ne '}') - - $rawBicepExample = $rawContentArray[$bicepTestStartIndex..$bicepTestEndIndex] - - # [2/6] Replace placeholders - $serviceShort = ([regex]::Match($rawContent, "(?m)^param serviceShort string = '(.+)'\s*$")).Captures.Groups[1].Value - - $rawBicepExampleString = ($rawBicepExample | Out-String) - $rawBicepExampleString = $rawBicepExampleString -replace '\$\{serviceShort\}', $serviceShort - $rawBicepExampleString = $rawBicepExampleString -replace '\$\{namePrefix\}[-|\.|_]?', '' # Replacing with empty to not expose prefix and avoid potential deployment conflicts - $rawBicepExampleString = $rawBicepExampleString -replace '(?m):\s*location\s*$', ': ''''' - - # [3/6] Format header, remove scope property & any empty line - $rawBicepExample = $rawBicepExampleString -split '\n' - $rawBicepExample[0] = "module $moduleNameCamelCase './$fullModuleIdentifier/main.bicep' = {" - $rawBicepExample = $rawBicepExample | Where-Object { $_ -notmatch 'scope: *' } | Where-Object { -not [String]::IsNullOrEmpty($_) } - - # [4/6] Extract param block - $rawBicepExampleArray = $rawBicepExample -split '\n' - $moduleDeploymentPropertyIndent = ([regex]::Match($rawBicepExampleArray[1], '^(\s+).*')).Captures.Groups[1].Value.Length - $paramsStartIndex = ($rawBicepExampleArray | Select-String ("^[\s]{$moduleDeploymentPropertyIndent}params:[\s]*\{") | ForEach-Object { $_.LineNumber - 1 })[0] + 1 - if ($rawBicepExampleArray[$paramsStartIndex].Trim() -ne '}') { - # Handle case where param block is empty - $paramsEndIndex = ($rawBicepExampleArray[($paramsStartIndex + 1)..($rawBicepExampleArray.Count)] | Select-String "^[\s]{$moduleDeploymentPropertyIndent}\}" | ForEach-Object { $_.LineNumber - 1 })[0] + $paramsStartIndex - $paramBlock = ($rawBicepExampleArray[$paramsStartIndex..$paramsEndIndex] | Out-String).TrimEnd() - } else { - $paramBlock = '' - $paramsEndIndex = $paramsStartIndex - } - - # [5/6] Convert Bicep parameter block to JSON parameter block to enable processing - $conversionInputObject = @{ - BicepParamBlock = $paramBlock - CurrentFilePath = $testFilePath - } - $paramsInJSONFormat = ConvertTo-FormattedJSONParameterObject @conversionInputObject - - # [6/6] Convert JSON parameters back to Bicep and order & format them - $conversionInputObject = @{ - JSONParameters = $paramsInJSONFormat - RequiredParametersList = $RequiredParametersList - } - $bicepExample = ConvertTo-FormattedBicep @conversionInputObject - - # --------------------- # - # Add Bicep example # - # --------------------- # - if ($addBicep) { - - if ([String]::IsNullOrEmpty($paramBlock)) { + # Checking if the test file is empty (possible for modules freshly generated by REST2CARML) + if ([String]::IsNullOrEmpty($rawContent)) { + Write-Warning ('The test file {0} is empty, skipping the file in the examples section' -f $testFilePath) + } else { + ## ----------------------------------- ## + ## Handle by type (Bicep vs. JSON) ## + ## ----------------------------------- ## + if ((Split-Path $testFilePath -Extension) -eq '.bicep') { + + # ------------------------- # + # Prepare Bicep to JSON # + # ------------------------- # + + # [1/6] Search for the relevant parameter start & end index + $bicepTestStartIndex = ($rawContentArray | Select-String ("^module testDeployment '..\/.*main.bicep' = {$") | ForEach-Object { $_.LineNumber - 1 })[0] + + $bicepTestEndIndex = $bicepTestStartIndex + do { + $bicepTestEndIndex++ + } while ($rawContentArray[$bicepTestEndIndex] -ne '}') + + $rawBicepExample = $rawContentArray[$bicepTestStartIndex..$bicepTestEndIndex] + + # [2/6] Replace placeholders + $serviceShort = ([regex]::Match($rawContent, "(?m)^param serviceShort string = '(.+)'\s*$")).Captures.Groups[1].Value + + $rawBicepExampleString = ($rawBicepExample | Out-String) + $rawBicepExampleString = $rawBicepExampleString -replace '\$\{serviceShort\}', $serviceShort + $rawBicepExampleString = $rawBicepExampleString -replace '\$\{namePrefix\}[-|\.|_]?', '' # Replacing with empty to not expose prefix and avoid potential deployment conflicts + $rawBicepExampleString = $rawBicepExampleString -replace '(?m):\s*location\s*$', ': ''''' + + # [3/6] Format header, remove scope property & any empty line + $rawBicepExample = $rawBicepExampleString -split '\n' + $rawBicepExample[0] = "module $moduleNameCamelCase './$fullModuleIdentifier/main.bicep' = {" + $rawBicepExample = $rawBicepExample | Where-Object { $_ -notmatch 'scope: *' } | Where-Object { -not [String]::IsNullOrEmpty($_) } + + # [4/6] Extract param block + $rawBicepExampleArray = $rawBicepExample -split '\n' + $moduleDeploymentPropertyIndent = ([regex]::Match($rawBicepExampleArray[1], '^(\s+).*')).Captures.Groups[1].Value.Length + $paramsStartIndex = ($rawBicepExampleArray | Select-String ("^[\s]{$moduleDeploymentPropertyIndent}params:[\s]*\{") | ForEach-Object { $_.LineNumber - 1 })[0] + 1 + if ($rawBicepExampleArray[$paramsStartIndex].Trim() -ne '}') { # Handle case where param block is empty - $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + $rawBicepExample[($paramsEndIndex)..($rawBicepExample.Count)] + $paramsEndIndex = ($rawBicepExampleArray[($paramsStartIndex + 1)..($rawBicepExampleArray.Count)] | Select-String "^[\s]{$moduleDeploymentPropertyIndent}\}" | ForEach-Object { $_.LineNumber - 1 })[0] + $paramsStartIndex + $paramBlock = ($rawBicepExampleArray[$paramsStartIndex..$paramsEndIndex] | Out-String).TrimEnd() } else { - $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + ($bicepExample -split '\n') + $rawBicepExample[($paramsEndIndex + 1)..($rawBicepExample.Count)] + $paramBlock = '' + $paramsEndIndex = $paramsStartIndex } - # Remove any dependsOn as it it test specific - if ($detected = ($formattedBicepExample | Select-String "^\s{$moduleDeploymentPropertyIndent}dependsOn:\s*\[\s*$" | ForEach-Object { $_.LineNumber - 1 })) { - $dependsOnStartIndex = $detected[0] - - # Find out where the 'dependsOn' ends - $dependsOnEndIndex = $dependsOnStartIndex - do { - $dependsOnEndIndex++ - } while ($formattedBicepExample[$dependsOnEndIndex] -notmatch '^\s*\]\s*$') - - # Cut the 'dependsOn' block out - $formattedBicepExample = $formattedBicepExample[0..($dependsOnStartIndex - 1)] + $formattedBicepExample[($dependsOnEndIndex + 1)..($formattedBicepExample.Count)] + # [5/6] Convert Bicep parameter block to JSON parameter block to enable processing + $conversionInputObject = @{ + BicepParamBlock = $paramBlock + CurrentFilePath = $testFilePath } + $paramsInJSONFormat = ConvertTo-FormattedJSONParameterObject @conversionInputObject - # Build result - $SectionContent += @( - '', - '
' - '' - 'via Bicep module' - '' - '```bicep', - ($formattedBicepExample | ForEach-Object { "$_" }).TrimEnd(), - '```', - '', - '
', - '

' - ) - } - - # -------------------- # - # Add JSON example # - # -------------------- # - if ($addJson) { - - # [1/2] Get all parameters from the parameter object and order them recursively - $orderingInputObject = @{ - ParametersJSON = $paramsInJSONFormat | ConvertTo-Json -Depth 99 + # [6/6] Convert JSON parameters back to Bicep and order & format them + $conversionInputObject = @{ + JSONParameters = $paramsInJSONFormat RequiredParametersList = $RequiredParametersList } - $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject - - # [2/2] Create the final content block - $SectionContent += @( - '', - '

' - '' - 'via JSON Parameter file' - '' - '```json', - $orderedJSONExample.Trim() - '```', - '', - '
', - '

' - ) - } - } else { - # ------------------------- # - # Prepare JSON to Bicep # - # ------------------------- # - - $rawContentHashtable = $rawContent | ConvertFrom-Json -Depth 99 -AsHashtable -NoEnumerate - - # First we need to check if we're dealing with classic JSON-Parameter file, or a deployment test file (which contains resource deployments & parameters) - $isParameterFile = $rawContentHashtable.'$schema' -like '*deploymentParameters*' - if (-not $isParameterFile) { - # Case 1: Uses deployment test file (instead of parameter file). - # [1/4] Need to extract parameters. The target is to get an object which 1:1 represents a classic JSON-Parameter file (aside from KeyVault references) - $testResource = $rawContentHashtable.resources | Where-Object { $_.name -like '*-test-*' } - - # [2/4] Build the full ARM-JSON parameter file - $jsonParameterContent = [ordered]@{ - '$schema' = 'https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#' - contentVersion = '1.0.0.0' - parameters = $testResource.properties.parameters - } - $jsonParameterContent = ($jsonParameterContent | ConvertTo-Json -Depth 99).TrimEnd() - - # [3/4] Remove 'externalResourceReferences' that are generated for Bicep's 'existing' resource references. Removing them will make the file more readable - $jsonParameterContentArray = $jsonParameterContent -split '\n' - foreach ($row in ($jsonParameterContentArray | Where-Object { $_ -like '*reference(extensionResourceId*' })) { - if ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+)\..*\].*"') { - # e.g. "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-diagnosticDependencies', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.logAnalyticsWorkspaceResourceId.value]" - # e.g. "[format('{0}', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-paramNested', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.managedIdentityResourceId.value)]": {} - $expectedValue = $matches[1] - } elseif ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+).*\].*"') { - # e.g. "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" - $expectedValue = $matches[1] + $bicepExample = ConvertTo-FormattedBicep @conversionInputObject + + # --------------------- # + # Add Bicep example # + # --------------------- # + if ($addBicep) { + + if ([String]::IsNullOrEmpty($paramBlock)) { + # Handle case where param block is empty + $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + $rawBicepExample[($paramsEndIndex)..($rawBicepExample.Count)] } else { - throw "Unhandled case [$row] in file [$testFilePath]" + $formattedBicepExample = $rawBicepExample[0..($paramsStartIndex - 1)] + ($bicepExample -split '\n') + $rawBicepExample[($paramsEndIndex + 1)..($rawBicepExample.Count)] } - $toReplaceValue = ([regex]::Match($row, '"(\[.+)"')).Captures.Groups[1].Value + # Remove any dependsOn as it it test specific + if ($detected = ($formattedBicepExample | Select-String "^\s{$moduleDeploymentPropertyIndent}dependsOn:\s*\[\s*$" | ForEach-Object { $_.LineNumber - 1 })) { + $dependsOnStartIndex = $detected[0] - $jsonParameterContent = $jsonParameterContent.Replace($toReplaceValue, ('<{0}>' -f $expectedValue)) - } + # Find out where the 'dependsOn' ends + $dependsOnEndIndex = $dependsOnStartIndex + do { + $dependsOnEndIndex++ + } while ($formattedBicepExample[$dependsOnEndIndex] -notmatch '^\s*\]\s*$') - # [4/4] Removing template specific functions - $jsonParameterContentArray = $jsonParameterContent -split '\n' - for ($index = 0; $index -lt $jsonParameterContentArray.Count; $index++) { - if ($jsonParameterContentArray[$index] -match '(\s*"value"): "\[.+\]"') { - # e.g. - # "policyAssignmentId": { - # "value": "[extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', format('dep-[[namePrefix]]-psa-{0}', parameters('serviceShort')))]" - $prefix = $matches[1] - - $headerIndex = $index - while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { - $headerIndex-- - } + # Cut the 'dependsOn' block out + $formattedBicepExample = $formattedBicepExample[0..($dependsOnStartIndex - 1)] + $formattedBicepExample[($dependsOnEndIndex + 1)..($formattedBicepExample.Count)] + } - $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() - $jsonParameterContentArray[$index] = ('{0}: "<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) - } elseif ($jsonParameterContentArray[$index] -match '(\s*)"([\w]+)": "\[.+\]"') { - # e.g. "name": "[format('{0}01', parameters('serviceShort'))]" - $jsonParameterContentArray[$index] = ('{0}"{1}": "<{1}>"{2}' -f $matches[1], $matches[2], ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) - } elseif ($jsonParameterContentArray[$index] -match '(\s*)"\[.+\]"') { - # -and $jsonParameterContentArray[$index - 1] -like '*"value"*') { - # e.g. - # "policyDefinitionReferenceIds": { - # "value": [ - # "[reference(subscriptionResourceId('Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" - $prefix = $matches[1] - - $headerIndex = $index - while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { - $headerIndex-- - } + # Build result + $SectionContent += @( + '', + '

' + '' + 'via Bicep module' + '' + '```bicep', + ($formattedBicepExample | ForEach-Object { "$_" }).TrimEnd(), + '```', + '', + '
', + '

' + ) + } - $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() + # -------------------- # + # Add JSON example # + # -------------------- # + if ($addJson) { - $jsonParameterContentArray[$index] = ('{0}"<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) + # [1/2] Get all parameters from the parameter object and order them recursively + $orderingInputObject = @{ + ParametersJSON = $paramsInJSONFormat | ConvertTo-Json -Depth 99 + RequiredParametersList = $RequiredParametersList } + $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject + + # [2/2] Create the final content block + $SectionContent += @( + '', + '

' + '' + 'via JSON Parameter file' + '' + '```json', + $orderedJSONExample.Trim() + '```', + '', + '
', + '

' + ) } - $jsonParameterContent = $jsonParameterContentArray | Out-String } else { - # Case 2: Uses ARM-JSON parameter file - $jsonParameterContent = $rawContent.TrimEnd() - } + # ------------------------- # + # Prepare JSON to Bicep # + # ------------------------- # + + $rawContentHashtable = $rawContent | ConvertFrom-Json -Depth 99 -AsHashtable -NoEnumerate + + # First we need to check if we're dealing with classic JSON-Parameter file, or a deployment test file (which contains resource deployments & parameters) + $isParameterFile = $rawContentHashtable.'$schema' -like '*deploymentParameters*' + if (-not $isParameterFile) { + # Case 1: Uses deployment test file (instead of parameter file). + # [1/4] Need to extract parameters. The target is to get an object which 1:1 represents a classic JSON-Parameter file (aside from KeyVault references) + $testResource = $rawContentHashtable.resources | Where-Object { $_.name -like '*-test-*' } + + # [2/4] Build the full ARM-JSON parameter file + $jsonParameterContent = [ordered]@{ + '$schema' = 'https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#' + contentVersion = '1.0.0.0' + parameters = $testResource.properties.parameters + } + $jsonParameterContent = ($jsonParameterContent | ConvertTo-Json -Depth 99).TrimEnd() + + # [3/4] Remove 'externalResourceReferences' that are generated for Bicep's 'existing' resource references. Removing them will make the file more readable + $jsonParameterContentArray = $jsonParameterContent -split '\n' + foreach ($row in ($jsonParameterContentArray | Where-Object { $_ -like '*reference(extensionResourceId*' })) { + if ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+)\..*\].*"') { + # e.g. "[reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-diagnosticDependencies', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.logAnalyticsWorkspaceResourceId.value]" + # e.g. "[format('{0}', reference(extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', subscription().subscriptionId, parameters('resourceGroupName')), 'Microsoft.Resources/deployments', format('{0}-paramNested', uniqueString(deployment().name, parameters('location')))), '2020-10-01').outputs.managedIdentityResourceId.value)]": {} + $expectedValue = $matches[1] + } elseif ($row -match '\[.*reference\(extensionResourceId.+\.([a-zA-Z]+).*\].*"') { + # e.g. "[reference(extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" + $expectedValue = $matches[1] + } else { + throw "Unhandled case [$row] in file [$testFilePath]" + } + + $toReplaceValue = ([regex]::Match($row, '"(\[.+)"')).Captures.Groups[1].Value - # --------------------- # - # Add Bicep example # - # --------------------- # - if ($addBicep) { - - # [1/5] Get all parameters from the parameter object - $JSONParametersHashTable = (ConvertFrom-Json $jsonParameterContent -AsHashtable -Depth 99).parameters - - # [2/5] Handle the special case of Key Vault secret references (that have a 'reference' instead of a 'value' property) - # [2.1] Find all references and split them into managable objects - $keyVaultReferences = $JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' } - - if ($keyVaultReferences.Count -gt 0) { - $keyVaultReferenceData = @() - foreach ($reference in $keyVaultReferences) { - $resourceIdElem = $JSONParametersHashTable[$reference].reference.keyVault.id -split '/' - $keyVaultReferenceData += @{ - subscriptionId = $resourceIdElem[2] - resourceGroupName = $resourceIdElem[4] - vaultName = $resourceIdElem[-1] - secretName = $JSONParametersHashTable[$reference].reference.secretName - parameterName = $reference + $jsonParameterContent = $jsonParameterContent.Replace($toReplaceValue, ('<{0}>' -f $expectedValue)) + } + + # [4/4] Removing template specific functions + $jsonParameterContentArray = $jsonParameterContent -split '\n' + for ($index = 0; $index -lt $jsonParameterContentArray.Count; $index++) { + if ($jsonParameterContentArray[$index] -match '(\s*"value"): "\[.+\]"') { + # e.g. + # "policyAssignmentId": { + # "value": "[extensionResourceId(managementGroup().id, 'Microsoft.Authorization/policyAssignments', format('dep-[[namePrefix]]-psa-{0}', parameters('serviceShort')))]" + $prefix = $matches[1] + + $headerIndex = $index + while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { + $headerIndex-- + } + + $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() + $jsonParameterContentArray[$index] = ('{0}: "<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) + } elseif ($jsonParameterContentArray[$index] -match '(\s*)"([\w]+)": "\[.+\]"') { + # e.g. "name": "[format('{0}01', parameters('serviceShort'))]" + $jsonParameterContentArray[$index] = ('{0}"{1}": "<{1}>"{2}' -f $matches[1], $matches[2], ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) + } elseif ($jsonParameterContentArray[$index] -match '(\s*)"\[.+\]"') { + # -and $jsonParameterContentArray[$index - 1] -like '*"value"*') { + # e.g. + # "policyDefinitionReferenceIds": { + # "value": [ + # "[reference(subscriptionResourceId('Microsoft.Authorization/policySetDefinitions', format('dep-[[namePrefix]]-polSet-{0}', parameters('serviceShort'))), '2021-06-01').policyDefinitions[0].policyDefinitionReferenceId]" + $prefix = $matches[1] + + $headerIndex = $index + while (($jsonParameterContentArray[$headerIndex] -notmatch '.+": (\{|\[)+' -or $jsonParameterContentArray[$headerIndex] -like '*"value"*') -and $headerIndex -gt -1) { + $headerIndex-- + } + + $value = (($jsonParameterContentArray[$headerIndex] -split ':')[0] -replace '"').Trim() + + $jsonParameterContentArray[$index] = ('{0}"<{1}>"{2}' -f $prefix, $value, ($jsonParameterContentArray[$index].Trim() -like '*,' ? ',' : '')) } } + $jsonParameterContent = $jsonParameterContentArray | Out-String + } else { + # Case 2: Uses ARM-JSON parameter file + $jsonParameterContent = $rawContent.TrimEnd() } - # [2.2] Remove any duplicates from the referenced key vaults and build 'existing' Key Vault references in Bicep format from them. - # Also, add a link to the corresponding Key Vault 'resource' to each identified Key Vault secret reference - $extendedKeyVaultReferences = @() - $counter = 0 - foreach ($reference in ($keyVaultReferenceData | Sort-Object -Property 'vaultName' -Unique)) { - $counter++ - $extendedKeyVaultReferences += @( - "resource kv$counter 'Microsoft.KeyVault/vaults@2019-09-01' existing = {", + # --------------------- # + # Add Bicep example # + # --------------------- # + if ($addBicep) { + + # [1/5] Get all parameters from the parameter object + $JSONParametersHashTable = (ConvertFrom-Json $jsonParameterContent -AsHashtable -Depth 99).parameters + + # [2/5] Handle the special case of Key Vault secret references (that have a 'reference' instead of a 'value' property) + # [2.1] Find all references and split them into managable objects + $keyVaultReferences = $JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' } + + if ($keyVaultReferences.Count -gt 0) { + $keyVaultReferenceData = @() + foreach ($reference in $keyVaultReferences) { + $resourceIdElem = $JSONParametersHashTable[$reference].reference.keyVault.id -split '/' + $keyVaultReferenceData += @{ + subscriptionId = $resourceIdElem[2] + resourceGroupName = $resourceIdElem[4] + vaultName = $resourceIdElem[-1] + secretName = $JSONParametersHashTable[$reference].reference.secretName + parameterName = $reference + } + } + } + + # [2.2] Remove any duplicates from the referenced key vaults and build 'existing' Key Vault references in Bicep format from them. + # Also, add a link to the corresponding Key Vault 'resource' to each identified Key Vault secret reference + $extendedKeyVaultReferences = @() + $counter = 0 + foreach ($reference in ($keyVaultReferenceData | Sort-Object -Property 'vaultName' -Unique)) { + $counter++ + $extendedKeyVaultReferences += @( + "resource kv$counter 'Microsoft.KeyVault/vaults@2019-09-01' existing = {", (" name: '{0}'" -f $reference.vaultName), (" scope: resourceGroup('{0}','{1}')" -f $reference.subscriptionId, $reference.resourceGroupName), - '}', - '' - ) + '}', + '' + ) - # Add attribute for later correct reference - $keyVaultReferenceData | Where-Object { $_.vaultName -eq $reference.vaultName } | ForEach-Object { - $_['vaultResourceReference'] = "kv$counter" + # Add attribute for later correct reference + $keyVaultReferenceData | Where-Object { $_.vaultName -eq $reference.vaultName } | ForEach-Object { + $_['vaultResourceReference'] = "kv$counter" + } } - } - # [3/5] Replace all 'references' with the link to one of the 'existing' Key Vault resources - foreach ($parameterName in ($JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' })) { - $matchingTuple = $keyVaultReferenceData | Where-Object { $_.parameterName -eq $parameterName } - $JSONParametersHashTable[$parameterName] = "{0}.getSecret('{1}')" -f $matchingTuple.vaultResourceReference, $matchingTuple.secretName - } + # [3/5] Replace all 'references' with the link to one of the 'existing' Key Vault resources + foreach ($parameterName in ($JSONParametersHashTable.Keys | Where-Object { $JSONParametersHashTable[$_].Keys -contains 'reference' })) { + $matchingTuple = $keyVaultReferenceData | Where-Object { $_.parameterName -eq $parameterName } + $JSONParametersHashTable[$parameterName] = "{0}.getSecret('{1}')" -f $matchingTuple.vaultResourceReference, $matchingTuple.secretName + } - # [4/5] Convert the JSON parameters to a Bicep parameters block - $conversionInputObject = @{ - JSONParameters = $JSONParametersHashTable - RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + # [4/5] Convert the JSON parameters to a Bicep parameters block + $conversionInputObject = @{ + JSONParameters = $JSONParametersHashTable + RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + } + $bicepExample = ConvertTo-FormattedBicep @conversionInputObject + + # [5/5] Create the final content block: That means + # - the 'existing' Key Vault resources + # - a 'module' header that mimics a module deployment + # - all parameters in Bicep format + $SectionContent += @( + '', + '

' + '' + 'via Bicep module' + '' + '```bicep', + $extendedKeyVaultReferences, + "module $moduleNameCamelCase 'ts/modules:$(($FullModuleIdentifier -replace '\\|\/', '.').ToLower()):1.0.0 = {" + " name: '`${uniqueString(deployment().name)}-$moduleNamePascalCase'" + ' params: {' + $bicepExample.TrimEnd(), + ' }' + '}' + '```', + '', + '
' + '

' + ) } - $bicepExample = ConvertTo-FormattedBicep @conversionInputObject - - # [5/5] Create the final content block: That means - # - the 'existing' Key Vault resources - # - a 'module' header that mimics a module deployment - # - all parameters in Bicep format - $SectionContent += @( - '', - '

' - '' - 'via Bicep module' - '' - '```bicep', - $extendedKeyVaultReferences, - "module $moduleNameCamelCase 'ts/modules:$(($FullModuleIdentifier -replace '\\|\/', '.').ToLower()):1.0.0 = {" - " name: '`${uniqueString(deployment().name)}-$moduleNamePascalCase'" - ' params: {' - $bicepExample.TrimEnd(), - ' }' - '}' - '```', - '', - '
' - '

' - ) - } - # -------------------- # - # Add JSON example # - # -------------------- # - if ($addJson) { + # -------------------- # + # Add JSON example # + # -------------------- # + if ($addJson) { - # [1/2] Get all parameters from the parameter object and order them recursively - $orderingInputObject = @{ - ParametersJSON = (($jsonParameterContent | ConvertFrom-Json).parameters | ConvertTo-Json -Depth 99) - RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + # [1/2] Get all parameters from the parameter object and order them recursively + $orderingInputObject = @{ + ParametersJSON = (($jsonParameterContent | ConvertFrom-Json).parameters | ConvertTo-Json -Depth 99) + RequiredParametersList = $null -ne $RequiredParametersList ? $RequiredParametersList : @() + } + $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject + + # [2/2] Create the final content block + $SectionContent += @( + '', + '

', + '', + 'via JSON Parameter file', + '', + '```json', + $orderedJSONExample.TrimEnd(), + '```', + '', + '
' + '

' + ) } - $orderedJSONExample = Build-OrderedJSONObject @orderingInputObject - - # [2/2] Create the final content block - $SectionContent += @( - '', - '

', - '', - 'via JSON Parameter file', - '', - '```json', - $orderedJSONExample.TrimEnd(), - '```', - '', - '
' - '

' - ) } } + + $SectionContent += @( '' )